Znáte to, je potřeba přesunout WordPress z jiného hostingu na druhý, rychle a bez zbytečné práce. K tomu skvěle poslouží plugin BackWPup. Díky němu vše proběhne vzdáleně a do počítače si nebudete muset stáhnout ani jediný soubor z FTP (pokud vše půjde hladce samozřejmě).
Pozor – článek předpokládá alespoň základní znalost FTP, MySQL klientů a WordPress.
Kroky
- Zabalit soubory a databázi do archivu
- Nahrát na cílový server
- Rozbalit soubory
- Přesun databáze
- Upravit konfigurační údaje
- Vyčištění, přesměrování a otestování
Co k tomu budeme potřebovat
- Plugin BackWPup
- FTP klient
- Databázový klient
Krok 1+2: Zabalení do archivu a nahrání na cílový server
Tyto 2 kroky udělá plugin BackWPup. Po nainstalování a aktivaci pluginu přidáme novou úlohu (v menu vybereme BackWPup->Add new job).
Záložka General
Jako první nastavte obecný export podle screenshotu níže.
Záložka Files
Přeskočte záložky Schedule a DB backup (ponechte výchozí nastavení) a rozklikněte záložku Files. Odškrtněte vše, co bude zaškrtnuto v excludes, typicky cache, backwpup a další – prostě chceme přenést kompletně všechno. Viz screenshot:
Záložka To: FTP
Záložka To: FTP se objeví po zakliknutí checkboxu na první záložce v sekci Job destination. Pokud se záložka neobjeví, zkuste uložit změny pomocí tlačítka Save changes a načíst stránku znovu.
Zde nastavíte FTP připojení nového serveru, kam chcete WordPress přenést.
Nastavte po vzoru screenshotu, ale s vlastními údaji.
Folder to store files in: Adresář kde bude WordPress běžet. Zjistíte ho tak, že se v FTP klientu doklikáte až do požadované složky a zkopírujete si adresu. Můžete nechat i prázdné, pokud vám FTP připojení směřuje přímo do cílového adresáře.
SSL-FTP connection: tohle je kvůli bezpečnosti, ale některé hostingy nemusí zabezpečené FTP podporovat. Pokud se tak stane, tuto možnost odškrtněte.
Uložte a nahoře se objeví lišta s hlášením o úspěchu. Klikněte na odkaz Run now a nechte v klidu proběhnout. Podle velikosti souborů může trvat i několik desítek minut.
Krok 3: Rozbalení
V FTP klientu si otevřete složku, kde má web běžet. Po dokončení nahrávání by v ní měl být ZIP soubor. Ten je potřeba rozbalit. K tomu použijeme následující PHP skript:
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); // Nazev souboru !!!!!!!!!!! vyplnte spravny nazev vaseho ZIP souboru !!!!!!!!!!!! $file = 'nazev-souboru.zip'; // Ziska absolutni cestu k ZIPu $path = pathinfo(realpath($file), PATHINFO_DIRNAME); $zip = new ZipArchive; $res = $zip->open($file); if ($res === TRUE) { // rozbali ZIP do stejneho adresare $zip->extractTo($path); $zip->close(); echo "Hotovo! $file rozbaleno do $path"; } else { echo "Chyba! Nemuzu otevrit $file"; }
Soubor si můžete stáhnou zabalený v archivu tady: rozbalit-zip.zip
V PHP souboru změňte název souboru na řádku 7 na celý název vašeho ZIP archivu. Soubor nahrajte na FTP a spusťte v prohlížeči. URL bude nějak takto: https://vasedomena.cz/rozbalit-zip.php. Případně pokud má WordPress běžet v adresáři, tak https://vasedomena.cz/cesta-k-adresari/rozbalit-zip.php.
Po rozbalení se vám vypíše hláška o úspěchu/neúspěchu, případně se vyhodí chyba.
Možné chyby
Chybí rozšíření ZIP – na serveru může chybět knihovna ZIP. Povolte ji, nebo kontaktujte svého administrátora/hosting, aby ji povolil.
Vyčerpané prostředky – pokud server vyhodí chybu 500, pravděpodobně je váš WordPress příliš velký, nemáte dostatek místa na hostingu, nebo je hosting málo výkonný. Pak bude potřeba navýšit parametry hostingu, nebo se vrátit k nahrávání přes FTP.
Krok 4: Přesunutí databáze
Databázi přesunujte vždy zvlášť. Ve svém databázovém klientu si vyexportujte celou databázi, stáhněte k sobě do PC a nahrajte na nový server. Z bezpečnostních důvodů neexportujte databázi v ZIP souboru, mohla by pak zůstat na serveru, odkud by si ji mohl někdo stáhnout.
utf8mb4
Pokud databáze při importu vyhodí chybu týkající se kódování utf8mb4, pak je verze databáze na novém serveru pravděpodobně nižší, než na původním. Databáze nepodporující toto kódování je už zastaralá a měla by být akualizována. S tím se obraťte na svého administrátora/hosting.
Pokud to z jakéhokoli důvodu nepůjde, jednoduše najděte v souboru SQL všechny výskyty „utf8mb4“ a nahraďte je prostým „utf8“. Stejně tak v konfiguračním souboru vašeho WordPressu: wp-config.php.
Krok 5: Úprava konfiguračního souboru
Upravte přístupy k databázi v konfiguračním souboru. Ten se nachází v hlavním adresáři WordPress a má název: wp-config.php. Přístupové údaje najdete pod MySQL settings.
Krok 6: Vyčištění, přesměrování a otestování
Smažte všechny soubory, které jste použili při kopírování. Jde o ZIP archiv, skript rozbalit-zip.php.
Přesměrujte DNS záznamy na nový hosting.
Otestujte.
Podělte se o zkušenosti
Bylo to snadné, narazili jste na problém? Dejte vědět do komentářů, abych mohl případně článek doplnit.
Wladass
09 Čvn, 2019 at 08:53Jsem rád, že jsi to dopsal. Parádní práce, díky 🙂