Оновлення версії drupal

Увага: у разі використання наведеного опису можливе виникнення ситуацій, яких автор не передбачив. Є вірогідність втрати даних або порушення працездатності вашого сайту. Використовуйте на свій власний ризик. В будь-якому разі не нехтуйте створенням резевної копії даних. Вас попереджено.

1. Зареєструйтеся на сайті з правами суперкористувача.

2. Переведіть сайт у режим технічного обслуговування.

Перейдіть до розділу Адміністрування -- Налаштування -- Режим обслуговування. Встановіть флаг Перемкнути сайт в режим обслуговування та натисніть кнопку Запам'ятати налаштування.

Доцільно подивитися, як буде виглядати сайт протягом вашої роботи. Для цього зайдіть на нього як анонімний відвідувач (наприклад, використовуючи інший браузер). Зважте на те, що певний час деякі сторінки сайту можуть відображатися з кеша. Спробуйте помандрувати сайтом, доки не побачите сторінку з написом на зразок: Сайт на розробці. Сайт Dnipro Networks зараз на ремонті. Ми працюємо, щоб зробити його кращим. Він скоро почне працювати. Дякуємо за терпіння.

Переведення сайту в режим обслуговування є необхідним для припинення поновлень інформації в базі даних у результаті дій користувачів. В цьому режимі можна зробити резервну копію бази (див. далі).

3. Зробіть резервну копію поточної бази даних drupal:

# cd /data/backup
# mysqldump -p -u root \
--add-locks \
--lock-all-tables \
drupal > drupaldb-20120804.sql

Перевірте, чи резервна копія є якісною:

# less drupaldb-20120804.sql

Для економії наявного дискового простору можете стиснути резервну копію бази даних:

bzip2 drupaldb-20120804.sql

Поки відбувається стискання можете продовжувати оновлення drupal.

4. Зробіть копію файлів drupal:

# cd /data/backup
# tar cvf drupal-20120804.tar \
-C /var/www/data drupal

Для економії наявного дискового простору можете стиснути резервну копію файлів:

bzip2 drupal-20120804.tar

Поки відбувається стискання можете продовжувати оновлення drupal.

5. Встановіть тему сайту Garland.

Перейдіть до розділу Адміністрування -- Вигляд. Натисніть посилання Встановити базово біля теми Garland.

6. Вимкніть всі модулі, які було встановлено додатково до базового комплекту (Ядро).

Зробіть це у розділі Адміністрування -- Модулі.

7. Перейдіть до каталогу, в якому встановленно drupal, завантажте нову версію пакету (вважатимемо, що це версія 7.15) та разархівуйте її:

# cd /www/data
# wget http://ftp.drupal.org/files/projects/drupal-7.15.tar.gz
# tar xzvf drupal-7.15.tar.gz

8. Скопіюйте каталог sites зі старої інсталяції до створеного каталогу drupal-7.15:

# cp -r drupal/sites drupal-7.15

На питання, чи перезаписати файли, що вже існують -- README.txt (їх декілька), default.settings.php, та example.sites.php дайте негативну відповідь (No).

9. Скопіюйте з каталога modules cтарої інсталяції підкаталоги, які відсутні у каталозі modules нової інсталяції.

10. Якщо в попередній інсталяції drupal ви вносили якісь зміни до файлів .htaccess або robots.txt, повторіть їх у новій інсталяції (Примітка: вочевидь, файли .htaccess, які знаходилися в підкаталогах каталога sites, були скопійовані в п. 8 і не потребують коригувань).

11. Перейменуйте каталоги зі старою та новою інсталяціями. Нова інсталяція має знаходитися тепер під тим ім'ям, під яким раніше була стара:

# mv drupal drupal-7.14
# mv drupal-7.15 drupal

12. Відкоригуйте права доступу:

# chown -R 0:0 drupal
# chown -R drupal:drupal drupal/sites

13. Якщо базовий вказівник на ваш сайт, наприклад, такий: http://www.your-site.kiev.ua, відкрийте в браузері посилання: http://www.your-site.kiev.ua/update.php.

На сторінці, що з'явиться, знаходяться вказівки, які ви вже виконали раніше. Тому просто натисніть Continue.

14. [Додане для версії 7.50] Якщо на цьому етапі буде відображено попередження "User warning: The following module is missing from the file system: default. In order to fix this, put the module back in its original location. For more information, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1122 of /includes/bootstrap.inc)." видаліть з бази даних запис для профілю default:

mysql> delete from system where name='default';
Query OK, 1 row affected (0.00 sec)

15. На наступній сторінці можете ознайомитися зі змінами, які привнесені новою версією. Натисніть Apply pending updates. Спостерігайте за встановленням оновлень. Якщо повідомлень про помилки немає, оновлення були успішно встановлені (про що і повідомляє сторінка, що відобразиться).

Можливо, що на цьому етапі буде відображено повідомлення про відсутність наявних оновлень. Очевидно, це означає, що всі оновлення даної версії стосувалися лише файлів пакету і, фактично, були здійснені на кроках 7-14.

16. [Додане для версії 7.24] Налаштуйте каталог для зберігання приватних файлів користувачів, якщо це не було зроблено раніше. Перейдіть до розділу Адміністрування -- Налаштування -- Носій -- Файлова система і встановіть значення параметру Шлях приватної файлової системи , наприклад, sites/<ім’я сайту>/private_files. Натисніть кнопку Запам’ятати налаштування. Відповідний каталог буде створено автоматично (за умови правильного налаштування повноважень доступу, див. п. 12).

17. [Додане для версії 7.24] Налаштуйте каталог для зберігання тимчасових файлів, якщо це не було зроблено раніше. Перейдіть до розділу Адміністрування -- Налаштування -- Носій -- Файлова система і встановіть значення параметру Тимчасова директорія, наприклад, sites/<ім’я сайту>/tmp. Натисніть кнопку Запам’ятати налаштування. Відповідний каталог буде створено автоматично (за умови правильного налаштування повноважень доступу, див. п. 12).

18. [Додане для версії 7.24] В версії drupal 7.24 виправлено чергові помилки, пов’язані з безпекою. Заходи щодо захисту сайту також включають в себе коригування файлів .htaccess керування доступом до каталогів з підвантаженими файлами користувачів -- загально доступними (типово sites/default/files, sites/<ім’я сайту>/files), приватними (за замовченням каталоги не встановлені, див. п. 15) та тимчасовими файлами (за замовченням використовується системний каталог для тимчасових файлів /tmp, див. п. 16). Якщо поточний вміст наявних файлів .htaccess не відповідає вимогам безпеки, на адміністративній сторінці статусного звіту (Адміністрування -- Звіти -- Статусний звіт) буде відображено відповідне повідомлення і посилання на опис проблеми ( http://drupal.org/SA-CORE-2013-003).

Для коригування файлів .htaccess керування доступом до каталогів з підвантаженими файлами користувачів необхідно виконати наступні дії:

  • віднайти всі файли .htaccess, які потребують коригування:
  • # cd /www/data/drupal
    # find . -name .htaccess -mindepth 2

  • видалити знайдені файли:
  • # find . -name .htaccess -mindepth 2 -delete

  • перейти до розділу Адміністрування -- Налаштування -- Носій -- Файлова система та натиснути кнопку Запам’ятати налаштування
  • пересвідчитися в тому, що в відповідних каталогах з’явилися нові файли .htaccess
  • # find . -name .htaccess -mindepth 2

  • повторіть аналогічні дії для всіх сайтів на вашому сервері

19. Перейдіть до розділу Адміністрування -- Звіти -- Статусний звіт.

Переконайтеся, що там немає повідомлень про будь-які проблеми.

20. Перейдіть до розділу Адміністрування -- Звіти -- Доступні оновлення для того, аби перевірити вручну ступінь новітності ядра.

Має з'явитися повідомлення, що ядро найостаннішої версії.

21. Перейдіть до розділу Адміністрування -- Модулі.

Увімкніть модулі, які були відімкнені до встановлення оновлень.

22. На цій самі сторінці відвідайте посилання перевірте вручну для перевірки наявності оновлень модулів.

Якщо оновлення існують, перейдіть на вкладку Оновити для їх встановлення.

23. Якщо ви використовували іншу тему для сайту ніж Garland, встановіть її знову у розділі Адміністрування -- Вигляд.

24. Для безпеки переконайтеся, що змінна update_free_access в файлі settings.php має значення FALSE.

# cd drupal/sites/default
# grep update_free_access settings.php

Відкоригуйте файл, якщо це не так.

25. Відімкніть режим технічного обслуговування сайту.

Перейдіть до розділу Адміністрування -- Налаштування -- Режим обслуговування. Зніміть флаг Перемкнути сайт в режим обслуговування та натисніть кнопку Запам'ятати налаштування.

Оновлення версії drupal завершено. Якщо в вас все вдалося, вітаю вас з успіхом. Якщо щось пішло не так, бажаю вдачі з вирішенням проблем, що виникли. У самому крайньому випадку у вас є резервна копія старої інсталяції, сподіваюся, що її відновлення не становитиме складнощів для вас.

Наведена процедура була перевірена та відкоригована на власному досвіді оновлення drupal до версій 7.4-7.56.

Посилання за темою:

* Upgrading from previous versions http://drupal.org/upgrade/