Je stari strežnik počasen, je podaljšanje postalo drago ali si preprosto prerasel svoj paket? Selitev se na prvi pogled zdi strašljiva, a če jo dobro pripraviš, je obiskovalci sploh ne opazijo. V tem vodniku gremo po vrsti skozi korake od načrtovanja do odpovedi stare storitve: kaj je treba shraniti, kako preneseš datoteke in podatkovno bazo, kdaj preklopiš DNS in kako se izogneš izgubi e-pošte.
Če novo mesto še iščeš, med našimi paketi gostovanja najdeš vse od spletnega gostovanja do gostovanja cPanel in WordPress gostovanja. Če pa vsega tega ne želiš narediti sam, na koncu članka opišemo, kako tvojo spletno stran brezplačno preselimo mi.
1. Načrtovanje in časovni razpored
Najpomembnejši del selitve je tisto, kar se zgodi pred kopiranjem. Vnaprej se odloči:
- Kaj seliš? Le spletno stran ali tudi e-pošto? Registracija domene lahko ostane na starem mestu, za menjavo gostovanja domene ni treba prenesti.
- Kdaj? Izberi obdobje z malo prometa (pri spletni trgovini na primer noč med tednom) in je ne načrtuj za čas kampanje ali akcije.
- Kdo ima dostop do česa? Potreboval boš nadzorno ploščo ali dostop FTP do starega gostovanja, podatke podatkovne baze in upravljanje nastavitev DNS domene (pri registrarju ali tam, kjer je cona DNS).
- Kako dolgo še velja stara naročnina? Pusti si rezervo: staro gostovanje naj po selitvi ostane še vsaj nekaj dni, raje en do dva tedna.
Pri spletni trgovini ali pogosto posodobljeni strani je vredno med selitvijo zamrzniti vsebino: dokler so podatki na poti, naj ne pride nova objava in, če je mogoče, tudi ne naročilo. Sicer bodo podatki, nastali na starem strežniku, na novem mestu manjkali.
2. Popis: kaj vse preneseš?
Zapiši, kaj teče na starem gostovanju. Mnogi pomislijo le na datoteke spletne strani, po selitvi pa se izkaže, da je nekaj ostalo zadaj.
- Datoteke: celotna mapa spletne strani, skupaj s skritimi datotekami (na primer
.htaccess,.user.ini). - Podatkovne baze: vse, ki jih uporablja spletna stran, z uporabniškimi imeni in pravicami.
- E-pošta: seznam poštnih predalov, njihova velikost, preusmeritve, samodejni odgovori in poštni seznami.
- Zapisi DNS: zapisi A, AAAA, CNAME, MX in TXT, med njimi SPF, DKIM in DMARC, ter zapisi za preverjanje zunanjih storitev (Google, Microsoft 365, pošiljatelj e-novic). Naredi posnetek zaslona ali izvoz celotne cone.
- Načrtovana opravila (cron): spletne trgovine in pošiljatelji e-novic pogosto temeljijo na njih.
- Potrdilo SSL: brezplačno Let’s Encrypt ali plačljivo? Pri plačljivem potrdilu si zapomni tudi datum izteka in zasebni ključ.
- Druge nastavitve: različica PHP in parametri PHP, preusmeritve, mape, zaščitene z geslom, poddomene.
3. Vnaprejšnje znižanje TTL
Imenski strežniki po svetu zapise DNS nekaj časa hranijo v predpomnilniku; ta čas določa vrednost TTL zapisa. Če je TTL zapisa A en dan, lahko del obiskovalcev po spremembi še do en dan prihaja na stari strežnik.
Zato vsaj dan pred selitvijo (natančneje: več kot trenutni TTL prej) TTL zapisov, ki jih boš spreminjal, predvsem zapisa A in MX, znižaj na 300 sekund. Tako ob preklopu v nekaj minutah vsi vidijo novi strežnik. Po selitvi ga lahko vrneš na običajno vrednost.
Če ne spreminjaš zapisov, temveč menjaš imenske strežnike, s TTL pridobiš manj: vpis imenskih strežnikov hrani register domenske končnice, njegova osvežitev pa ne glede na to lahko traja ure, celo dan ali dva. O tem podrobno piše naš članek o razširjanju DNS, pri izbiri med obema metodama pa pomaga članek, ki primerja zapis A in menjavo imenskih strežnikov.
4. Celotna varnostna kopija
Preden se česar koli dotakneš, naredi celotno varnostno kopijo starega gostovanja in jo shrani na svoj računalnik ali v shrambo v oblaku. Ta ostane tvoje izhodišče, tudi če gre med selitvijo kaj narobe ali če stari ponudnik račun izklopi prej, kot si pričakoval.
Na gostovanju cPanel varnostna kopija celotnega računa datoteke, podatkovne baze in e-pošto zapakira v eno samo datoteko; v drugih vmesnikih datoteke in podatkovno bazo shraniš posebej. Metode varnostnega kopiranja podrobno opisuje naš vodnik o varnostnih kopijah.
5. Prenos datotek
Datoteke lahko preneseš na tri načine:
- FTP ali SFTP: s programom FTP (FileZilla, WinSCP) jih preneseš s starega gostovanja in naložiš na novo. Če lahko, uporabi šifrirano povezavo (SFTP ali FTP s TLS); podrobnosti so v našem vodniku za FTP.
- Upravitelj datotek in stiskanje: pri veliko majhnih datotekah (pri WordPressu jih je lahko več deset tisoč) je hitreje, če mapo v upravitelju datotek starega gostovanja stisneš v ZIP, preneseš kot eno datoteko in jo na novem mestu razpakiraš.
- rsync prek SSH: če je SSH na obeh straneh, je to najhitrejše in najzanesljivejše, ob drugem zagonu pa kopira le datoteke, ki so se medtem spremenile:
rsync -avz -e ssh felhasznalo@regi-szerver.hu:public_html/ ~/public_html/
Uporabo rsync in scp prikazuje članek o kopiranju datotek med strežniki. Pazi, da datoteke na novem gostovanju pridejo v korensko mapo domene (ta je pri vsakem ponudniku drugačna: public_html, www, htdocs) in da se prenesejo tudi skrite datoteke.
6. Izvoz in uvoz podatkovne baze
Podatkovno bazo na starem gostovanju izvoziš v datoteko .sql, na novem ustvariš prazno podatkovno bazo z uporabnikom in vanjo uvoziš datoteko.
S phpMyAdminom: izberi podatkovno bazo, na zavihku Izvozi jo shrani v obliki SQL, nato jo v phpMyAdminu novega gostovanja naloži na zavihku Uvozi. O uporabi vmesnika govori naš vodnik za phpMyAdmin. Pri večji podatkovni bazi lahko težave povzroči omejitev nalaganja; v tem primeru izvozi stisnjeno (.sql.gz) ali uporabi ukazno vrstico.
Iz ukazne vrstice (mysqldump):
mysqldump -u felhasznalo -p --single-transaction --default-character-set=utf8mb4 adatbazis > mentes.sql
mysql -u uj_felhasznalo -p uj_adatbazis < mentes.sql
Stikalo --single-transaction izdela konsistentno varnostno kopijo, ne da bi medtem zaklenilo tabele, nabor znakov utf8mb4 pa ohrani šumnike in emojije. Po uvozu poglej v nekaj tabel in preveri, ali so besedila s šumniki v redu.
7. Posodobitev nastavitev
Na novem gostovanju bodo ime podatkovne baze, uporabnik in geslo skoraj zagotovo drugačni, zato jih moraš spremeniti v konfiguraciji spletne strani. Pri WordPressu je to datoteka wp-config.php:
define( 'DB_NAME', 'uj_adatbazis' );
define( 'DB_USER', 'uj_felhasznalo' );
define( 'DB_PASSWORD', 'eros-jelszo' );
define( 'DB_HOST', 'localhost' );
V drugih sistemih iste podatke hrani configuration.php (Joomla), .env (Laravel) ali podobna datoteka. Če spletna stran uporablja absolutne poti (na primer /home/regifelhasznalo/public_html/), jih tudi prilagodi novemu strežniku.
Če se spremeni tudi domena (ali na primer preklopiš s http:// na https://), je treba pri WordPressu stari naslov zamenjati tudi v podatkovni bazi. Tega ne delaj s preprostim SQL ali urejevalnikom besedila, ker WordPress del nastavitev hrani v serializirani obliki in pokvarjena dolžina lahko uniči gradnike in nastavitve predloge. WP-CLI to obravnava pravilno; najprej s poskusnim zagonom preveri, kaj bi se spremenilo:
wp search-replace 'https://regi-domain.hu' 'https://uj-domain.hu' --all-tables --dry-run
Brez SSH isto naredi vtičnik, narejen za to (na primer Better Search Replace). Če se domena ne spremeni, to ni potrebno. O drugih prijemih pri selitvi WordPressa, na primer o vtičnikih za selitev, piše naš vodnik za selitev WordPressa, korake selitve k aWh pa povzema članek o selitvi strani WordPress k aWh.
8. Testiranje pred preklopom DNS
Preden obiskovalce preusmeriš, si oglej stran na novem strežniku. Najpreprostejša metoda je datoteka hosts: v njej lahko določiš, da tvoj računalnik za domeno uporablja naslov IP novega strežnika, medtem ko vsi drugi še vidijo starega. Dodaj to vrstico (s svojim naslovom IP in domeno):
203.0.113.10 cegnev.hu www.cegnev.hu
Datoteka je v Windows na poti C:\Windows\System32\drivers\etc\hosts, v macOS in Linuxu pa na poti /etc/hosts; urejaš jo s skrbniškimi pravicami. Po shranjevanju je vredno izprazniti predpomnilnik brskalnika ali odpreti zasebno okno.
Kaj preveriti med testiranjem?
- domača stran in nekaj podstrani se naložijo, slike se prikažejo;
- prijava v skrbniški vmesnik deluje;
- kontaktni obrazec pošlje sporočilo;
- pri spletni trgovini košarica in plačilo v testnem načinu stečeta do konca;
- ni sporočil o napakah PHP (če so, je vzrok verjetno različica PHP ali manjkajoča razširitev).
Po testu ne pozabi odstraniti vrstice iz datoteke hosts, sicer pozneje sam ne boš videl sprememb. Med testiranjem lahko potrdilo SSL še javlja napako, ker lahko Let’s Encrypt na novem strežniku izda potrdilo šele, ko domena že kaže tja; to takrat ni težava.
9. Preklop DNS ali imenskih strežnikov
Če je vse v redu, lahko preklopiš. Poti sta dve:
- Sprememba zapisov: cona DNS ostane na sedanjem mestu, le spletna stran (in če se seli tudi e-pošta, zapis MX) kaže na novi strežnik. Hitro je, tu pa se uveljavi tudi znižanje TTL.
- Menjava imenskih strežnikov: celotna cona DNS gre k novemu ponudniku. V tem primeru najprej na novem mestu nastavi iste zapise, ki si jih zapisal v popisu (zlasti zapise MX, SPF, DKIM in TXT zunanjih storitev), in šele nato spremeni imenske strežnike.
O varnem postopku menjave imenskih strežnikov govori ločen vodnik. Če bi tudi domeno prenesel k drugemu registrarju, je to vredno urediti posebej, po koncu selitve gostovanja; postopek opisuje članek o prenosu domene.
10. SSL na novem gostovanju
Takoj ko domena kaže na novi strežnik, vklopi potrdilo. Na gostovanju cPanel ga AutoSSL izda sam, na spletnem gostovanju s KeyHelp pa ga je treba vklopiti za vsako domeno; korake prikazuje članek o vklopu potrdila Let’s Encrypt na spletnem gostovanju. Potrdilo je običajno pripravljeno v pol ure.
Pri plačljivem potrdilu imaš dve možnosti: na novo mesto namestiš potrdilo in zasebni ključ, izvožena s starega strežnika, ali pa potrdilo z novim CSR znova izdaš. Če se med preklopom in SSL za kratek čas prikaže sporočilo o napaki, je to iz zgornjega razloga pričakovano; če traja še po več urah, preveri, ali domena res kaže na novi strežnik.
11. Selitev e-pošte
E-pošta je najobčutljivejši del selitve, saj se sporočila, shranjena v starih poštnih predalih, z DNS ne prenesejo sama.
- Ustvari poštne predale na novem gostovanju z istimi naslovi, po možnosti s starimi gesli, da morajo uporabniki manj nastavljati.
- Sinhroniziraj sporočila prek IMAP. Najzanesljivejše orodje je imapsync, ki med dvema strežnikoma IMAP kopira skupaj s strukturo map in oznakami prebrano/neprebrano:
imapsync --host1 mail.regi-szolgaltato.hu --user1 info@cegnev.hu --password1 'regi-jelszo' \
--host2 mail.uj-szolgaltato.hu --user2 info@cegnev.hu --password2 'uj-jelszo' \
--ssl1 --ssl2
- Preusmeri zapis MX na novi strežnik.
- Sinhronizacijo zaženi znova čez dan ali dva: tako prenese tudi sporočila, ki so med prehodom še prišla na stari strežnik.
- Poštne programe in telefone preusmeri na podatke novega strežnika (dohodni IMAP, odhodni SMTP, vrata, šifriranje).
Če je račun deloval s POP3 in so sporočila le na uporabnikovem računalniku, jih je treba iz poštnega programa naložiti v novi račun IMAP. Celoten postopek, skupaj z imenikom in koledarjem, podrobno opisuje naš vodnik za selitev e-pošte.
12. Preverjanje po selitvi
V prvih dneh spremljaj stran:
- s spletnim preverjevalnikom DNS preveri, ali domena z različnih koncev sveta že vrača novi naslov IP;
- pošlji in prejmi sporočilo z zunanjega naslova (na primer iz Gmaila) v obe smeri;
- preglej dnevnik napak strežnika in poročila Google Search Console, ali ni porasta napak 404 ali 500;
- preveri, ali se opravila cron izvajajo in ali sporočila spletne strani (potrditev naročila, ponastavitev gesla) prihajajo;
- izmeri hitrost nalaganja: če je na novem strežniku počasnejša, so morda izostali predpomnjenje ali nastavitve PHP;
- če si TTL znižal, ga vrni na običajno vrednost.
13. Odpoved stare storitve
Staro gostovanje odpovej šele, ko vse deluje in je od preklopa DNS minilo vsaj nekaj dni. Pred tem:
- zaženi zadnjo sinhronizacijo pošte in preveri, ali v stare poštne predale ni prišlo novo sporočilo;
- prenesi zadnjo celotno varnostno kopijo in jo nekaj časa hrani;
- preveri odpovedni rok stare pogodbe in datum podaljšanja, da ti ne zaračunajo nove pristojbine.
O opravilih ob odpovedi govori vodnik za odpoved pogodbe o gostovanju. Če si za selitev komu dal podatke za prijavo v staro gostovanje, na koncu zamenjaj gesla.
Pogoste napake pri selitvi
- Prezgodnja odpoved starega gostovanja. Če se DNS še ni povsod osvežil ali se izkaže, da je ostala zadaj podatkovna baza, je ni od kod nadomestiti.
- Pozabljeni zapisi DNS. Po menjavi imenskih strežnikov zaradi manjkajočega zapisa MX ali TXT pošta ne prihaja ali se ustavi zunanja storitev.
- Izpuščene skrite datoteke. Zaradi manjkajočega
.htaccesslepi URL-ji ne delujejo in vsaka podstran vrne napako 404. - Pokvarjeno kodiranje znakov. Pri podatkovni bazi, izvoženi z napačno nastavitvijo, se namesto šumnikov prikažejo čudni znaki.
- Ročno iskanje in zamenjava v podatkovni bazi WordPress. Zaradi poškodbe serializiranih podatkov izginejo gradniki in nastavitve predloge.
- Drugačna različica PHP. Vtičnik, napisan za starejši PHP, na novejši različici vrže napako; pred selitvijo preveri, na kateri različici teče stara stran in kaj podpira novo gostovanje.
- Selitev v prometnem obdobju. Če medtem na stari strežnik prihajajo naročila ali komentarji, se izgubijo.
Brezplačna selitev pri aWh
Če zgornjih korakov ne želiš opraviti sam, vsem našim paketom gostovanja pripada brezplačna selitev, z minimalnim ali celo ničelnim izpadom:
- Naroči novo gostovanje. Izberi paket, ki ustreza tvoji spletni strani.
- Odpri zahtevek za podporo na portalu za stranke in navedi podatke za prijavo v staro gostovanje.
- Datoteke, podatkovne baze in e-pošto prenesemo mi.
Če ima tudi tvoj stari ponudnik cPanel in pri nas izbereš gostovanje cPanel, celoten račun (datoteke, podatkovne baze, e-pošto, preusmeritve) preselimo v enem koraku. Iz drugih vmesnikov datoteke kopiramo prek FTP (ali SSH, če je na voljo), podatkovne baze pa posebej shranimo in naložimo. Selitev je običajno hitro končana; pri veliki ali zapleteni strani ali če stari strežnik dovoljuje le počasen prenos podatkov lahko traja tudi nekaj dni. Zahtevaš lahko tudi točen čas začetka ali selitev zunaj delovnega časa. Podrobnosti opisuje naš članek o selitvi gostovanja.
Če imaš pred selitvijo vprašanje, nam piši in pomagali ti bomo izbrati pravi paket.
Pogosta vprašanja
Koliko časa traja selitev spletne strani?
Prenos manjše predstavitvene strani je ura ali dve dela, preklop DNS pa glede na TTL traja od nekaj minut do dneva ali dveh. Pri veliki spletni trgovini ali veliko pošte traja dlje tudi kopiranje, zato je tam vredno načrtovati vnaprej.
Ali moja spletna stran med selitvijo ne bo delovala?
Pri dobro pripravljeni selitvi ne: stara stran deluje, dokler DNS ne preklopi, nova pa je do takrat pripravljena in preizkušena. Kratek izpad lahko povzroči kvečjemu čas do izdaje SSL ali izpuščena nastavitev.
Ali moram prenesti tudi domeno?
Ne. Domena lahko ostane pri starem registrarju, le DNS je treba usmeriti na novo gostovanje. Prenos domene je ločen postopek, ki ga lahko urediš tudi pozneje.
Ali se bo moja e-pošta izgubila, če se preselim na drugo gostovanje?
Ne, če vsebino poštnih predalov preneseš s sinhronizacijo IMAP in po preusmeritvi zapisa MX sinhronizacijo zaženeš še enkrat. Stare račune ukini šele po tem.