# Przeniesienie WordPress przez konsolę Linux SSH – Instrukcja krok po 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.