HTTPS je skraćenica od Hyper text Transfer Protocol Secure i u suštini predstavlja kombinaciju standardnog HTTP protokola sa SSL/TLS protokolom kako bi se saobraćaj od klijenta do servera osigurao od špijuniranja i falsifikovanja.
What bre? Ukratko – saobraćaj između vas i veb servera nije u „plaintext“ formatu već je šifrovan – tako da ako recimo unosite u nekoj formi svoju adresu, broj telefona, broj kartice – niko između vas i sajta to neće moći tako lako upecati.

INFO: Ovaj tekst je napisan kad Let’s Encrypt nije bio u širokoj upotrebi (bio je u beta fazi). Sad je ovo sve automatizovano na velikom broju cPanel instanci.

Nigde nisam mogao da nađem neko bolje uputstvo za prebacivanje sajta (bilo kog sajta) sa HTTP-a na HTTPS preko cPanela…mislio sam da je to neka zajebana nauka čim se niko ne bavi time…ispostavilo se da nije.

U ovom tekstu ću vam pokazati kako da sami, bez ikakve pomoći ikoga instalirate na najlakši mogući način besplatni Let’s Encrypt SSL sertifikat koji je doduše još uvek u beta fazi – ali radi normalno…na jedan Vordpres sajt, u ovom primeru na moj lični sajt darkodrazovic.in.rs (sertifikat će biti validan 3 meseca pa ću ga deinstalirati 01/03/2016) preko cPanela i od „dodatne opreme“ će nam sem pristupa cPanel-u trebati i jedan besplatni CentOS pokrenut pod besplatnim VirtualBox-om…

Naravno, ako ne želite vi da se zajebavate sa ovim instalacijama i čudima ili vam se baš i ne radi produžavanje sertifikata svaka tri meseca možete sertifikate kupiti kod nekog ozbiljnijeg prodavca, kompanije Ninet recimo u koju imam puno poverenje i ljudi iz njihove tehničke podrške će vam sertifikat instalirati bez kapi znoja.

Dobre strane korišćenja Let’s Encrypt SSL sertifikata: Besplatan za bilo kakvu upotrebu, nisam primetio neke probleme sa njim
Loše strane korišćenja Let’s Encrypt SSL sertifikata: Još uvek je u beta fazi što znači da se mogu (ne mora da znači i da će ih biti) očekivati neki krahovi i sertifikat mora da se obnavlja svaka 3 meseca. Još jedna loša strana je za ljude koji nisu iz struke poprilično komplikovana procedura – što u principu ikome ozbiljnijem nije.

Korak 0: https://gethttpsforfree.com/

Sajt koji je koliko toliko automatizovao generisanje Let’s Encrypt sertifikata, tako da ne morate da instalirate klijent na svom računaru, već možete na ovom sajtu odraditi veliku većinu stvari. Prvi put će vam za izradu i instalaciju sertifikata trebati malo više vremena jer vam sve novo (ako niste ovo ranije radili) – ali je u principu to posao od 5 minuta. Dakle….startujemo virtualnu mašinu na kojoj je moj omiljeni CentOS 6 i kačimo se na nju preko PuTTY-ja kao root korisnik a sa svojim kompom odlazimo na veb adresu https://gethttpsforfree.com/ pa krećemo od…

Korak 1 – Account Info

  1. Unesite vašu imejl adresu
  2. Kliknite na link (how do I generate this?)
  3. Komande koje vam pišu dole – okinite na vašoj virtualnoj mašini preko PuTTY-ja…i ono što vam se ispiše iz druge komande…
  4. …kopipejstujte u Account Public Key i
  5. Kliknite na Validate Account Info…ako je sve ok ospisaće vam se poruka „Looks good! Proceed to Step 2!“

Korak 1

Korak 2 – CSR sa vašeg cPanel-a

Sad idem na cPanel da bih generisao CSR koji ću da prekopiram u polje iz koraka 2 sa gethttpsforfree.com…dakle….idem na darkodrazovic.in.rs/cPanel, logujem se, pa na SSL/TLS Manager pa na Certificate Signing Requests (CSR) i tu kliknem na Generate, view, or delete SSL certificate signing requests pa dole pod „Generate a New Certificate“ popunjavam domene na koje će se odnositi sertifikat (darkodrazovic.in.rs), City (Belgrade), State (Serbia), Country (RS – Serbia), Company (DarkoDrazovic.in.rs), Company Division (NA), Email (info@kompjuteras.som), Description (NA) i kad to popunim klikem na Generate

CSR

…a vrednost koju dobijam pod ENCODED CERTIFICATE kopiram…

CSR prekopirati

…pa pejstujem u korak dva na https://gethttpsforfree.com/ pa kliknem na VALIDATE CSR. Ako ste sve uradili kako treba, pisaće vam „Found Domains…..“

CSR Validiran

Korak 3 – API Request

U koraku 3 trebate bukvalno da u PuTTY-ju kojim ste se nakačili na virtualnu mašinu okinete komandu koja vam je navedena….i da ono što vam ona ispiše prekopirate u polje ispod komande….i tako 3 puta…pa kliknete na Validate Signatures

API

Ovako to treba da izgleda

Ovako to treba da izgleda

Korak 4 – Verify Ownership

Sad dolazite do dela kad treba da dokažete da ste vi vlasnik tog sajta….

  1. Kao u prethodnim koracima – u PuTTY-ju okinite komandu ispod „Run this signature….“ i to što dobijete preko PuTTY-ja prekopirajte u polje ispod
  2. Kliknite na „Option 2 – file-based“ pa
  3. Preko cPanel-a (ili nekog FTP klijenta) na lokaciju koja vam je navedena u polju „Under this url“ (moraćete da kreirate neke dodatne foldere) napravite fajl koji se zove kao na kraju urla – pa taj fajl editujte i u njega upišite ono što ti piše ispod „Serve this content“ pa sačuvajte…i kad sačuvate…
  4. Kliknite na „I’m now serving this file….“

Verify Ownership

Ako ste to pravilno odradili pisaće vam „Domain verified“

Domain verified

Korak 5 – Instalacija SSL sertifikata na cPanel

Prekopirate ono što vidite u polju „Signed Certificate“……

….pa odete na vaš cPanel, kliknete na „Generate, view, upload, or delete SSL certificate“

….pa tu, u polju „Paste your certificate below“ pejstujete ovo što ste gore kopirali…i kliknete na Save Certificate. Primetićete ispod ovoga što ste kopirali da se pojavio vaš sajt, podatak o tome koliko sertifikat važi i slično…

Ako je sve OK – dobićete poruku na cPanel-u da je sertifikat sačuvan

Sertifikat uspešno upload-ovan

Sad taj sačuvani sertifikat treba instalirati. Idite na vašem cPanel-u na „Install and Manage SSL for your site“ i kliknite na „Manage SSL sites“

…iz padajućeg menija izaberite domen na koji postavljate HTTPS pa kliknite na „Browse Certificates“…

Install SSL sertificate

…i izaberite sertifikat koji ste sačuvali (u ovom slučaju za domen darkodrazovic.in.rs) pa kliknite na „Use sertificate“

…pa se vratite na gethttpsforfree.com i ono što vam se nalazi u polju „Intermediate Certificate“ kopirajte….

….i pejstujte na vašem cPanel-u u polje „Certificate Authority Bundle (CA BUNDLE) i kliknite na Install Certificate

Dobićete poruku da je sertifikat uspešno instaliran – i time je vaš posao oko postavljanja SSL sertifikata završen

Sad idite na sajt za koji ste postavili https i isprobajte da li radi….videćete znak uzvičnika ako na stranici ima fotografija koje se vuku sa HTTP-a umesto sa HTTPS-a…ali ćemo to rešiti u sledećem koraku….

Izgled sajta pod HTTPS-om

Izmena linkova u Vordpresu

Sad treba da postavite da svi interni linkovi budu iza HTTPS-a kao i da svi dosadašnji likovi koje ste šerovali po društvenim mrežama budu „redirektovani“ na HTTPS. Prvo što treba da uradite jeste da izmenite fajl .htaccess koji se nalazi u root-u vašeg sajta i da mu dodate sledeće linije

<IfModule mod_rewrite.cmod_rewrite.c>gt;
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://vassajt.com/$1 [R,L]
</IfModule>

Dakle ovako izgleda u htaccess fajlu ta izmena, vezana za darkodrazovic.in.rs i posle čuvanja fajla….svi linkovi koji su išli na http://darko……in.rs/neki_link sad idu na https://darko…..in.rs/neki_link i na koji god interni link da kliknete na sajtu – vodiće vas na https

htaccess

Sad ostaje deo oko zamene svih http://darkodrazovic linkova u bazi. Pre bilo čega – napravite bekap MySQL baze (može preko cPanel-a).
Možda nije baš po pravilu službe, ali ja to reimenovanje linkova radim preko skripe skinute sa https://interconnectit.com koja se zove Search and Replace DB. Dakle, skinete poslednju verziju programa, upload-ujete taj zip na root sajta, raspakujete (u cPanel-u, desni klik i Extract) i reimenujete folder u nesto slabije prepoznatiljivo (ja sam ga reimenovao u aaaddd)…potom u svoj browser ukucavam: https://darkodrazovic.in.rs/aaaddd

  1. REPLACE stari url WITH novi url
  2. Dry Run – kako bih video gde će sve promene biti primenjene
  3. Live Run – kako bih reimenovao sve linkove sa starog na novi url

Kad se proces završi, možete odraditi isto za svaki slučaju i sa reimenovanje http://www.darkodrazovic u https://darkodrazovic možda se neki link od ranije vuče a da nije isti (dakle svi interni linkovi bi trebalo da budu ili https://sajt.com ili https://www.sajt.com).

Kad je ovaj posao završen, OBRIŠITE FOLDER (u ovom slučaju folder aaaddd), možda ćete morati da obrišete i keš (ako koristite neki WordPress dodatak za keširanje) i idite na sajt da vidite ima li i dalje znaka uzvičnika na URL-u. U našem slučaju nema.

Ispravan URL sajta

A ako kliknete na katanac imaćete kratak info da je vaša konekcija sa sajtom bezbedna

Sertifikat ispravan

Time je posao postavljanja SSL sertifikata završen za vaš blog ili sajt. Ne zaboravite samo, da Let’s Encrypt sertifikat sad, cenim dok ne izađe iz Public Beta faze, morate obnavljati svaka 3 meseca, tako da postavite sebi neki podsetnik, u Gugl kalendaru, ili šta već koristite kako podsetnik. Dakle sad, ako biste ostavili neki poverljivi podatak u nekoj formi tamo na sajtu – niko između veb servera i vas ne bi mogao da ga upeca….ako biste ostavili komentar na blogu, uljez bi samo video da ste uspostavili konekciju sa sajtom, ne i koji ste komentar ostavili, koju ste mejl adresu uneli i slično. Imajte u vidu da je Let’s Encrypt i dalje u beta fazi, kao i da sajt darkodrazovic.in.rs nije na dedicated/VPS-u pa se ne može uticati baš na sve.