Professional Documents
Culture Documents
Kako Migrirati Svoj Sajt Na HTTPS
Kako Migrirati Svoj Sajt Na HTTPS
Google je pre desetak dana poslao cirkularni mail svim vlasnicima sajta u kojem stoji
obaveštenje da će, počev od oktobra 2017, Google Chrome praktično početi da “vrišti” ako na
sajtu imate bilo kakvo tekstualno polje a sajt se učitava preko HTTP protokola. Savetuje se,
naravno, da sajt prebacite na HTTPS protokol.
U ovom članku ćemo se pozabaviti time kako da to uradite.
Članak je prvenstveno namenjen korisnicima VestaCP hosting panela, ali ukoliko imate neki
drugi hosting panel na kome već znate kako da instalirate SSL, onda možete preskočiti prvi deo
i preći na drugi deo članka, a to je migracija sajta na HTTPS.
Ukoliko niste sigurni da li uopšte imate hosting panel, kontaktirajte vašu hosting tehničku
podršku, oni će Vam instalirati SSL, a zatim isto pređite na drugi deo članka.
Ukoliko sve prođe kako treba, VestaCP će vas obavestiti da su izmene uspešno sačuvane.
To znači da je SSL sertifikat uspešno instaliran, i da sada možemo preći na migraciju sajta na
HTTPS.
Skoro svaki CMS drži u bazi adresu sajta, iz raznoraznih razloga. Potrebno je dakle promeniti tu
adresu, i reći sajtu “više nisi na http, sad si na https”.
U WordPressu to možete učiniti u wp-admin -> Settings -> General (izmenite http u https u
poljima gde stoji adresa Vašeg sajta), ali to često to nije dovoljno, jer su WordPress, tema i
pluginovi zapisali adresu sajta (i mnoštvo linkova ka raznim stvarima na Vašem sajtu) na puno
mesta u bazi.
Stoga je najpametnije izmeniti sve linkove u bazi jednim potezom.
Za to će nam poslužiti Database Search and Replace Script in PHP skripta.
Popunite formular na sajtu i preuzmite skriptu.
Raspakujte .zip, i folder Search-Replace-DB-master uploadujte u public_html folder na
Vašem sajtu, tako da dobijete otprilike ovako poređane foldere na Vašem FTP-u:
U prvom polju, dakle, treba da unesete adresu Vašeg sajta. Obratite pažnju ovde, možda je Vaš
sajt na www. poddomenu, u tom slučaju unesite http://www.mojdomen (najlakši način da
proverite da li je sajt na www. poddomenu je da uđete na Vaš sajt, kliknete na neku podstranicu
i pogledate u address polju da li vidite www.)
U drugom polju unosite identično kao u prvom, samo dodate slovo s iza http, tako da piše
https://
Ukoliko koristite WordPress, login podaci za bazu će već biti popunjeni (skripta će ih pročitati iz
wp-config.php), u suprotnom morate uneti ime baze, username i password za bazu.
Skripta će u nekoliko narednih sekundi u celoj bazi izmeniti http://mojdomen u
https://mojdomen.
U retkim slučajevima, kada je baza prevelika, ova skripta neće uspeti da izvrši replace pre nego
što se desi PHP time-out – u tom slučaju će Vam skripta javiti da AJAX upit nije uspeo. Ako se
to desi, obratite se tehničkoj podršci, i recite im da preko SSH-a izvrše komandu:
php /home/putanja_do_sajta/Search-Replace-DB-master/srdb.cli.php -h localhost -n
IMEBAZE -u MYSQLUSER -p MYSQLPASS -s "http://mojdomen" -r "https://mojdomen"
(naravno, izmenite u ovoj komandi putanju do sajta, IMEBAZE, itd…)
Kada skripta završi posao, OBAVEZNO obršite iz FTP-a folder Search-Replace-DB-master (u
protivnom će neko drugi pristupiti ovoj skripti i hakovaće Vam sajt)
Time smo u celoj bazi izmenili adresu sajta.
Ukoliko na WordPress-u koristite neke pluginove za caching (poput W3 Total Cache), otvorite
Setting tog plugina i kliknite na dugme “Clear/empty all caches”.
Da biste proverili da li morate neki fajl da izmenite, učitajte sada Vaš sajt preko https:// protokola
(prosto iz browsera otvorite https://mojdomen.com/ ).
Ako Vaš sajt uredno pokazuje zeleni katančić ispred adrese Vašeg sajta – onda vrlo verovatno
ne morate nijedan fajl da menjate.
Ukoliko pak umesto zelenog katančića ugledate katančić sa žutim znakom upozorenja,
verovatno se neke slike, CSS ili javascript fajlovi učitavaju i dalje sa http umesto sa https.
Ovo ne mora nužno da znači da su ti fajlovi sa Vašeg sajta, ponekad koristimo resurse i sa tuđih
sajtova – ali je putanja do njih (URL) svakako upisan NEGDE na Vašem sajtu – ili u bazi ili u
fajlovima.
Da biste videli šta se to tačno učitava sa http, pritisnite na tastaturi F12, kliknite na C
onsole, i
videćete tačno šta se to učitava sa http.
Ti linkovi (koje treba da prebacite na https) su verovatno u templejtu, ALI, postoji šansa da su i
u bazi, pa ćete možda da se vratite na prethodni korak i da u bazi replace-ujete http://nekisajt u
https://nekisajt
Ako pak ustanovite da ti linkovi nisu u bazi, onda su sigurno u nekom fajlu.
Sve što treba da uradite je da pronađete fajlove koji sadrži http link, otvorite te fajlove iz
tekstualnog editora, i izmenite http:// u https://
Najpre proverite template, često su tu statički uneti linkovi do slika ili CSS/JS fajlova.
U najgorem slučaju, ako ne možete da nađete te fajlove, skinite ceo sajt preko FTP-a, pa uz
pomoć Total Commandera odite na Search, pretražite * fajlove, i u “Find text” polju unesite taj
nesretni http link.
Ukoliko ste administrator servera ili imate SSH pristup hostingu, možete sledećom komandom
da uradite search i replace:
find /home/putanja_do_sajta/ -type f -exec sed -i
's#http://nekidomen#https://nekidomen#g' {} \;
U najgorem slučaju, ako ste već proverili da taj nesretni link nije u bazi, i ne uspevate da locirate
fajl koji sadrži taj link – zamolite tehničku podršku da izvrši komandu koju smo napisali u
prethodnoj rečenici.
Preko FTP-a otvorite .htaccess fajl i na samom početku fajla, dakle u prvoj liniji fajla, dodajte
sledeće:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_USER_AGENT} !(Windows\ NT\ 5.1|Windows\ NT\ 5.2) [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]