W związku z krytyczną poprawką w wersji 7.32 jądra Drupala występuje konieczność aktualizacji własnego portalu. Nie warto z tym zwlekać! Poniżej przedstawiam kroki procedury aktualizacji.
1. Przełączenie strony w stan przerwy technicznej
Administracja > Konfiguracja > Dla deweloperów > Przerwa techniczna
2. Backup danych
Zanim zrobimy backup możemy najpierw wyczyścić cache (Administracja > Konfiguracja > Dla deweloperów > Wydajność). Ja robię backup przed czyszczeniem cache'a i po.
2.1 Eksport całej bazy danych
2.2 Skopiowanie wszystkich plików
2.3* Dla świętego spokoju można zrobić screenshots włączonych modułów
2.4* Dla świętego spokoju można zrobić screenshot widocznych uprawnień (ls -lia) w głównym folderze plików portalu
3. Pobranie nowej wersji jądra Drupala (drupal-7.32.tar.gz)
4. Usunięcie na produkcji plików i folderów (# rm -rf folder):
Foldery:
/includes
/misc
/modules
/profiles
/scripts
/themes
Pliki:
.gitignore
.htaccess (Uwaga! Będzie trzeba przywrócić!)
authorize.php
CHANGELOG.txt
COPYRIGHT.txt
cron.php
index.php
install.php
INSTALL.txt
INSTALL.mysql.txt
INSTALL.pgsql.txt
INSTALL.sqlite.txt
LICENSE.txt
MAINTAINERS.txt
README.txt
robots.txt (Uwaga! Będzie trzeba przywrócić!)
update.php
UPGRADE.txt
web.config
xmlrpc.php
5. Zmiana nazwy dla folderu sites
#mv /drupal_files/html/sites /drupal_files/html/sites_old
6. Zawartość mojego folderu po powyższych operacjach:
ckfinder
pma
sitemap.xml
sites_old
7. Rozpakowanie pobranego pliku z najnowszą wersją rdzenia Drupala
#cp /home/drupal-7.32.tar.gz .
#tar -xzvf drupal-7.32.tar.gz
8. Przeniesienie plików o poziom wyżej
#mv drupal-x.x/* ./
#mv drupal-x.x/.htaccess ./
#mv drupal-x.x/.gitignore ./
9. Usunięcie folderu drupal-7.32
#rmdir drupal-7.32/
10. Przywrócenie folderu sites
#rm -rf sites
#mv /drupal_files/html/sites_old /drupal_files/html/sites
11. Przywrócenie plików .htaccess i robots.txt
12. Uruchomienie skryptu UPDATE
http://www.example.com/update.php
13. Sprawdzenie raportu o stanie witryny
Administracja > Raporty > Raport o stanie witryny
14. Przejdź do trybu online (wyłącz Przerwę techniczną)
Administracja > Konfiguracja > Dla deweloperów > Przerwa techniczna
Dobrze zrobić backup bazy i plików tuż przed wyłączeniem przerwy technicznej.
1. Przełączenie strony w stan przerwy technicznej
Administracja > Konfiguracja > Dla deweloperów > Przerwa techniczna
2. Backup danych
Zanim zrobimy backup możemy najpierw wyczyścić cache (Administracja > Konfiguracja > Dla deweloperów > Wydajność). Ja robię backup przed czyszczeniem cache'a i po.
2.1 Eksport całej bazy danych
2.2 Skopiowanie wszystkich plików
2.3* Dla świętego spokoju można zrobić screenshots włączonych modułów
2.4* Dla świętego spokoju można zrobić screenshot widocznych uprawnień (ls -lia) w głównym folderze plików portalu
3. Pobranie nowej wersji jądra Drupala (drupal-7.32.tar.gz)
4. Usunięcie na produkcji plików i folderów (# rm -rf folder):
Foldery:
/includes
/misc
/modules
/profiles
/scripts
/themes
Pliki:
.gitignore
.htaccess (Uwaga! Będzie trzeba przywrócić!)
authorize.php
CHANGELOG.txt
COPYRIGHT.txt
cron.php
index.php
install.php
INSTALL.txt
INSTALL.mysql.txt
INSTALL.pgsql.txt
INSTALL.sqlite.txt
LICENSE.txt
MAINTAINERS.txt
README.txt
robots.txt (Uwaga! Będzie trzeba przywrócić!)
update.php
UPGRADE.txt
web.config
xmlrpc.php
5. Zmiana nazwy dla folderu sites
#mv /drupal_files/html/sites /drupal_files/html/sites_old
6. Zawartość mojego folderu po powyższych operacjach:
ckfinder
pma
sitemap.xml
sites_old
7. Rozpakowanie pobranego pliku z najnowszą wersją rdzenia Drupala
#cp /home/drupal-7.32.tar.gz .
#tar -xzvf drupal-7.32.tar.gz
8. Przeniesienie plików o poziom wyżej
#mv drupal-x.x/* ./
#mv drupal-x.x/.htaccess ./
#mv drupal-x.x/.gitignore ./
9. Usunięcie folderu drupal-7.32
#rmdir drupal-7.32/
10. Przywrócenie folderu sites
#rm -rf sites
#mv /drupal_files/html/sites_old /drupal_files/html/sites
11. Przywrócenie plików .htaccess i robots.txt
12. Uruchomienie skryptu UPDATE
http://www.example.com/update.php
13. Sprawdzenie raportu o stanie witryny
Administracja > Raporty > Raport o stanie witryny
14. Przejdź do trybu online (wyłącz Przerwę techniczną)
Administracja > Konfiguracja > Dla deweloperów > Przerwa techniczna
Dobrze zrobić backup bazy i plików tuż przed wyłączeniem przerwy technicznej.
The following updates returned messages
dblog module
Update #7002
Failed: DatabaseSchemaObjectExistsException:
Nie mogłem utworzyć indeksu <em class="placeholder">severity</em> dla tabeli <em class="placeholder">watchdog</em>:
indeks już istnieje. w DatabaseSchema_mysql->addIndex() (linia 437 z /var/www/html/includes/database/mysql/schema.inc).
Na szczęście znalazłem prosty sposób na naprawienie tego błędu. Oto procedura, którą znalazłem w Internecie i która pomogła
The watchdog table is created by the optional core dblog module's dblog.install file. If the watchdog table becomes corrupted and cannot be repaired with phpMyAdmin or MySQL's command line utilities (it happens) you can easily recreate the watchdog table by cycling installation of the dblog module, as follows:
1) put site in offline mode (admin/settings/site-maintenance)
2) disable the dblog module (admin/build/modules)
3) uninstall the dblog module (admin/build/modules/uninstall)
4) re-enable the dblog module (admin/build/modules)
5) run /update.php to check for errors, and
6) put site in on-line mode (admin/settings/site-maintenance).
If desired, use phpMyAdmin or MySQL command line utilities to verify the watchdog table has been recreated.