Aktualizowanie Drupala

Co kilka miesięcy wydawana jest nowa „duża” wersja Drupala (pomniejsze częściej). Zaleca się regularne dokonywanie aktualizacji, co pomoże uniknąć potencjalnych problemów związanych z lukami bezpieczeństwa i zapewni dostęp do nowych funkcji.

Uwaga. Przed dokonaniem aktualizacji do nowej, „dużej” wersji Drupala (np. 5, 6 czy 7), należy sprawdzić, czy zainstalowane moduły dodatkowe oraz skórki są dostępne w wersjach kompatybilnych z nowym Drupalem (czy zostały zaktualizowane).

Kroki wstępne

Aktualizację witryny warto poprzedzić zalogowaniem się do konta administratora (pierwszego konta użytkownika) oraz aktywacją trybu przerwy technicznej: ZarządzajKonfiguracja witrynyPrzerwa techniczna.

Następnie należy wyłączyć wszystkie moduły dodatkowe, czyli takie, które nie są standardowymi składnikami Drupala, a także zmienić skórkę witryny na domyślną (Garland w Drupalu 5 i 6): ZarządzajBudowa witrynyModuły oraz Skórki.

Tworzenie kopii zapasowej istniejącej konfiguracji

Przed przystąpieniem do aktualizacji należy utworzyć zapasowe kopie istniejących plików i bazy danych. Aktualizacja bazy danych nie zawsze jest konieczna, mimo to i w takich wypadkach nie zaszkodzi skopiować ją w bezpieczne miejsce.

Do pobrania plików istniejącej instalacji Drupala można wykorzystać klienta FTP lub konsolę serwera. Następnie należy skopiować zawartość bazy danych przy pomocy narzędzia phpMyAdmin lub linii poleceń serwera MySQL.

phpMyAdmin
  • zaloguj się do phpMyAdmin i wskaż odpowiednią bazę danych na liście po lewej>
  • kliknij kartę Eksport
  • kliknij Zaznacz wszystkie
  • upewnij się, że zaznaczone są opcje StrukturaDane
  • zaznacz Zapisz jako plik
  • kliknij przycisk Wykonaj i zapisz plik .sql na dysk
linia poleceń MySQL (alternatywnie)

Przed wykonaniem kolejnych czynności najlepiej jest wyłączyć wszelkie zadania cron.

Następnie należy przenieść się do katalogu instalacji Drupala i pobrać specjalny skrypt, który utworzy kopię zapasową bazy danych w pliku backup.sql:

wget -O drupalsqldump.sh "http://cvs.drupal.org/viewvc.py/drupal/contributions/sandbox/drumm/tools/drupalsqldump.sh?view=co"
chmod +x drupalsqldump.sh

Poniższa komenda spowoduje sprawdzenie ustawień w pliku settings.php, automatyczne połączenie z bazą danych i utworzenie jej kopii:

./drupalsqldump.sh sites/default/set­tings.php > backup/backup.sql

Pobranie i wysłanie na serwer nowych plików Drupala

Paczki z Drupalem znajdują się w dziale Downloads witryny oficjalnej. Za pomocą klienta FTP należy przenieść stare pliki do osobnego katalogu, np. o nazwie kopia. Najlepiej jest wysyłać pliki nowego Drupala do katalogu, w którym brak pozostałości po starym.

Następnie należy przystąpić do wysyłki nowych plików, rozpakowanych z pobranej wcześniej paczki, a po zakończeniu tego procesu – upewnić się, że możliwy jest zapis do podkatalogu files.

Na serwer trzeba także wysłać pliki wszelkich modułów dodatkowych, które mają działać w witrynie (lista dostępnych modułów). Muszą być one kompatybilne z nowym Drupalem. Podobnie należy postąpić z niestandardowymi skórkami.

Następujące pliki muszą zostać skopiowane z katalogu z kopią zapasową do katalogu instalacji Drupala:

  • .htaccess
  • sites/default/set­tings.php
  • katalog files
  • wszelkie inne pliki, które mogą okazać się potrzebne

Uruchomienie skryptu aktualizującego bazę danych

Przed wywołaniem skryptu należy się zalogować jako użytkownik nr 1, czyli administrator witryny, a jeśli jest to niemożliwe – wyedytować skrypt update.php, zmieniając ustawienie $access_checkTRUE na FALSE. Po dokonaniu aktualizacji bazy danych trzeba przywrócić poprzednią wartość! W przeciwnym razie każdy będzie w stanie uruchomiać skrypt aktualizujący.

Końcowym krokiem jest oczywiście uruchomienie skryptu, co czyni się za pomocą przeglądarki, przechodząc pod adres strony uzupełniony nazwą skryptu: http://example.com/update.php. Skrypt uruchama się jedynie raz. Gdy zakończy on pracę, warto sprawdzić, czy nie pojawiły się komunikaty o wystąpieniu błędów.

Po aktualizacji

Każda witryna jest inna

Tym jakże romantycznym hasłem autor chciał przekazać, że witryna może wymagać wykonania jakichś dodatkowych czynności, zależnie od jej konfiguracji. Większość problemów związanych z aktualizacją wynika stąd, że osoby je przeprowadzające nie pamiętają o specyficzności konfiguracji swoich witryn.

Włączenie modułów i skórek

Na stronach ZarządzajBudowa witrynyModułySkórki należy włączyć wszelkie potrzebne moduły i skórki, a na ZarządzajZarządzanie użytkownikamiUprawnienia (lub Kontrola dostępu) nadać użytkownikom odpowiednie uprawnienia.

Usunięcie plików

Ostatnim krokiem jest usunięcie bądź przeniesienie w inne miejsce plików install.php, CHANGELOG.txt, INSTALL.txt, INSTALL.mysql­.txt, INSTALL.pgsql­.txt, LICENSE.txt, MAINTAINERS.txt oraz UPGRADE.txt, znajdujących się w głównym katalogu Drupala.

Testowanie zaktualizowanej witryny

Warto przeprowadzić test funkcjonowania zaktualizowanego Drupala, odwiedzając najpopularniejsze wśród odwiedzających strony. Które? Można się tego dowiedzieć obserwując dzienniki zdarzeń w dziale zarządzania.

Potem można już odwiedzić witrynę i wyłączyć tryb przerwy technicznej, udostępniając ją odwiedzającym.


Fragmenty tego tekstu są tłumaczeniem stron Drupal handbook, który udostępniany jest na zasadach licencji Creative Commons Attribution-ShareAlike 2.0.

© Copyright 2000–2007 by the individual contributors (Drupal.org)
© Copyright 2006–2008 Arche Twist