środa, 27 lipca 2011

Drupal: Ręczna aktualizacja core

Strona itchaos.pl od początku swego działania pracuje pod kontrolą systemu Drupal. Przez ostatnie czasy wszyscy byliśmy mocno zajęci, więc zaniedbaliśmy nieco kwestię aktualizacji, a tymczasem wyszła nowa wersja rdzenia CMS Drupal. Okazało się, że konieczna jest aktualizacja ręczna. Zadanie w zasadzie jest proste, ale znalazłem tylko ze 2 na prawdę proste opisy jak to dokładnie zrobić. Postanowiłem na podstawie swoich doświadczeń opisać jak taką aktualizację wykonać.

Moja aktualizacja dotyczyła przejścia z wersji 7.0 do 7.4, ale działania są na tyle ogólne, że powinny dotyczyć także innych wersji. Osobiście nie znalazłem, aby którykolwiek krok wymagał przypisu: "tylko dla wersji 7.x").

1. Zawsze rób backup

Jeśli jeszcze nie robisz na bieżąco backapów, to znaczy, że albo jeszcze nie przytrafiła Ci się katastrofa, albo aktualnie przeprowadzasz w serwisie sporo zmian, które go dopiero kształtują. Niezależnie od tego, czy masz przeprowadzane regularne tworzenie kopii zapasowych, przed aktualizacją warto wykonać pełną kopię bezpieczeństwa.

W zasadzie to wystarczy wykonać kopię wszystkich plików z folderu z instalacją Drupala. Jeśli masz na serwerze jakieś jeszcze aplikacje, nie obawiaj się, Drupal ich nie tknie. Lepiej nie pozostawiać takiej kopii zapasowej na serwerze. Pobierz pliki na lokalną maszynę poprzez protokół FTP. Wrzuć je w jakiś folder i miej pod ręką.

Bardzo ważne jest też, aby zabezpieczyć bazę danych. Kopię bazy danych można wykonać na kilka sposobów. Można ją wykonać z poziomy terminala w systemie, poprzez zdalne połączenie klienta mysql, albo aplikacje takie jak PHPMyAdmin. Nie ma wielkiego znaczenia, która z metod zostanie wykorzystana. Istotne jest, aby wykonać pełny backup. Tak na wszelki wypadek.

2. Wyłącz co zbędne

Przed aktualizacją systemu warto wyłączyć wszystkie moduły systemu nie należące do rdzenia. Zanim to jednak się wykona najlepiej przełączyć stronę w tryb "Maintence". Po wyłączeniu części modułów witryna może być niezbyt dobrze odbierana przez klienta, lub niefunkcjonalna. Lepiej w takiej sytuacji powiadomić o tym odwiedzających i zaprosić ich za parę minut.

Wyłączanie modułów trzeba wykonać z głową. Najlepiej zaznaczyć sobie jakie moduły były włączone. Następnie trzeba wyłączyć wszystko co nie należy do rdzenia CMS Drupal. Może to wymagać kilkukrotnego zapisywania konfiguracji, bo zwykle nie da się wyłączyć wszystkich modułów w jednym kroku przez wzgląd na zależności pomiędzy nimi.

3. Skopiuj pliki na serwer

Korzystając z klienta FTP skopiuj rozpakowane pliki systemu Drupal na serwer. Oczywiście na serwer należy przenieść pliki najnowszej pobranej wersji.

Część systemu na serwerze została już dopasowana do naszych potrzeb, dlatego nie wszystkie pliki należy skopiować. Przenosimy wszystkie pliki poza:
  • .htaccess
  • sites (cały folder)
  • robots.txt

4. Wykonaj aktualizację bazy i zasobów

W tym kroku należy przejść pod adres
http://site.com/update.php gdzie site.com zamieniasz na adres swojej strony. Pod powyższym adresem znajduje się wygodny wizard pozwalający na przeprowadzenie paru kroków aktualizacji. W zasadzie tutaj wszystko sprowadza się do klikania "dalej". Tylko w ostatnim kroku przechodzimy ponownie do panelu administracyjnego, a nie do strony głównej.

5. Włącz wszystko co wyłączyłeś

Przed aktualizacją plików i bazy danych konieczne było wyłączenie "nierdzennych" modułów. W tym kroku należy je wszystkie włączyć ponownie. Najłatwiej jest jeśli zrobiło się listę jakie moduły były włączone. Oczywiście konieczne jest patrzenie na zależności modułów.

Raczej nie będzie konieczne zapisywanie konfiguracji więcej niż raz, jeśli zwróci się uwagę na zależności między modułami. Czasem zapomnienie o jednym małym module może oznaczać sporo kłopotu. Na szczęście Drupal w miarę potrafi podpowiedzieć o czym się zapomniało.

6. Ponownie włącz stronę

Przejdź do:
konfiguracja > Dla Developerów > Przerwa techniczna i ponownie włącz stronę dla odwiedzających. Proponuję zaraz po tym kroku, korzystając z innej przeglądarki lub chociaż nowej sesji przeglądarki sprawdzić jak po aktualizacji strona jest widziana przez odwiedzającego. W zasadzie kłopotów być nie powinno, ale lepiej dmuchać na zimne. Jeśli robiło się jakieś ręczne zmiany do jakiś rdzennych plików Drupala, to w tym momencie można zauważyć różnicę w działaniu strony.

No i to by było na tyle. Wykonanie tych kroków powoduje dość prostą i bezstresową aktualizację core systemu Drupal. Mam nadzieję, że komuś się to przyda kiedyś. Jak już wspomniałem na samym początku, te instrukcje powinny być niezależne od wersji. Na koniec jeszcze mała rada. Proponuję nie wyrzucać plików po wykonanym poprawnie backupie. Tak przynajmniej do momentu utworzenia aktualniejszej kopii bezpieczeństwa. Najlepiej pliki strony razem ze zrzutem bazy danych spakować z wysokim stopniem kompresji, a następnie umieścić w miejscu, gdzie będzie do nich łatwy dostęp. Zwykle nad stroną pieczę prowadzi więcej niż jedna osoba, więc warto wrzucić to na jakiś serwer. Nigdy jednak nie wrzucaj takich paczek na jakieś serwery publiczne. Zawierają one zbyt wiele danych wrażliwych.

Czytaj też:

1 komentarz: