Jakákoli migrace webových stránek je považována za jednu z nejobtížnějších operací. Naštěstí WordPress poskytuje nepřeberné množství zálohovacích pluginů, které pomáhají a automatizují celý proces zálohování a migrace. WordPress je však konstruován tak, že ruční migrace WordPress nemůže být jednodušší.
V tomto tutoriálu vám ukážu, jakmigrovat web WordPress ručně na nového hostitele nebo server. To je zvláště užitečné, pokud je web hostován na serveru s nedostatečnými zdroji pro aktivaci záložního pluginu. Zásuvné moduly obvykle vyžadují minimální množství prostředků k provedení zálohování webu a migrace na jiný server. Připravil jsem seznam záložních pluginů pro WordPress. Pokud je tedy váš server v pořádku a má dostatečné zdroje, doporučuji vám nainstalovat záložní plugin pro migraci WordPress.
Začněme proces.
Předpoklady –
Odhadovaná doba čtení:8 minut
- Přístup SSH k oběma serverům
Zálohujte WordPress
Každý web WordPress se skládá ze tří hlavních komponent:základních souborů WordPress, uživatelských souborů (tj. wp-content
adresář) a databáze WordPress. Pokud není upravena verze WordPress, základní soubory se nemění. wp-content
a databáze se naopak mění na denní nebo dokonce hodinové bázi v závislosti na návštěvnosti webu. Pokud pravidelně vytváříte nový obsah, každý den se nahrávají nové obrázky, videa a text, čímž se zvyšuje počet souborů na serveru a velikost databáze.
Prvním krokem je komprimace wp-content
za účelem zmenšení jeho velikosti a rychlého přenosu na nový server. Za druhé, exportujte databázi WordPress, komprimujte ji s uživatelskými soubory a připravte ji na migraci.
wp-content
wp-content
je podadresář adresáře WordPress. Ukládá všechna data, která uživatel nahrál, jako jsou motivy, pluginy, přílohy, fotografie, videa a tak dále. Pokud správce webu nenakonfiguruje CMS tak, aby to udělal, většina webů WordPress nenahrává uživatelský obsah do žádného jiného adresáře. Pokud používáte silně přizpůsobené téma, vytvořte si zálohu adresářů, které obsahují data relevantní pro strukturu vašeho vlastního webu.
Mnoho zálohovacích pluginů ukládá záložní soubory jinam než wp-content
. Pokud tedy chcete migrovat uložené záložní soubory na nový server, zahrňte je také do archivu; případně si je stáhněte a uložte na bezpečné místo. Přidání uložených záložních souborů může výrazně zvětšit velikost celé zálohy, proto si je prosím stáhněte lokálně, je-li to možné.
.htaccess
.htaccess
file je konfigurační soubor, který umožňuje uživatelům konfigurovat odlišná nastavení pro každý adresář. WordPress hostuje několik .htaccess
soubory, z nichž hlavní je umístěn v kořenovém adresáři WordPress.
Zálohujte soubor .htaccess
protože obsahuje užitečná konfigurační nastavení nastavená nainstalovanými zásuvnými moduly, jako je firewall a zásuvné moduly mezipaměti.
wp-config.php
wp-config.php
je konfigurační soubor WordPress, který obsahuje nejdůležitější informace pro fungování WordPressu. Soubor wp-config.php
poskytuje informace o připojení k databázi. Soubor wp-config.php
soubor může také mimo jiné přepsat limity PHP stanovené serverem. Pokud migrujete svůj web na nového hostitele, nezapomeňte zkopírovat wp-config.php
spolu s ostatními soubory na nový server.
Databáze WordPress
Při vytváření nového webu nebo přenosu starého se ujistěte, že je databáze pro daný web správně nakonfigurována. Jak již bylo uvedeno, wp-config.php
obsahuje informace o databázi, jako je název databáze, uživatel databáze (s úplným přístupem k databázi) a heslo uživatele.
Abychom mohli efektivně migrovat WordPress, musíme exportovat celou databázi ze starého serveru a připravit ji pro přenos na nového hostitele.
Ruční migrace WordPressu na nového hostitele
Pro účely této ukázky budu předpokládat, že IP našeho starého hostitelského serveru je 192.168.29.5
a IP našeho nového hostitelského serveru je 192.168.57.8
.
Za prvé, pojďme ssh na náš starý server –
ssh [email protected]
Pokud je port ssh vašeho serveru jiný než 22, použijte -p
možnost následovaná číslem portu.
ssh -p port_number [email protected]
Exportovat databázi
Prvním krokem je export databáze. Pokud vaše webové stránky zaznamenají vysoký objem provozu, můžete je buď dát do údržby, nebo přesměrovat návštěvníky na záložní server. WordPress neustále zapisuje data do databáze a větší weby mohou během procesu exportu databáze zaznamenat zpomalení.
Jakmile budete připraveni, použijte následující příkaz k místnímu výpisu celé databáze –
mkdir $HOME/site-backup
cd $HOME/site-backup
mysqldump -u root -p wordpress_database > wp_database.sql
Změňte databázi wordpress s názvem databáze WordPress. Stiskněte enter a zadejte heslo root MySQL. Nyní se posaďte a relaxujte. V závislosti na velikosti databáze může tento proces chvíli trvat. Netiskněte + C během procesu.
Po dokončení procesu budete mít wp_database.sql
soubor v pracovním adresáři, tj. site-backup.
Záloha wp-content, wp-config.php a .htaccess
Nyní je čas zálohovat uživatelské soubory. Jak již bylo uvedeno, předpokládám, že váš WordPress používá standardní témata WordPress spíše než vysoce přizpůsobená nebo vlastní témata. Pokud používáte vlastní témata, zahrňte prosím příslušné adresáře do následujícího příkazu.
Přejděte do kořenového adresáře WordPress a spusťte následující příkaz –
$ tar -czf website-content.tar.gz /path-to-wordpress/wp-content/ path-to-wordpress/wp-config.php path-to-wordpress/.htaccess
Nyní se posaďte a odpočiňte si. Podívejte se, jak snadné je migrovat web. Můžete se uvolnit dvakrát!
Po zkomprimování souborů přesuňte komprimovaný soubor do výše zmíněného site-backup
adresář.
mv website-content.tar.gz $HOME/site-backup/
Máme komprimovanou databázi webu, uživatelská data WordPress a přizpůsobení v našem $HOME/site-backup/
adresář. Nyní zkomprimujte celý adresář site-backup, aby jej bylo možné snadno přenést na nový server.
tar -zcvf site-backup.tar.gz $HOME/site-backup/
Nyní máte úplnou zálohu svého webu WordPress. Tuto zálohu si můžete buď stáhnout lokálně a přesunout na nový server, nebo můžete použít rsync
přenést jej přímo na nový server.
Pojďme si tuto zálohu stáhnout přímo na nový server.
SSH na nový server –
ssh [email protected]192.168.57.8
Ke stažení záložního souboru použijte rsync –
rsync [email protected]192.168.29.5:/home/site-backup.tar.gz .
Tečka na konci výše uvedeného příkazu je cílový adresář, tj. aktuální pracovní adresář.
Zadejte heslo uživatele root a počkejte na dokončení stahování.
Instalovat WordPress na nového hostitele
Nyní, když máme zálohovaná data na novém serveru, můžeme nastavit nový web WordPress a importovat všechna naše data na tento web.
Vytvořit databázi pro nový web
Přihlaste se do příkazového řádku mysql a pomocí následujících příkazů vytvořte novou databázi, nového uživatele a udělte novému uživateli všechna oprávnění k databázi WordPress.
sudo mysql
Vytvořit novou databázi
create database wordpress;
Vytvořit nového uživatele databáze
create user 'username'@'localhost' identified by 'password';
Nahraďte uživatelské jméno a heslo vámi preferovanými hodnotami. Udělte přístup k databázi novému uživateli
grant all privileges on wordpress.* to 'username'@'localhost';
flush privileges;
Importovat databázi
Nyní, když je naše databáze vytvořena, můžeme exportovat staženou databázi.
Rozbalte nebo dekomprimujte záložní soubor –
tar -xvf /home/site-backup.tar.gz
Exportuje další dva soubory, wp_database.sql
a website-content.tar.gz
.
Importujte databázi do wordpressu pomocí následujícího příkazu –
mysql -u root -p wordpress < /home/site-backup/wp_database.sql
Zadejte heslo uživatele root a relaxujte. Znovu.
Nainstalujte si WordPress
Předpokládám, že používáte webový server Apache. Takže výchozí webový kořen pro server Apache je /var/www/html
. cd do kořenového adresáře a odstraňte index.html.
$ cd /var/www/html
$ rm index.html
Stáhněte si WordPress
wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo tar -xvf /tmp/wordpress.tar.gz -C /tmp/
sudo mv /tmp/wordpress/* /var/www/html
Importovat zálohu WordPress na nový web
tar -xvf /home/site-backup/website-content.tar.gz
Výše uvedený příkaz dekomprimuje wp-content
webu , wp-config.php
a .htaccess
. K přesunutí wp-content/
můžeme použít rsync do nové instalace WordPress.
$ rsync -avu /home/site-backup/wp-content/ /var/www/html/wp-content/
$ cp /home/site-backup/wp-config.php /home/site-backup/.htaccess /var/www/html/
Upravit wp-config.php
A jedním z našich posledních kroků je propojení našeho webu s nově vytvořenou databází. Nezapomeňte, že jsme již importovali databázi našeho webu, takže je připravena. Není třeba spouštět instalaci WordPressu.
$ nano /var/www/html/wp-config.php
Nyní nahraďte starý název databáze, uživatelské jméno a heslo databáze aktuální databází serveru, kterou jsme vytvořili výše, tj. wordpress.
Oprava oprávnění souborů WordPress
Nikdy nezapomeňte nastavit správná oprávnění k souboru. Bez něj nemusí WordPress správně fungovat a pokud jsou nastavena nesprávná oprávnění, můžete prozradit svá data.
$ chown -R www-data:www-data /var/www/html/
$ find /var/www/html/ -type d -exec chmod 755 {} \;
$ find /var/www/html/ -type f -exec chmod 650 {} \;
Změnit „siteurl“ a „home“ v databázi
Pokud přesouváte svůj web bez změny názvu domény, můžete tento krok přeskočit. Pokud změníte název domény, nezapomeňte aktualizovat databázi novým názvem domény.
Musíme aktualizovat na sloupce v tabulce wp_options. Pokud máte phpMyAdmin, můžete otevřít phpMyAdmin> wordpress> wp_options> siteurl .
Změňte sloupec „adresa URL webu ‘ hodnotu ‘https://www.newdomain.com’. Změňte také sloupec „domov hodnotu ‘https://www.newdomain.com’.
Aktualizujte adresu URL webu a domov pomocí příkazového řádku mysql –
sudo mysql
use wordpress;
update wp_options set option_value='https://www.newdomain.com' where option_name='siteurl'
update wp_options set option_value='https://www.newdomain.com' where option_name='home'
Nakonec nasměrujte název své domény na nový server. Pokud je váš webový server správně nastaven, měli byste vidět svůj starý web na novém hostiteli.
Poslední slova
Manuální postup se zdá být poměrně složitý, ale věřte mi, když říkám, že jakmile si na něj zvyknete, ušetří vám peníze za prémiový zálohovací plugin. Pomocí výše uvedených kroků můžeme dokonce vytvořit skript a nastavit úlohu cron pro automatické zálohování našich webových stránek. To vše bez použití pluginu.
A konečně, pokud jste měli nějaké potíže nebo chyby při sledování tohoto příspěvku, dejte nám vědět v sekci komentářů níže. Případně se můžete připojit k našemu Discord serveru pro rychlejší reakce.
Doporučená četbaOpravena chyba WordPress „Chyba při navazování připojení k databázi“
Migrace blogu WordPress na nový hosting – snadné způsoby
Hostování webu na našem vlastním serveru
Oprava WordPress Nebyl zadán žádný vstupní soubor Chyba
WordPress Plugins