Skip to content

Wordpress: Migracja na nowy serwer

Posted on:18 stycznia 2013 at 17:00
Feature Image for  Wordpress: Migracja na nowy serwer

W życiu każdego użytkownika Wordpressa jest taki moment gdy należy zmigrować ze starego na nowy serwer. Mnie to spotkało, tym razem miałem drobne zlecenie: przenieść katalog z wordpressem z jednego na drugi serwer, skonfigurować, przetestować i przepiąć domenę. Sporo pracy, ale mając do dyspozycji SSH na zdalnym serwerze, możemy zrobić dużo więcej bez pomocy z zewnątrz jak choćby helpdesku hostingodawcy. Trudne? Bynajmniej.

SFTP bezpieczne!

O tym, że protokół ftp jest zbyt dziurawy, podatny na ataki z zewnątrz, nie muszę pisać. Dlatego cieszy mnie, że coraz więcej firm zajmujących się hostingiem / vps, daje dostęp do shella i umożliwia korzystanie z protokołu sftp. Przy czym należy podkreślić, że środowisko shellowe w ofertach poza VPS będzie zawsze w sporym stopniu ograniczone.

Dump ze starej do nowej bazy danych

Logujemy się via ssh do starego serwera i poprzez łączenie z mysql robimy export bazy danych, następnie przerzucamy na drugi serwer i ładujemy zawartość do nowej bazy danych (którą wczesniej rzecz jasna utworzyliśmy)

$ mysqldump -u username -p DATA-BASE-NAME > dump.sql $ scp  dump.sql login@serwer_nr_2😕sciezka/do/katalogu/docelowego $ mysql -u username1 -p DATA-BASE-NAME < dump.sql

Jeśli nazwa użytkownika i hasło jest różne, należy zmiany te wprowadzić w wp-config:

define(‘DB_USER’, ‘username1’); define(‘DB_PASSWORD’, ‘password1’);

Więcej informacji tradycyjnie na Codex WP

Przeniesienie z jednego do drugiego serwera

Katalog z wordpressem możemy przenieść na dwa sposoby: spakować do archiwum bądź przesłać wszystko w locie.

Należy połączyc się via ssh z serwerem nr 1, pakujemy do ZIPa:

$ zip -r wordpress.zip /wordpress

Następnie za pomocą polecenia scp przesyłamy katalog  do drugiego serwera:

$ scp  /wordpress login@serwer_nr_2😕sciezka/do/katalogu/docelowego

Analogicznie można przesłać ZIPa:

$ scp  wordpress.zip login@serwer_nr_2😕sciezka/do/katalogu/docelowego

Wówczas na drugim serwerze należy przy użyciu polecenia rozpakować poleceniem unzip:

$ unzip wordpress.zip

Z uwagi na różnorodne konfiguracje środowisk shellowych na serwerach, warto pamiętać, że można skorzystać z dostępnej pomocy:

$ scp —help $ man scp

Skoro pliki zostały przeniesione (i rozpakowane), należy zadbać o odpowiednie uprawnienia dla plików:

Więcej informacji znajdziecie na tej stronie Codex WP.

Problemy z uprawnieniami

Może sie zdarzyć, że przy instalacji / aktualizacji pluginów Wordpress poprosi o wpisanie danych FTP. Przy pojedynczych pluginach, problemu raczej nie będzie, za to gorzej z aktualizacjami samego Wordpressa. Wówczas występują problemy z dostępem do tymczasowych katalogów, ba nawet nie można w locie edytować plików z poziomu edytora wordpressowego. Dlaczego tak się dzieje, wytłumaczył MatiPL:

Wordpress podczas sprawdzania możliwości aktualizacji analizuje prawa dostępu do poszczególnych plików w ramach systemu blogowego. Jeśli serwer WWW ma odpowiednie prawa zapisu (niestety nie wystarczy tylko dla wp-content 😕) robi aktualizacje automatycznie. W innym wypadku prosi o dane do logowanie.

Rozwiązanie jest bardzo proste i rozwiązujemy jednym poleceniem:

chmod a+w -R /wordpress

Zamiast FTP, SFTP

Jeśli nie mamy ftp’a ( ze względu bezpieczeństwa), możemy skonfigurować Wordpressa tak, by korzystał z konta sftp. Edytujemy plik wp_config.php:

define(‘FS_METHOD’, ‘direct’); define(‘FTP_BASE’, ‘/home/user/public_html/wordpress/’); // sciezka do katalogu z wordpressem define(‘FTP_CONTENT_DIR’, ‘/home/user/public_html/wp-content/wordpress/’); define(‘FTP_PLUGIN_DIR ’, ‘/home/user/public_html/wordpress/wp-content/plugins/’); #define(‘FTP_PUBKEY’, ‘/home/user/.ssh/id_rsa.pub’); #define(‘FTP_PRIKEY’, ‘/home/user/.ssh/id_rsa’); define(‘FTP_PASS’, ‘your-password’); define(‘FTP_USER’, ‘username’); define(‘FTP_HOST’, ‘your-domain.com:22’);

Zatrzymamy się przy haśle - możemy wygenerować klucz dla WP, ale też podać hasło do ssh - co wybierzesz, zależy od Ciebie.

Najlepsze rozwiązanie?

Jest też druga metoda, polegająca na instalacji od nowa wordpressa, konfiguracji od nowa i przerzuceniu zawartości za pomocą WP importera. To jest dobre rozwiązanie ale do pewnego stopnia - jeśli mamy stosunkowo małą bazę danych, mało opcji do ustawiania. W przeciwnym razie, mogą być problemy, nawet jeśli zrobisz odpowiednia optymalizację plików czy bazy danych.

Twój wybór.

Powyższą notatkę sporządziłem dla siebie, żeby nie szukać za daleko. Jak widać, nie jest to skomplikowane, ale czasem o prostych rzeczach człowiek najzwyczajniej zapomina. W koncu tak często się nie migruje miedzy serwerami.

Na pewno przyda się nowym klientom, którzy chcą się przenieść do zenbox.pl - maja konkurencyjną ofertę dla wymagających

Źródła:



Możesz napisać do mnie e-mail, wiadomość na Telegramie lub wyszukać mnie na Mastodonie.
Loading...