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 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:
Wprowadź komendę – „mc” odpowiedzialną za uruchomienie Midnight Commandera. Jeżeli aplikacja nie jest dostępna na Twoim serwerze – tutaj znajdziesz instrukcję instalacji.
I zobaczysz takie okno:
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:
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
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.
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.
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.
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ę).
Po pobraniu pliku – utwórz bazę danych na nowym serwerze, zaloguj się na nią i zaimportuj ściągnięty wcześniej plik.
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.
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 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/ .
W narzędziu ostrożnie podaj poprzedni adres strony WordPressa, a w oknie obok nowy adres.
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.
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.
I to wszystko.
Całość zajęła około 35 minut.