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

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

Как обновить ядро Drupal

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

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

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

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

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

Как узнать текущую версию 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. Также ознакомьтесь со статьей Обновление 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. Однако между релизами Private Cloud вам следует следить за новыми модулями Drupal.

Если модуль находится в папке /profiles/apigee/modules/contrib, вы можете заменить его более новой версией, сохранив ее в папке /sites/all/modules/contrib. Edge для частного облака использует более новую версию в /sites/all/modules/contrib, а не более старую версию в /profiles/apigee/modules/contrib. Подробнее о том, как обновить модули…

Если вы установите новую версию частного облака, в которой будет более новая версия модуля, ранее сохраненного в /sites/all/modules/contrib, удалите модуль из /sites/all/modules/contrib. Подробнее о том, как перемещать модули и темы…

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

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