Przeniesienie strony zrobionej w WordPress na inny serwer
Moja żona jest grafikiem i pomagam jej w ramach jej studia graficznego: https://solovestudio.pl/ robić strony internetowe oparte o system zarządzania treścią WordPress. Gosia przygotowuje całą stronę od strony wizualnej, dla mnie zostają kwestie techniczne 🙂 Czyli na przykład przeniesienie jej z serwera testowego na serwer klienta.
W tym wpisie pokażę jak to zrobić. Będzie to ogólny opis procesu. Nie będzie szczegółów jak działa program FileZilla do połączenia z serwerem FTP, jak zainstalować narzędzie Search-Replace-DB. Te informacje można znaleźć w internecie. Będzie to ogólny opis kroków jakie trzeba wykonać aby przenieść stronę z jednego serwera na drugi.
Jak pewnie zauważyłeś, blog jest o systemie kontroli wersji Git, a ja tutaj piszę na całkowicie inny temat. O co kaman? A no o to, że chciałem napisać posta o tym, czego się ostatnio nauczyłem i go od razu opublikować. Skoro mam już bloga to dlaczego nie wykorzystać go od razu. Później – w wolnej chwili – raczej założę nowego bloga pod różne treści programistyczne, nie tylko związane z gitem.
Wstęp
Inne powody do przeniesienia strony na inny serwer mogą być takie:
- Obecny serwer wolno działa.
- Jest super promocja u innego hostingodawcy 🙂
Z czego składa się strona internetowa zrobiona przy pomocy systemu WordPress? Z plików tworzących szablon strony, czyli plików o rozszerzeniach: php, js, css, różne grafiki i inne. Treść strony + różne ustawienia zapisane są w bazie danych MySQL.
Czyli trzeba przenieść na serwer docelowy pliki i bazę MySQL.
Ważne! Jeśli przenosimy stronę na inną domenę, to trzeba w bazie zmienić wszystkie wpisy nazwy starej domeny na nową.
W naszym przypadku testowa strona była pod adresem: http://serwer1966453.home.pl/autoinstalator/wordpress/, a my przenosimy go na https://ispeakacademy.pl/.
To znaczy, że wszystkie wpisy w bazie zawierające adres strony testowej trzeba zamienić na nazwę domeny klienta. Oczywiście nie trzeba tego robić ręcznie, są do tego narzędzia. Ale o tym napiszę później.
Zacznijmy od początku.
Przygotowanie
Na początku musimy od razu na serwerze docelowym stworzyć nową bazę danych MySQL wraz z nowym użytkownikiem. Trzeba nadać temu użytkownikowi wszystkie uprawnienia do tejże bazy.
Korzystałem z kilku hostingów i w każdym te rzeczy można zrobić bez problemu z panelu klienta.
Zapisz sobie gdzieś:
- Nazwę nowej bazy danych.
- Nazwę użytkownika.
- Hasło użytkownika do bazy.
Przyda Ci się to w kolejnych krokach.
Pliki
Najpierw zajmiemy się plikami. Najlepiej ściągnąć je do siebie jakimś programem, który obsługuje FTP (File Tranfer Protocol). Ja używam i polecam FileZilla. Dane do logowania do konta FTP powinniśmy dostać emailem podczas zakupu hostingu. Jeśli nie dostaliśmy, to takie konto można założyć w panelu klienta u hostingodawcy.
Podłączamy się do serwera i wybieramy katalog gdzie leży strona, przeważnie ten katalog nazywa się public_html
. Ściągamy wszystko na nasz komputer. Tych plików może być nawet kilkanaście tysięcy, więc chwilę się zejdzie 🙂
Trzeba w plikach dokonać jednej zmiany. W pliku wp-config.php
musimy zmienić dane starej bazy danych na nową. Na tą bazę, którą utworzyliśmy na samym początku. Zmieniamy następujące rzeczy
- Nazwę bazy danych.
- Nazwę użytkownika.
- Hasło użytkownika do bazy.
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'db_name');
/** MySQL database username */
define('DB_USER', 'username');
/** MySQL database password */
define('DB_PASSWORD', 'password');
/** MySQL hostname */
define('DB_HOST', 'localhost');
Następnie łączymy się na docelowy serwer gdzie chcemy naszą stronę umieścić i wrzucamy tam wszystkie pliki.
Ja już pisałem wcześniej, plików może być dużo. Przeważnie szybkość przesyłania danych na serwer jest wolniejsza niż ściąganie danych, więc w tym przypadku zejdzie się trochę dłużej.
Baza danych MySQL
Chyba wszyscy hostingodawcy umożliwiają dostęp do bazy przez aplikację phpMyAdmin. Uruchamiamy ją na serwerze źródłowym. Z listy po lewej wybieramy bazę danych, którą chcemy wyeksportować. Klikamy opcję Eksportuj, wybieramy metodę eksportu “Szybko – wyświetlane są tylko minimalne opcje” i naciskamy “Wykonaj”. Plik z rozszerzeniem .sql zapisujemy na dysku.
Uwaga! Wersje aplikacji phpMyAdmin mogą się różnić, więc nie zdziw się jeśli u Ciebie opcje, które opisałem powyżej będą inne.
Następnie logujemy się do aplikacji phpMyAdmin na serwerze docelowym. Wybieramy bazę, do której chcemy zaimportować dane i wybieramy opcję “Importuj”. Wybieramy wcześniej zapisany plik .sql i już 🙂
Zamiana nazwy domeny w bazie
Ostatni krok: zamiana w bazie nazwy starej domeny na nową. Do tego użyjemy narzędzia Search-Replace-DB. Służy ono właśnie do zamiany tekstu w bazie danych. Przeszukuje wszystkie tabele podanej bazy danych i zamienia wyszukany tekst, na tekst który chcemy.
Można go ściągnąć bezpośrednio z GitHuba: https://github.com/interconnectit/Search-Replace-DB/releases/tag/4.1.2.
W naszym przypadku adres serwera testowego był taki:
https://serwer1966453.home.pl/autoinstalator/wordpress
I musiałem go zamienić na:
https://ispeakacademy.pl
Wpisuję w aplikacji, że chcę zamienić jedno na drugie i naciskam Dry-run. Ta opcja zadziała “na sucho”, czyli przeszuka wszystkie tabele i pokaże w który występuje wyszukiwana fraza. W tym trybie nic w bazie nie zostanie zmienione. Jest to bardzo przydatna opcja, ja z niej zawsze korzystam. Po chwili pokaże się podsumowanie w jakich tabelach została znaleziona wyszukiwana fraza i ile razy. Można również podejrzeć, gdzie wyszukiwana fraza znajduje się w tekście w bazie.
Trzeba pamiętać, aby zamienić różne wersje domeny:
- Zabezpieczona https
https://serwer1966453.home.pl/autoinstalator/wordpress
nahttps://ispeakacademy.pl
- Niezabezpieczona, czyli tylko http
http://serwer1966453.home.pl/autoinstalator/wordpress
nahttps://ispeakacademy.pl
- Bez przedrostka http
serwer1966453.home.pl/autoinstalator/wordpress
naispeakacademy.pl
Jeśli jesteśmy pewni, że chcemy zmienić wpisany tekst w bazie, to klikamy Run live. Przy obu opcjach jest podsumowanie jakie tabele były przeszukiwane i w których znaleziono teksty do zmiany.
Opcja dry-run jest idealna, aby sprawdzać czy tekst, który powinniśmy zmienić nie został jeszcze w bazie.
Na koniec dobrze jest jeszcze wpisać samą nazwę domeny i zobaczyć, co znajdzie. U mnie znalazło takie coś:
serwer1966453.home.pl\/autoinstalator\/wordpress
I to też zmieniłem 🙂
Podsumowanie
Aby przenieść stronę zrobioną w WordPress na inny serwer trzeba zrobić 3 kroki:
- Przenieść pliki.
- Przenieść bazę danych MySQL.
- Opcjonalnie zmienić w bazię nazwę domeny na nową.
I to tyle 🙂 Mam nadzieję, że ten wpis Ci pomógł przenieść Twoją lub kogoś innego stronę na nowy serwer.
Photo by Ilya Pavlov on Unsplash
0 Komentarzy