Jak szybko przenieść stronę z jednego serwera na drugi?
Może się wydawać, że to jest temat na cały dzień pracy. Jednak nic bardziej mylnego. Chwila moment i mamy temat załatwiony.
Przygotowanie serwera
Pierwsza sprawa konfigurujemy nowy serwer. Instalujemy apache/nginx, bazę danych, tworzymy użytkowników itp itd. Oraz tworzymy plik konfiguracyjny dla hosta. Nie będę tutaj tego pokazywał, bo inaczej to wygląda dla nginx’a, a inaczej dla apache2. Ewentualnie jak kopiujesz stronę na hosting to już masz to zrobione wszystko i w panelu wystarczy, że wpiszesz nazwę domeny.
Skopiowanie danych
Następnym krokiem jest zalogowanie się przez ssh na serwer źródłowy. Tutaj musimy utworzyć dwie kopie. Jedna plików, a druga bazy danych:
ssh uzytkownik@domena.pl
[podaj haslo jesli prosi]
cd /var/www
tar -cvf archive.tar /folder_z_strona
mysqldump -u root -p [nazwa_tabeli] > dump.sql
System poprosi Ciebie o podanie hasła. Sprawdz czy istnieją teraz pliki archve.tar oraz dump.sql i zapamiętaj ich ścieżkę.
Zaloguj się teraz przez ssh na serwer źródłowy. Jak się zalogujesz to przejdź do miejsca, gdzie powinny być te pliki np domena.pl/public_html czy /var/www/. Kwestia tego co ustawiłeś.
ssh uzytkownik@nowy_serwer
[podaj haslo jesli prosi]
scp uzytkownik@domena.pl:/var/www/archive.tar /var/www
scp uzytkownik@domena.pl:/var/www/dump.sql /var/www
W obu wypadkach poprosi o hasło. Teraz sprawdź czy masz pliki i zaczynamy dalszą część przenoszenia. Strony.
Najpierw zajmiemy się rozpakowaniem plików:
cd /var/www
tar -xvf archive.tar
Teraz edytuj plik dump.sql i dopisz tam jaką bazę danych będziesz używać. Gdy to zrobisz to uruchom polecenie i wpisz hasło:
mysql -u root -p < dump.sql
Ponowna konfiguracja i testy
Dobra już mamy wszystko skopiowane to czas przejść do kolejnego etapu. Konfiguracja i testy. W wypadku przenoszenia działającej strony zależy nam, aby była ona jak najdłużej dostępna. Dlatego testować będziemy podmieniając adres ip domeny, aby to zrobić uruchom na swojej lokalnej maszynie plik /etc/hosts i tam wpisz taką linijkę:
ipserwera adresstrony.pl
Zapisz ten plik. W tym momencie gdy w przeglądarce wpiszesz adres strony to przekieruje Ciebie na serwer docelowy, a nie ten, który jest podany w strefie dns.
Teraz ustaw dostępy do bazy danych, nadaj odpowiednie uprawnienia do plików cache itp (dokładnie tak samo jak na starym serwerze) i przeklikaj całą stronę. Gdy wszystko będzie poprawnie przejdź do następnego etapu.
Na zakończenie
Gdy już wszystko przeklikałeś i jest poprawnie to wyłącz starą stronę. Jeśli pojawiły się w między czasie nowe treści to skopiuj jeszcze raz bazę i ewentualne dodatkowe pliki. Teraz musisz edytować w DNS rekord A kierując go na nowy adres IP serwera. Przy okazji nie zapomnij usunąć u siebie rekordu w pliku /etc/hosts.
No i teraz czekamy, aż wszystkie serwery załapią zmiany. Trwa to do 24 godzin, ale pierwsze osoby widzą stronę po chwili także się nie przejmuj, że Ty jeszcze nie widzisz strony, lada moment i Ty ją zobaczysz.