Last Updated on 15/01/2023 by administrator
WordPress – Změna Domény (WordPress – Změna URL)
WordPress – Změna Domény
Motivace:
Pokud je potřeba změnit doménové jméno webového serveru, běžící na WordPressu je možné postupovat podle návodu níže. Reálně bylo takto postupováno pro migraci naších webových stránek, které jsme se rozhodli nahodit na doménu druhého řádu.
OS:
Konfigurace byla prováděna pod Ubuntu 22.04 LTS. Předpokládám, že je možné postupovat na všech distribucích Linuxu.
Implementace:
Jako nové doménové jméno bude v příkladu níže použito rusticlan.cz.
Aby byl webový server dosažitelný pod novým doménovým jménem, je nutné přepsat:
1. Úvodní stránka webu:
V administraci Wordpresu Settings > General > Site Address (URL) na https://rusticlan.cz/
2. Přepsání parametru WP_SITEURL:
To se provede v souboru wp-config.php:
vi /var/www/wordpress/wp-config.php
a přepsat parametr WP_SITEURL na nové doménové jméno, v tomto případě to bude nové doménové jméno rusticlan.cz, které bude běžet pod HTTPS:
define( 'WP_SITEURL', 'https://rusticlan.cz/' );
3. Přepsání parametru siteurl a home v MySQL [1]:
Přihlásit se do databáze MySQL:
sudo mysql
V mysql databázi vypsat databáze pomocí příkazu:
MariaDB [(none)]> SHOW DATABASES;
Výstup příkazu SHOW DATABASES; ukazuje, že jméno databáze pro wordpress se jmenuje také wordpress:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | wordpress | +--------------------+ 4 rows in set (0.000 sec)
Příkazem USE wordpress; níže se přejde do databáze wordpress:
MariaDB [(none)]> USE wordpress;
Vypsání všech tabulek v databázi wordpress:
MariaDB [wordpress]> SHOW TABLES;
Zkrácený výstup příkazu SHOW TABLES; zobrazí všechny tabulky v databázi wordpress:
+-----------------------------------+ | Tables_in_wordpress | +-----------------------------------+ | ........... | | wp_es_download_counter | | wp_links | | wp_options | | wp_pollsa | | wp_pollsip | | wp_pollsq | | ........... | +-----------------------------------+ 43 rows in set (0.000 sec)
Z tabulky wp_options lze vypsat parametr option_name:
MariaDB [wordpress]> SELECT option_name FROM wp_options;
Zkrácený vystup příkazu SELECT option_name FROM wp_options;
+---------------------------------------------------------------------------+ | option_name | +---------------------------------------------------------------------------+ | ................... | | home | | html_type | | https_detection_errors | | ................... | | siteurl | | skip-smush-setup | | ................... | +---------------------------------------------------------------------------+ 326 rows in set (0.000 sec)
Nyní je potřeba změnit pole home a siteurl a to na již zmiňovanou doménu https://rusticlan.cz/. To se provede pomocí příkazu níže:
MariaDB [wordpress]> UPDATE wp_options SET option_value="https://rusticlan.cz/" WHERE option_name = "home"; MariaDB [wordpress]> UPDATE wp_options SET option_value="https://rusticlan.cz/" WHERE option_name = "siteurl";
Ověření přepsání na doménové jméno https://rusticlan.cz/:
MariaDB [wordpress]> SELECT * FROM wp_options WHERE option_name = 'siteurl';
Výstup příkazu SELECT * FROM wp_options WHERE option_name = ‘siteurl’; ukazuje že doslo ke změně:
+-----------+-------------+-------------------------+----------+ | option_id | option_name | option_value | autoload | +-----------+-------------+-------------------------+----------+ | 187 | siteurl | https://rusticlan.cz/ | yes | +-----------+-------------+-------------------------+----------+
MariaDB [wordpress]> SELECT * FROM wp_options WHERE option_name = 'home';
Výstup příkazu SELECT * FROM wp_options WHERE option_name = ‘home’; ukazuje že doslo ke změně:
+-----------+-------------+-------------------------+----------+ | option_id | option_name | option_value | autoload | +-----------+-------------+-------------------------+----------+ | 185 | home | https://rusticlan.cz/ | yes | +-----------+-------------+-------------------------+----------+
Všechno nastaveno, nyní je možné opustit MySQL shell příkazem:
MariaDB [wordpress]> exit
5. Úpravy v Apache2:
Pokud jsou webové stránky obsluhované službou Apache2 a jsou použiti VirtualHosti, které si spravujete sami, bude nejspíš také potřeba provést úpravy v jeho konfiguračním souboru. Zde se např. používá soubor wordpress.conf ve složce /etc/apache2/sites-available/(může se jednat ale i o jiný konfigurační soubor ve stejné složce):
vi /etc/apache2/sites-available/wordpress.conf
Výpis v souboru wordpress.conf ukazuje příklad nastavení pro doménové jméno rusticlan.cz:
<VirtualHost *:80> UseCanonicalName Off ServerAdmin webmaster@localhost DocumentRoot /var/www/wordpress ServerName rusticlan.cz ServerAlias www.rusticlan.cz Redirect permanent / https://rusticlan.cz </VirtualHost> <VirtualHost *:443> SSLEngine on ServerAdmin webmaster@localhost DocumentRoot /var/www/wordpress ServerName rusticlan.cz ServerAlias www.rusticlan.cz </VirtualHost>
Pozn. Redirect permanent slouží, aby se HTTP provoz na webové stránky rusticlan.cz přesměroval šifrované spojení HTTPS.
Nakonec je potřeba službu Apache2 restartovat:
service apache2 restart
Další problémy co mohou nastat:
Problém s grafikou webu
Může se stát, že se nezobrazí obrázky a celkově buď problém s grafikou webu. Pokud je použit nějaký plugin pro cachování webu. Zde je příklad – pokud je použitý např. Plugin Total Cache, je možné v Performace > empty all cache vyprázdnit všechen cache. Pak stačí provést refresh webové stránky pomocí CTRL + F5.
Nicméně ani tak se nemusí zobrazit úvodní logo obrázek na hlavní stránce webu, jak lze vidět níže. Nezbývá nic než přes Customize nahrát obrázek znovu.
Hotovo! Stránky naší Rustic LAN párty úspěšně byly zmigrovány.
Zdroj:
[1] https://precisionsec.com/changing-the-wordpress-site-url-using-the-mysql-command-line/