Migracja strony internetowej

Na czym polega migracja strony www z jednego serwera na drugi? Czy jest to proces pracochłonny i wymagający skupienia a może prosty i przyjemny? Na te i inne pytania postaram się odpowiedzieć w niniejszym wpisie.

Gdy mówimy o przeniesieniu strony na nowy serwer, najczęściej mamy na myśli pliki z jej kodem lub inne pliki, takie jak obrazy, dokumenty PDF czy inne media. Ogólnie, pliki które możemy po prostu przekopiować z jednego serwera na drugi, tak jak przeciągamy pliki z dysku komputera na pendrive. Niestety jest to bardziej skomplikowany proces. Dużo zależy od tego, jaki typ strony posiadamy.

Strony statyczne

Kiedyś większość prostych stron (np. wizytówki firmowe) była statyczna – na serwerze znajdowały się gotowe pliki podstron, pobierane i wyświetlane przez przeglądarkę. Takie strony wcale lub w małym stopniu zmieniały swoją treść przy każdym wyświetleniu. Edycja ich treści wymagała zmiany w plikach z kodem źródłowym (a więc angażowania informatyka), co sprawiało niejednokrotnie problemy w jej utrzymaniu. Ponadto strona statyczna oferowała dość ubogi poziom interakcji z Użytkownikiem, szczególnie w zakresie zapisywania i prezentowania dużych ilości danych przez niego wprowadzonych. Wyjątkiem może być formularz kontaktowy, wysyłający zebrane dane prosto na wskazany adres email, ale tutaj powoli kończy się definicja strony statycznej. Migracja takiej strony faktycznie polegała na przeniesieniu jej plików i nie był to proces wielce skomplikowany. Mógłby wyglądać tak:

  1. Skonfiguruj nowy serwer,
  2. Wykonaj kopię plików,
  3. Wgraj kopię plików na nowy serwer,
  4. Przepnij domenę na nowy serwer,
  5. Przetestuj np. kluczowe strony czy formularz kontaktowy.

Jak widać nie jest to proces skomplikowany. Kopiujemy pliki, zmieniamy DNS „i tyle”. Konfiguracja serwera w końcu nie jest trudna, bo korzystamy z paneli typu DirectAdmin, Plesk, cPanel, etc. dołączonych do hostingu.

Strony dynamiczne

Prostsze strony wraz z rozwojem Internetu i wzrostem ilości oferowanej treści zostały wyparte przez rozwiązania, które na podstawie plików źródłowych dynamicznie generują swoje elementy. Prezentowanie dowolnej ilości artykułów przechowywanych w uporządkowanej bazie danych na podstawie jednego szablonu, z możliwością ich edycji w każdej chwili (zamiast tworzenia ręcznie osobnych plików dla każdej z podstron) zlikwidowało uciążliwości stron statycznych. Zaangażowało jednak o wiele więcej technologii – nie tylko wspomnianą bazę danych – ale również np. SSL zapewniający Użytkownikom i ich danym pewien poziom bezpieczeństwa. Nie wspominając już o bardziej wydajnych serwerach, które przecież muszą generować tą dynamiczną treść.

W wypadku takiej strony nie wystarczy już przeniesienie samych plików. Należy przenieść bazę danych, zadbać o modyfikacje odpowiednich ustawień, przenieść lub zakupić nowy certyfikat SSL, przenieść pocztę, itd. Zaczyna brzmieć jak długa lista zadań, które trzeba skrupulatnie wykonać, a przecież to dopiero początek.

Przykładowo, przeniesienie popularnego WordPressa może wyglądać tak:

  1. Skonfiguruj nowy serwer:
    1. Utwórz miejsce na pliki,
    2. Utwórz użytkownika bazy danych,
    3. Utwórz bazę danych,
    4. Sprawdź, czy możesz przenieść stary certyfikat SSL czy należy zakupić nowy lub skorzystać z darmowego LetsEncrypt,
    5. Przygotuj się do zmigrowania kont pocztowych – zależnie od metody zbierz pliki lub konfiguracje starego i nowego serwera.
  2. Wykonaj kopię plików,
  3. Wykonaj kopię bazy danych,
  4. Wgraj kopię plików na nowy serwer,
  5. Wgraj kopię bazy na nowy serwer,
  6. Zmień w tabeli „wp_options” wiersze z kluczami „siteUrl” / „home” na obecny adres (w celu przetestowania przed przepięciem domeny),
  7. W pliku konfiguracyjnym WordPressa uaktualnij dostępy do bazy danych,
  8. W pliku konfiguracyjnym odśwież klucze hashujące*,
  9. W pliku konfiguracyjnym włącz debugowanie*,
  10. Migracja to dobry moment na przegląd instalacji:
    1. Zaktualizuj WP, wtyczki i szablony,
    2. Usuń niepotrzebne wtyczki,
    3. Sprawdź sumy kontrolne plików*,
    4. Sprawdź pliki pod kątem malware*.
  11. Przetestuj instalację na nowym serwerze:
    1. Kluczowe strony,
    2. Formularze kontaktowe,
    3. Ścieżki zakupowe*.
  12. Przygotuj się do przepięcia domeny w DNS na nowy serwer:
    1. Przenieś stary certyfikat SSL (jeśli można),
    2. Przeglądnij wpisy DNS, m.in. rekordy MX.
  13. Zmień ustawienia z pkt. 6,
  14. Zmień rekordy DNS,
  15. Ponownie wykonaj pkt. 11.

Porównując do procesu przeniesienia strony statycznej można dojść do wniosku, że nie mając pewnej specjalistycznej wiedzy, wiele nie zdziałamy. Co prawda można pokusić się o pominięcie punktów oznaczonych gwiazdką, i też nie zawsze mamy do czynienia z blogiem-sklepem, ale jest to prawda. Nie mając pojęcia jak i z czego składa się przenoszona strona, możemy pominąć jakiś mały element konfiguracji, który da o sobie znać długo po migracji.

Podsumowanie

Proces migracji strony zależy od wielu czynników – technologii w jakiej została wykonana, tego czy korzysta z zewnętrznych usług które trzeba odpowiednio skonfigurować czy samych składników towarzyszących, np. poczcie, które należy (lub można) „zabrać” razem ze stroną. Ważnym czynnikiem jest też nowy hosting, jego parametry i wsparcie jakie oferuje. Nie zapominajmy również o czasie w którym strona będzie niedostępna. Czasem taka operacja wymagana logistycznego przemyślenia. Dla „zwykłego” użytkownika przeniesienie strony, wszystkie te technikalia i niespodziewane przeszkody mogą stanowić duże wyzwanie. Warto wtedy wesprzeć się ofertą migracji przez hostingodawcę, wyspecjalizowane firmy lub freelancerów.