Przeniesienie strony zrobionej w WordPress na inny serwer

Opublikowane przez Tomasz Prasołek w dniu

code

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:

  1. Obecny serwer wolno działa.
  2. 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 na https://ispeakacademy.pl
  • Niezabezpieczona, czyli tylko http
    • http://serwer1966453.home.pl/autoinstalator/wordpress na https://ispeakacademy.pl
  • Bez przedrostka http
    • serwer1966453.home.pl/autoinstalator/wordpress na ispeakacademy.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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *