Najważniejszym elementem każdej strony są użytkownicy, którzy ją odwiedzają lub korzystają z pewnych funkcji na niej, dla tego cały czas dbamy o zwiększenie liczby odwiedzających. Może nam w tym pomóc tworzenie ciekawej i przydatnej treści oraz komentarze użytkowników do nich, które czasami zawierają więcej ciekawostek niż sam artykuł. Do tego również dochodzi płynne i szybkie działanie strony internetowej, które jest uzależnione od hostingu i wybranego pakietu. Właśnie w tym artykule opiszemy jak przenieść stronę internetową na inny hosting bez strat w ruchu.
Ponieważ utrzymanie stabilnego działania strony i dostępności materiałów na niej jest ważne – musimy obserwować obciążenie serwera i przy większym ruchu (wzrostu czasu odpowiedzi serwera/hostingu) zastanawiać się nad zmianą hostingu na bardziej wydajny, lub z większymi limitami w wykorzystaniu procesora, pamięci RAM itd.
Dlaczego przenosimy strony
Przygotowaliśmy listę powodów kiedy warto zacząć rozważać zmianę hostingu:
- Na serwerze pojawiają się częste awarie, kiedy strona staje się nagle niedostępna dla odwiedzających. Zapewnienie wysokiego uptime (czasu nieprzerwanej dostępności) jest jednym z najważniejszych elementów przy wyborze dostawcy usług hostingowych.
- Powolne działanie strony. Możliwe, że serwer nie ma wolnych zasobów lub na serwerze zbyt wiele użytkowników.
- Słabe wsparcie techniczne lub długi czas oczekiwania na reakcje, niegrzeczność personelu.
- Ciągłe ataki DDoS na stronę lub problemy z bezpieczeństwem konta.
- Jakość świadczonych usług nie odpowiada ich cenie.
Co należy zrobić przed przenoszeniem strony
Przede wszystkim sprawdzamy czy mamy wszystkie loginy i hasła do panelu administracyjnego strony, panelu zarządzania hostingiem, panelu zarządzania domenami u Rejestratora, przydadzą się dostępy do FTP, MySQL itp. Jeżeli strona łączy się do zewnętrznych serwisów np. zarządzanie stanami magazynowymi (lub Baselinker) – należy odnaleźć dane do logowania tam.
Następnie sprawdzamy ustawienia na hostingu oraz zainstalowane i aktywne moduły na serwerze www, lokalizacje i właścicieli plików oraz ich uprawnienia. Im więcej danych sprawdzimy i odnajdziemy, tym łatwiej będzie w przyszłości. Często na tym etapie pojawiają się nieoczywiste rzeczy, o których dawno zapomnieli, ale które mogą powodować poważne problemy.
Nie zapominamy o weryfikacji wersji systemów CMS i modułów do nich, po czym sprawdzamy ich zgodność z oprogramowaniem na nowym serwerze, szczególnie zwracamy uwagę na wersję PHP. W razie potrzeby planujemy ich aktualizację, którą najlepiej przetestować przed rozpoczęciem przenoszenia strony.
Według nas i naszego doświadczenia – minimalnie potrzebujemy tydzień czasu na spokojne przenoszenie strony internetowej na inny serwer lub hosting. Przez taki okres musimy mieć aktywne usługi u starego dostawcy i nowego. Nie polecamy odkładanie przenoszenia na ostatni dzień, bo zawsze coś może pójść nie tak 🙂 Pamiętamy o weryfikacji daty wygaśnięcia domeny internetowej.
Sposoby na przenoszenie strony www
Przy pomocy wsparcia technicznego
Jeżeli nowy dostawca hostingu ma opcje przenoszenia strony ze starego serwera i nie chcemy tracić czas na samodzielne kopiowanie treści i plików – możemy zlecić to do wsparcia technicznego nowego serwera. Będziemy musieli przekazać takie informacje:
- Adres IP lub nazwa domeny;
- login i hasło do FTP – do przeniesienia plików strony;
- panel zarządzania hostingiem lub bezpośrednio do phpMyAdmin – do migracji bazy danych.
Samodzielnie
Bez problemów statyczne strony albo strony na dowolnym CMS, np. WordPress możemy przenieść samodzielnie. Czasami są darmowe wtyczki lub aplikacje, które ułatwiają ten proces.
Jednak wtedy musimy samodzielne sprawdzić niektóre aspekty techniczne i konfiguracje, aby powstało jak najmniej błędów przy kopiowaniu strony. Cały proces oraz algorytm opisaliśmy ogólnie poniżej.
Instrukcja jak samodzielnie przenieść stronę
Przekierowanie domeny
Powiązanie domeny z nowym hostingiem polega na zarejestrowaniu domeny na serwerach DNS, czyli zmianie serwerów nazw albo adresów IP we wpisach domeny. Głównym zadaniem serwerów nazw jest zapewnienie informacji dla nazwy domeny o adresie IP serwera ze stroną albo usługą dla tej domeny.
W przypadku hostingu Hostovita rekordy serwerów DNS wyglądają następująco:
- master.hostsila.com
- slave.hostsila.net
- slave2.hostsila.com
- slave3.hostsila.net
Propagacja zmian w domenie może zająć od 1 do 48 godzin.
Dodawanie domeny do innego hostingu
Aby strona ładowała się z nowego serwera należy ją dodać w panelu administracyjnym nowego hostingu. Pokażemy jak to zrobić w najbardziej popularnych panelach admin do zarządzania hostingiem: cPanel, DirectAdmin, ISPManager.
cPanel
Dodanie nowej domeny na serwerach z cPanel odbywa się w cPanel -> Domeny Dodatkowe:
Wpisujemy nazwę domeny, dla której cPanel automatycznie wygeneruje poddomenę-identyfikator, wskazujemy folder domeny wpisując nazwy folderów.
Klikamy “Dodaj domenę” po wypełnieniu wszystkich powyższych pól.
DirectAdmin
Domeny w DirectAdmin dodawane są w Zarządzanie kontami -> Konfiguracja domen -> Dodaj nową
Po wypełnieniu nazwy domeny, wyborze SSL automatycznie utworzy się folder dla plików podanej domeny, gdzie będziemy musieli wrzucić pliki strony.
ISPManager
W ISPManager domeny są dodawane w dziale WWW -> Domeny WWW (WWW-domains) -> Dodaj (Add).
Po wypełnieniu niezbędnych informacji klikamy OK.
Przeniesienie strony opartej o CMS
Procedura kopiowania między serwerami stron opartych o system CMS: WordPress, Joomla, OpenCart, Drupal, MODx jest prawie taka sama dla każdego z silników stron.
Niektóre CMS dla wyższego bezpieczeństwa, przechowują ważne pliki poza folderem strony (w innych niż public_html).
Pliki konfiguracyjne, które zawierają najważniejsze informacje o połączeniu do bazy danych, ścieżkach do zdjęć itd. Na przykład, w WordPress taki plik ma nazwę wp-config.php w katalogu głównym. W Joomla plikiem konfiguracyjnym jest configuration.php w folderze głównym strony (public_html). Właśnie w tych plikach po przenoszeniu musimy wprowadzić zmiany z danymi nowego serwera hostingowego.
Proces kopiowania strony
Ogólna procedura kopiowania strony:
- Pobieramy zrzut bazy danych MySQL (Export) ze starego hostingu.
- Dodajemy do archiwum wszystkie pliki strony (domyślnie folder public_html w cPanel) i ściągamy go.
- Tworzymy bazę danych oraz użytkownika bazy danych i importujemy (Import w phpMyAdmin) bazę ze zrzutu zapisanego ze starego hostingu.
- Wysyłamy archiwum i rozpakowujemy pliki strony na nowym hostingu. W artykule Jak wysłać plik na hosting opisaliśmy dokładnie jak wysłać pliki na serwer.
- Edytujemy pliki konfiguracyjne systemów CMS, aktualizujemy dane logowania się do bazy danych.
Migracja strony statycznej
Statyczna strona internetowa jest zbiorem osobnych plików-stron HTML. Często taka strona nie wymaga bazy danych oraz plików z kodem (PHP lub innych). Aby strona internetowa została uruchomiona – wystarczy przenieść same pliki strony.
Do przesyłania plików na serwer lub hosting najlepiej użyć protokołu FTP (sFTP). File Transfer Protocol – jest protokołem do przesyłania plików. Jedną z najlepszych aplikacji do pracy z danymi poprzez FTP jest FileZilla. Do połączenia z serwerem musimy mieć nazwę hosta, login i hasło (dane są dostarczane na email po aktywacji hostingu).
Więcej informacji na temat stworzenia połączenie i wysyłania plików przez FileZilla można znaleźć w tym artykule.
Możliwe błędy po przenoszeniu strony
Migracja strony na inny serwer może spowodować nieplanowane awarie lub problemy z dostępnością serwisu, najczęściej spotykane opisaliśmy poniżej na przykładzie WordPress. W innych CMS proces naprawiania będzie podobny.
Błąd 404
Taki problem może wystąpić wtedy, gdy w trakcie przenoszenia została zmieniona domena lub system CMS strony.
Rozwiązanie: Sprawdzamy i ręcznie zmieniamy uszkodzone linki. Pomóc w tym może dziennik-logi strony, w cPanel – Dostęp do danych nieprzetworzonych.
Błąd połączenia z bazą danych
Błąd występuje, gdy w pliku konfiguracyjnym wp-config.php niepoprawnie podane parametry połączenia z bazą danych.
Rozwiązanie: otwieramy plik wp-config.php, i sprawdzamy poprawność danych nowego serwera: “DB_NAME” (nazwa bazy danych), “DB_USER” (użytkownik bazy danych),” DB_PASSWORD” (hasło użytkownika bazy danych).
Często localhost lub 127.0.0.1 jest hostem bazy danych – “DB_HOST”, ale są też inne opcje. Dlatego najlepiej sprawdzić rzeczywisty adres IP bazy danych, który jest podany w odpowiedniej sekcji panelu admin hostingu.
Błąd 403. Forbidden
Występuje, kiedy brakuje ważnych plików lub nie ma uprawnień do odczytu lub zapisu w pliki strony.
Rozwiązanie: Sprawdzamy uprawnienia oraz właścicieli plików i folderów strony. Jeżeli uprawnienia są inne od poniższych – należy je zmienić:
- Uprawnienia do plików strony: 644 lub “rw-r-r”
- Uprawnienia do folderów: 755 lub “rwxr-xr-x”
Kolejną przyczyną wystąpienia błedu 403 może być niepoprawne działanie pliku .htaccess. Problem można rozwiązać, sprawdzając poprawność parametrów lub pobierając standardowy plik .htaccess do potrzebnej CMS. Szczegółowo opisaliśmy Jak skonfigurować .htaccess w podanym artykule.
Brak tabel w bazie danych
Przyczyną braku tabel może być pusta baza danych lub niepoprawny prefiks bazy danych w plikach konfiguracyjnych. Błąd pojawia się niezależnie od używanego systemu CMS, ale proces naprawy jest podobny dla wszystkich. W przypadku WordPress przy takim błędzie otwiera się strona instalacji.
Rozwiązanie: Import bazy danych za pomocą phpMyAdmin, jeżeli brakuje tabel lub danych w nich. Zatem należy sprawdzić prefiks tabel w bazie danych. Prefiks można znaleźć, przeglądając tabele w PhpMyAdmin. Jeśli tabele w bazie nazywają się wp_options, prefiksem będzie niezmienna część – wp_.
Aby to zweryfikować, musimy otworzyć plik konfiguracyjny wp-config.php i znaleźć $table_prefix. Jeśli określona wartość nie jest prefiksem bazy danych z phpMyAdmin, należy ją zmienić.
Podsumowanie
Jak wykonać kopie lub migrację strony na VPS lub inny hosting – każdy decyduje sam według posiadanych umiejętności do administracji strony, hostingiem. Większość hostingów pomaga klientom w przenoszeniu stron po zgłoszeniu się do wsparcia technicznego.
Ale również można bez problemów spróbować przenieść stronę własnymi siłami przy pomocy naszych instrukcji w blogu 🙂