🢂Przeniesienie WordPress na inny serwer (za pomocąCLI)
Przeniesienie WordPress na inny serwer (CLI)
Przeniesienie WordPress na inny serwer (CLI)
Aby przenieść stronę WordPress z jednego serwera na inny, używając tylko narzędzi CLI (Command Line Interface), możesz wykonać poniższe kroki.
Krok 1
Zaczynamy od zrobienie kopii zapasowej bazy danych na serwerze źródłowym.
Wynikiem tego zadania jest plik backup_YYYY_MM-DD_HMS.sql
(np. backup_2025_01-30_123456.sql
).
wp db export "backup_$(date +%Y_%m-%d_%H%M%S).sql"
Krok 2
Zaktualizuj adresy URL w bazie danych. Celowo pomijamy kolumnę guid
, ponieważ jest to unikalny identyfikator wpisu, który nie powinien być zmieniany.
--all-tables
pozwala na zaktualizowanie adresów URL w wszystkich tabelach. Oczywiście old-domain.com
i new-domain.com
należy zastąpić odpowiednimi adresami URL :).
Pamiętaj aby nie dodwawać http://
lub https://
przed adresem URL.
wp search-replace 'old-domain.com' 'new-domain.com' --skip-columns=guid --all-tables
następne polecenie pozwoli nam zaktualizować adresy URL w bazie danych z http://
na https://
gdyby pojawiły się błędy w wersji dev.
wp search-replace 'http://new-domain.com' 'https://new-domain.com' --skip-columns=guid --all-tables
wyniki powinien być podobny do tego:
+------------------------------+-----------------------+--------------+------+
| Table | Column | Replacements | Type |
+------------------------------+-----------------------+--------------+------+
| wp_actionscheduler_actions | hook | 0 | SQL |
| wp_actionscheduler_actions | status | 0 | SQL |
| wp_actionscheduler_actions | args | 0 | SQL |
| wp_actionscheduler_actions | schedule | 0 | PHP |
| wp_actionscheduler_actions | extended_args | 0 | SQL |
| wp_actionscheduler_groups | slug | 0 | SQL |
...
| wp_actionscheduler_logs | message | 0 | SQL |
| wp_postmeta | meta_key | 0 | SQL |
| wp_postmeta | meta_value | 13 | PHP |
| wp_posts | post_content | 20 | SQL |
| wp_posts | post_title | 0 | SQL |
| wp_posts | post_excerpt | 0 | SQL |
...
+----------------------------+-----------------------+--------------+------+
Success: Replaced 33 of 1000 items.
gdzie 33
to liczba zastąpionych wpisów.
Krok 3
Robimy zrzut bazy danych na serwerze źródłowym (teraz ze zaktualizowanymi adresami URL).
wp db export "bazadanych_$(date +%Y_%m-%d_%H%M%S).sql"
Krok 4
Przygotowujemy archiwum plików WordPress na serwerze źródłowym. Używamy tar
z kompresją gzip dla oszczędności miejsca i czasu transferu.
tar -czf wordpress_backup_$(date +%Y_%m-%d_%H%M%S).tar.gz --exclude='*.log' --exclude='wp-config.php' .
Opcja --exclude
pomija pliki logów i konfiguracji, które będą wymagały osobnej uwagi na nowym serwerze.
zmiana hasła np. developera
wp user update developer --skip-email --allow-root --user_pass="TwojeNoweHaslo#2025#"
dodanie nowego usera
wp user create webmaster test@example.com --allow-root --role=administrator --user_pass="#Silne#238123#Haso2025"
Krok 5
Transferujemy pliki na nowy serwer. Możemy użyć scp
lub rsync
. Rsync jest bardziej efektywny przy większych plikach:
# Opcja 1: scp
scp wordpress_backup_*.tar.gz user@new-server.com:/path/to/destination/
# Opcja 2: rsync (bardziej efektywny)
rsync -avz --progress wordpress_backup_*.tar.gz user@new-server.com:/path/to/destination/
Transferujemy również plik bazy danych:
scp bazadanych_*.sql user@new-server.com:/path/to/destination/
Krok 6
Na nowym serwerze rozpakowujemy archiwum WordPress:
# Przejdź do katalogu docelowego
cd /path/to/wordpress/directory
# Rozpakuj archiwum
tar -xzf wordpress_backup_*.tar.gz
# Ustaw odpowiednie uprawnienia
chown -R www-data:www-data .
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Krok 7
Importujemy bazę danych na nowym serwerze. Najpierw tworzymy nową bazę danych (jeśli jeszcze nie istnieje):
# Utwórz bazę danych
wp db create
# Importuj dane
wp db import bazadanych_*.sql
Jeśli baza danych już istnieje i chcesz ją zastąpić:
# Wyczyść istniejącą bazę i importuj
wp db reset --yes
wp db import bazadanych_*.sql
Krok 8
Konfigurujemy plik wp-config.php
na nowym serwerze. Możemy skopiować z poprzedniego serwera i dostosować, lub utworzyć nowy:
# Skopiuj przykładowy plik konfiguracji
cp wp-config-sample.php wp-config.php
# Lub użyj WP-CLI do konfiguracji
wp config create --dbname=nazwa_bazy --dbuser=uzytkownik --dbpass=haslo --dbhost=localhost
Sprawdź i dostosuj ustawienia w wp-config.php
:
- Dane połączenia z bazą danych
- Klucze bezpieczeństwa (wygeneruj nowe na https://api.wordpress.org/secret-key/1.1/salt/)
- Ustawienia debugowania
Krok 9
Przeprowadzamy testy i finalne sprawdzenia:
# Sprawdź status bazy danych
wp db check
# Sprawdź czy wszystkie tabele są w porządku
wp db repair
# Sprawdź konfigurację WordPress
wp config list
# Sprawdź czy strona działa
wp option get home
wp option get siteurl
Jeśli wszystko działa poprawnie, możesz usunąć pliki tymczasowe:
rm wordpress_backup_*.tar.gz
rm bazadanych_*.sql
Podsumowanie
Migracja WordPress przez CLI to efektywny sposób przenoszenia strony między serwerami. Kluczowe kroki to:
- Backup bazy danych - zabezpieczenie danych przed migracją
- Aktualizacja URL - przygotowanie bazy pod nową domenę
- Export bazy - utworzenie finalnej kopii do transferu
- Archiwizacja plików - spakowanie WordPress z wykluczeniem niepotrzebnych plików
- Transfer danych - przeniesienie plików i bazy na nowy serwer
- Rozpakowanie - przywrócenie struktury plików z odpowiednimi uprawnieniami
- Import bazy - przywrócenie danych na nowym serwerze
- Konfiguracja - dostosowanie ustawień do nowego środowiska
- Testy - weryfikacja poprawności migracji
Dzięki użyciu WP-CLI cały proces jest szybki, niezawodny i można go łatwo zautomatyzować poprzez skrypty bash. Planned for 10s
View Plan