# Przeniesienie WordPress przez&nbsp;konsolę Linux SSH &#8211; Instrukcja krok po&nbsp;kroku

W dzisiejszym poradniku pokażę jak można przenieść stronę (ze zmianą domeny) z pomocą konsoli systemu linux (Shell SSH), dostępnej w praktycznie każdej usłudze serwera dedykowanego i VPS.

## **Dlaczego warto przenosić WordPress przez SSH?**

Jest kilka kluczowych powodów, dla których ta operacja jest wg. mnie najlepszym sposobem na przeniesienie strony internetowej – oto najważniejsze z nich:

- **Zaoszczędzony czas** – chcąc przenieść stronę normalnie np. z pomocą Cyberduck musimy ściągnąć pliki na swój komputer, co zabiera sporo czasu oraz ogranicza prędkość naszego łącza, a następnie poświęcić kilka razy więcej czasu na ich ponowny upload do serwera docelowego.

- **Mniej błędów** – W porównaniu z tradycyjnym sposobem, przenoszenie przez konsolę Midnight Commandera powoduje bardzo małą ilość błędów, a podczas licznych tego typu operacji nie miałem żadnych problemów z integralnością kopii czy błędami odczytu na docelowej domenie.

- **Bezpieczeństwo** – Jest to dla mnie najistotniejsze podczas wykonywania wszelakich zleceń w zależności od zlecenia i rodzaju klauzuli poufności zachowuje szczególne środki ostrożności – np. operacje na wrażliwych plikach i danych wykonuje na zdalnych serwerach Windows, tworzonych osobno dla każdej operacji, identycznie ma się sprawa dla kont FTP, a dodatkowo **połączenia SSH są silnie szyfrowane**.

## **Przenosimy stronę na inny serwer ze zmianą domeny**

### **Połączenie i logowanie na serwery**

Do tego celu wykorzystamy program Putty – wystarczy uzupełnić dane połączenia i kliknąć „*Open*„.

![Połączenie poprzez putty do konsoli linuxa na serwerze](https://jaworowi.cz/wp-content/uploads/2017/05/przeniesienie-wordpress-przez-putty-ssh.jpg)

Po uruchomieniu się konsoli poproszony zostaniesz o zalogowanie – podczas wpisywania hasła, nie zostanie pokazana ilość wpisanych znaków. Po poprawnym zalogowaniu ujrzysz ekran podobny do tego:

![Konsola Linux po zalogowaniu poprzez ssh](https://jaworowi.cz/wp-content/uploads/2017/05/przeniesienie-wordpress-przez-putty-shell.jpg)

Wprowadź komendę – „*mc*” odpowiedzialną za uruchomienie Midnight Commandera. Jeżeli aplikacja nie jest dostępna na Twoim serwerze – [tutaj znajdziesz instrukcję instalacji](https://support.superhost.pl/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=122).

I zobaczysz takie okno:

![Mc domyślny widok](https://jaworowi.cz/wp-content/uploads/2017/05/mc-midnight-commander-ssh-wordpress.jpg)

Teraz połącz się z serwerem, z którego chcesz przenieść pliki – w tym celu wybierz z menu *„Left > FTP Link…*” i pokaże się okno z prośbą o podanie danych do połączenia – wpisz je wg wzoru:

> 
nazwa_uzytkownika@ftp.adresSerwera.pl

![Pomyśl o tym](https://cdn.jaworowi.cz/wp-content/uploads/2023/01/idea.png)Wskazówka: możesz wklejać parametry połączenia – takie jak loginy czy hasła – w tym celu wciśnij CTRL, a następnie prawy przycisk myszy i „*Paste*„. 

![Wybierz łączę połączenia się z innym serwerem poprzez FTP/sftp](https://jaworowi.cz/wp-content/uploads/2017/05/ssh-ftp-link-wordpress-midnight-commander.png)

![Wpisz login i host nowego serwera](https://jaworowi.cz/wp-content/uploads/2017/05/ssh-ftp-link-wordpress-midnight-commander-laczenie-sie-ftp.png)

![Wpisz hasło do nowego serwera i konta ssh](https://jaworowi.cz/wp-content/uploads/2017/05/ssh-ftp-link-wordpress-midnight-commander-laczenie-sie-ftp-haslo.png)

Taką samą operację wykonujemy w prawym panelu – klikamy „*Right > FTP Link…*” i wykonujemy ponownie powyższe kroki.

Następnie w obu panelach otwieramy katalogi na serwerze zgodnie z założeniami – po lewej stronie otwieramy główny katalog domeny, którą przeniesiemy, a po prawej katalog na serwerze docelowym.

### **Kopiowanie plików przez SSH z serwera na serwer – FTP na FTP**

![File manager ukrywający się na serwerach Linux pod komendą mc](https://jaworowi.cz/wp-content/uploads/2017/05/mc-midnight-commander-ssh-wordpress-przenoszenie.jpg)

Operacja jest prosta – operujemy tylko 4 przyciskami na klawiaturze:

- *INSERT* (lub prawy przycisk myszy) – do zaznaczania plików

- *F5* – rozpoczęcie kopiowania plików

- *F8* – Kasowanie plików

- *ENTER* – Zatwierdzanie operacji

Kiedy już to wszystko wiesz – z prawego docelowego serwera usuwamy plik index.html – w tym celu wciśnij *INSERT*, aby podświetlił się na żółto i potwierdź usunięcie pliku. Podobnie zrób z niepotrzebnymi plikami na Twoim serwerze docelowym.

![Usuwanie pliku index (domyślnego na nowym serwerze)](https://jaworowi.cz/wp-content/uploads/2017/05/usuwanie-plikow-ssh-midnight-commander.png)

Kiedy już opanujesz technikę usuwania plików – czas na przeniesienie ich z jednego serwera na drugi.

Zaznacz pierwszy plik w lewym panelu lewym przyciskiem myszy, a następnie wciśnij *INSERT*, aż do ostatniego elementu – wszystkie pliki zostaną podświetlone na żółto – wtedy wciśnij *F5* i *ENTER*’em zatwierdź operację.

Zostanie przeprowadzone skanowanie plików, a następnie rozpocznie się kopiowanie.

![Skanowanie przed kopiowaniem pliku](https://jaworowi.cz/wp-content/uploads/2017/05/proces-kopiowania-midnight-commander-skanowanie.jpg)

![Kopiowanie w toku](https://jaworowi.cz/wp-content/uploads/2017/05/proces-kopiowania-midnight-commander.jpg)

Czas przeniesienia zależy od prędkości serwerów, limity itp. W moim przypadku to 3 minuty na każde 500 mb. Standardowo jak w każdym systemie najdłużej kopiują się małe pliki – a tych w WordPressie nie brakuje. W moim przypadku cała procedura przeniesienia plików WordPress’a zajęła mi około 20 minut.

![SSH file manager zakończono przeniesienie danych ](https://jaworowi.cz/wp-content/uploads/2017/05/zakoczenie-kopiowania-ssh-midnight-commander.png)

### **Import i Export bazy danych WordPress’a**

Bazę danych przenoszę już standardową metodą – poprzez panel *phpMyAdmin*.

Najpierw logujemy się do bazy danych na serwerze, z którego przenosimy stronę i po poprawnym zalogowaniu oraz przejściu do wybranej bazy klikamy Export *> Dostosuj > Zapisz do pliku* (zip – lub inną kompresję).

![Instrukcja importu do bazy danych](https://jaworowi.cz/wp-content/uploads/2017/05/wordpress-export-bazy-danych-phpmyadmin.jpg)

Po pobraniu pliku – utwórz bazę danych na nowym serwerze, zaloguj się na nią i zaimportuj ściągnięty wcześniej plik.

![Wgraj backup bazy MySQL w phpmyadmin](https://jaworowi.cz/wp-content/uploads/2017/05/import-bazy-danych-wordpress-phpmyadmin.jpg)

![Import zakończony ](https://jaworowi.cz/wp-content/uploads/2017/05/import-bazy-wordpress-zakonczony-phpmyadmin-sql-gz.jpg)

Po poprawnym wykonaniu tej czynności – na docelowym serwerze w pliku *wp-config.php* (lub innym, w którym znajdują się dane bazy danych) wprowadź dane nowej bazy danych.

![Dane bazy w WP-config](https://jaworowi.cz/wp-content/uploads/2017/05/dane-bazy-danych-wp-config-wordpress.png)

### **WordPress w innej domenie – Zmiana domeny w bazie danych**

Pozostała ostatnia czynność – zmiana domeny po przeniesieniu WordPress’a. W tym celu użyjemy narzędzia *Interconnect/IT Search & Replace*, które należy pobrać [z tej strony](https://interconnectit.com/products/search-and-replace-for-wordpress-databases/) i wgrać na serwer do dowolnie nazwanego katalogu, a następnie uruchomić w przeglądarce adres, w którym znajduje się skrypt np. domena.pl/search-and-replace/ .

![Pobierz skrypt](https://jaworowi.cz/wp-content/uploads/2017/05/interconnect-search-replace.png)

W narzędziu ostrożnie podaj poprzedni adres strony WordPressa, a w oknie obok nowy adres.

![Wpisz starą i nową domenę ](https://jaworowi.cz/wp-content/uploads/2017/05/zmiana-adresu-wordpress-w-bazie-danych.jpg)

Poniżej tych pól, znajdują się dane do bazy danych – jeżeli nie są dostępne, należy je uzupełnić oraz trzy tryby działania programu.

![Wpisz dane bazy danych](https://jaworowi.cz/wp-content/uploads/2017/05/dane-bazy-danych-search-replace-wordpress.jpg)

![Wybierz akcje](https://jaworowi.cz/wp-content/uploads/2017/05/actions-interconnect-search-replace.png)

Interesują nas dwa ostatnie przyciski

***Dry run*** – Sprawdza ile i jakie zmiany wprowadzi narzędzie

***Live run*** – Uruchamia proces znajdowania i podmieniania starego adresu WordPress na nowy

Jeżeli w wyniku *Dry Run* nie pojawi się nam żaden błąd, możesz uruchomić proces zamiany domen w bazie.

**Pamiętaj, aby zrobić kopię bazy przed wykonaniem jakichkolwiek czynności!**

Kiedy cały proces się zakończy – usuń skrypt przyciskiem *Delete me* – jeżeli nie zobaczysz ekranu potwierdzającego usunięcie, należy usunąć folder z serwera samodzielnie.

![Usuń skrypt](https://jaworowi.cz/wp-content/uploads/2017/05/delete-interconnect.png)

![Usunięto skrypt](https://jaworowi.cz/wp-content/uploads/2017/05/delete-interconnect-1.png)

I to wszystko.

![Pomyśl o tym](https://cdn.jaworowi.cz/wp-content/uploads/2023/01/idea.png)W procesie kopiowania może zostać pominięty plik .htaccess – zalecam ponowne potwierdzenie ustawień odnośników poprzez ***Ustawienia > Bezpośrednie odnośniki*** 

Całość zajęła około 35 minut.
