Как обновить Drupal

Edge for Private Cloud 4.19.01

При установке Edge для частного облака на портале Apigee Developer Services (или просто портале) вы можете получить уведомление о том, что доступна новая версия Drupal. Новая версия может означать выпуск функции Drupal, исправление, обновление системы безопасности или другой тип обновления Drupal. Если обновление связано с безопасностью, установите его как можно скорее, чтобы защитить свой сайт.

Обновите ядро Drupal

Ниже описано, как обновить Drupal 7.x.y в частном облаке до другой промежуточной версии (например, Drupal 7.54 до 7.59).

Обратите внимание на следующее:

  • Эта процедура обновляет только вашу установку Drupal. При этом не обновляется программное обеспечение Apigee, которое поставляется в составе портала. Информацию об обновлении ПО портала Apigee можно найти в статье Как обновить портал.

    Если во время обновления Private Cloud (например, с 4.18.05 до 4.19.01) утилита обновления Apigee понижает версию Drupal, возможно, вам потребуется повторно запустить утилиту обновления Drupal. Подробнее о том, как повторно запустить обновление Drupal…

  • Команды Drush (Drupal Shell) необходимо выполнять из корневого каталога сайта портала. По умолчанию портал устанавливается в следующую папку:
    • /opt/apigee/apigee-drupal/wwwroot (Nginx)
    • /var/www/html (Apache)
    В инструкциях ниже предполагается, что сервер Nginx установлен в указанном выше местоположении по умолчанию.

Как определить текущую версию Drupal

Прежде чем начать обновление Drupal, вы можете определить текущую версию Drupal, выполнив следующую команду из папки установки Drupal. По умолчанию Drupal устанавливается в папку /opt/apigee/apigee-drupal/wwwroot:

cd /opt/apigee/apigee-drupal/wwwroot
drush status | grep 'Drupal version'

Вы должны увидеть выходные данные в следующем формате:

Drupal version          :  7.54

Если вы установили Drupal в каталог, отличный от /opt/apigee/apigee-drupal/wwwroot, перед выполнением команды drush перейдите в этот каталог.

Обновите версию Drupal

В этом разделе описывается, как использовать команды Drush из командной строки для обновления версии Drupal. Также ознакомьтесь со статьей Updating Drupal Using Drush (Обновление Drupal с помощью Drush) на сайте Drupal.org.

Чтобы обновить установку Drupal, сделайте следующее:

  1. Перейдите в каталог /opt/apigee/apigee-drupal/wwwroot или в каталог, в который вы установили портал.
  2. Выполните полное резервное копирование всех файлов, каталогов и баз данных. Сохраните резервную копию за пределами каталога установки Drupal. Подробные инструкции приведены в разделе Резервное копирование портала.

    Если вы вносили изменения в файлы .htaccess, robots.txt или defaults.settings.php (в каталоге sites), то после обновления вам придется внести их заново. Вам также потребуется заново применить все настройки, заданные в каталоге sites/all.

  3. Переведите сайт в режим обслуживания.
    drush vset --exact maintenance_mode 1
    drush cache-clear all
  4. Установите нужную версию Drupal с помощью следующей команды:
    drush pm-update drupal-version

    где version – нужная версия.

    Вы также можете запустить drush pm-update drupal, чтобы обновить Drupal до последней версии. Вы можете запустить drush pm-updatestatus, чтобы получить список доступных дополнительных обновлений для ядра Drupal и проектов contrib.

  5. Повторно примените все изменения, внесенные в файлы .htaccess, robots.txt или defaults.settings.php (в каталоге sites).
  6. Повторно примените все изменения, внесенные в каталог sites/all .
  7. Отключите режим обслуживания:
    drush vset --exact maintenance_mode 0
    drush cache-clear all

Обновите PHP и дополнительные модули Drupal

При обновлении Drupal по инструкциям выше также обновляются модули, используемые Drupal, например contrib и PHP. Однако вам следует следить за последними модулями Drupal между выпусками Private Cloud.

Обратите внимание, что если модуль находится в /profiles/apigee/modules/contrib, вы можете заменить его более новой версией, сохранив ее в /sites/all/modules/contrib. Edge for Private Cloud использует более новую версию в /sites/all/modules/contrib, а не более старую версию в /profiles/apigee/modules/contrib. Подробную информацию можно найти в статье Updating modules (Drupal.org).

Если вы устанавливаете новую версию Private Cloud, которая включает более новую версию модуля, ранее сохраненного в /sites/all/modules/contrib, удалите модуль из /sites/all/modules/contrib. Дополнительную информацию можно найти в статье Перемещение модулей и тем (Drupal.org).

Что делать, если во время обновления возникнет проблема?

Восстановите сайт до его предыдущего состояния, используя файлы резервной копии, которые вы создали. Обратитесь в службу поддержки Apigee Edge и предоставьте сообщения об ошибках, которые появились во время обновления.