Edge for Private Cloud 4.19.01
В этой процедуре описывается, как обновить существующий локальный портал Apigee Developer Services (или просто портал).
Как определить правильную процедуру обновления
Процедура обновления портала зависит от текущей установки:
- Если в вашей установке используется Nginx/Postgres, следуйте инструкциям в разделе Обновление портала с помощью RPM ниже.
- Если в вашей установке используется Apache/MySQL или Apache/MariaDB, ознакомьтесь с разделом Преобразование портала на основе tar в портал на основе RPM.
Определите текущий тип установки
Если вы не знаете, какой тип установки используется, выполните следующую команду:
ls /opt
Если вы используете Nginx/Postgres, вы увидите следующие каталоги:
/opt/apigeeи/opt/nginx.Если вы используете Apache/MySQL или Apache/MariaDB, то этих каталогов быть не должно.
/opt/apigee/apigee-service/bin/apigee-all status
Если вы используете Nginx/Postgres, вы увидите следующие выходные данные:
+ apigee-service apigee-drupal-devportal status OK: apigee-drupal-devportal is up and running + apigee-service apigee-lb status apigee-service: apigee-lb: OK + apigee-service apigee-postgresql status apigee-service: apigee-postgresql: OK
apachectl -S
Если вы используете Apache/MySQL или Apache/MariaDB, эта команда должна вернуть корневой каталог веб-сервера портала в следующем формате:
*:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)
Каталог установки по умолчанию
В процессе обновления предполагается, что портал был установлен по следующему пути:
- 4.17.05 и более поздние версии:
/opt/apigee/apigee-drupal/wwwroot - До версии 4.17.05:
/opt/apigee/apigee-drupal(Nginx) или/var/www/html(Apache).
Если вы установили портал не в каталог по умолчанию, измените пути в процедуре ниже, чтобы использовать каталог установки.
Поддерживаемые версии для обновления
Эта процедура обновления поддерживается для следующих версий портала:
- OPDK-17-01.x
- OPDK-17-05.x
- OPDK-17-09.x
- OPDK-18-01.x
- OPDK-18-05.x
Чтобы определить версию портала, откройте в браузере следующий URL:
http://yourportal.com/buildInfo
Прежде чем начать
Если вы изменили код в ядре Drupal или в любых нестандартных модулях, ваши изменения будут перезаписаны. В частности, это касается изменений, которые вы могли внести в .htaccess.
Все, что находится за пределами каталога /sites, принадлежит Drupal. Исключение составляет файл robots.txt. Если он находится в корневом каталоге, то будет сохранен.
Прежде чем приступать к установке, создайте резервную копию всего корневого каталога Drupal. После выполнения описанных ниже шагов по установке вы сможете восстановить свои настройки из резервной копии.
Как обновить портал с помощью RPM
Чтобы обновить RPM портала на узле, выполните следующие действия:
- Перейдите в каталог Drupal (по умолчанию
/opt/apigee/apigee-drupal):cd /opt/apigee/apigee-drupal
- Создайте резервную копию базы данных Drupal. Команда
pg_dumpсоздает копию базы данных:pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin --password --format=c > /tmp/portal.dmp
Где:
- devportal – название базы данных, указанное в свойстве
PG_NAMEв файле конфигурации установки портала. - host_IP_address – IP-адрес узла портала.
- drupaladmin – имя пользователя Postgres, которое портал использует для доступа к базе данных, как указано в свойстве
DRUPAL_PG_USERв файле конфигурации установки портала.
Вам будет предложено ввести пароль пользователя Postgres, определенный свойством
DRUPAL_PG_PASSв файле конфигурации установки портала.Если позже вы захотите восстановить данные из резервной копии, используйте следующую команду:
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- devportal – название базы данных, указанное в свойстве
- Создайте резервную копию всего корневого каталога Drupal. По умолчанию это
/opt/apigee/apigee-drupal, но вы могли изменить путь.Если вы не знаете, где находится этот каталог, используйте команду
drush statusили выберите в меню Drupal Configuration (Конфигурация) > Media (Медиа) > File (Файл), чтобы определить местоположение общедоступной файловой системы и путь к частной файловой системе (для следующего шага). - Создайте резервную копию файлов в
/opt/apigee/data/apigee-drupal-devportal/private. - Переведите Drupal в режим обслуживания:
- В меню Drupal выберите Configuration (Конфигурация).
- На странице Configuration (Конфигурация) в разделе Development (Разработка) выберите Maintenance mode (Режим обслуживания).
- Установите флажок Перевести сайт в режим обслуживания.
- Введите сообщение, которое пользователи будут видеть во время обслуживания.
- Нажмите Сохранить конфигурацию.
- Отключите SELinux, как описано в разделе Установка утилиты apigee-setup для Edge.
- Перейдите в каталог
/opt:cd /opt
- Чтобы обновить сервер, подключенный к интернету:
- Скачайте файл Edge 4.19.01
bootstrap_4.19.01.shв каталог/tmp/bootstrap_4.19.01.sh:curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
- Установите утилиту Edge 4.19.01
apigee-serviceи зависимости:sudo bash /tmp/bootstrap_4.19.01.sh apigeeuser=uName apigeepassword=pWord
где uName и pWord – имя пользователя и пароль, полученные от Apigee. Если вы не укажете pWord, вам будет предложено ввести его.
По умолчанию установщик проверяет, установлена ли у вас Java 1.8. Вы можете выбрать вариант C, чтобы продолжить без установки Java.
- Скачайте файл Edge 4.19.01
- Для обновления на сервере без подключения к интернету:
- Создайте локальное хранилище версии 4.19.01, как описано в разделе Создание локального хранилища Apigee.
- Чтобы установить apigee-service из TAR-файла:
- На узле с локальным репозиторием используйте следующую команду, чтобы упаковать локальный репозиторий в один файл .tar с именем
/opt/apigee/data/apigee-mirror/apigee-4.19.01.tar.gz:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- Скопируйте TAR-файл на узел, на котором вы хотите обновить Edge. Например, скопируйте его в каталог
/tmpна новом узле. - На новом узле распакуйте файл в каталог /tmp:
tar -xzf apigee-4.19.01.tar.gz
Эта команда создает новый каталог с названием repos в каталоге, содержащем файл TAR. Например, /tmp/repos.
- Установите утилиту Edge
apigee-serviceи зависимости из/tmp/repos:sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
Обратите внимание, что в этой команде вы указываете путь к каталогу repos.
- На узле с локальным репозиторием используйте следующую команду, чтобы упаковать локальный репозиторий в один файл .tar с именем
- Чтобы установить apigee-service с помощью веб-сервера Nginx:
- Настройте веб-сервер Nginx, как описано в разделе "Установка из репозитория с помощью веб-сервера Nginx" в статье Как установить утилиту apigee-setup для Edge.
- На удаленном узле скачайте файл Edge
bootstrap_4.19.01.shв каталог/tmp/bootstrap_4.19.01.sh:/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
где uName и pWord – имя пользователя и пароль, заданные выше для хранилища, а remoteRepo – IP-адрес или DNS-имя узла хранилища.
- На удаленном узле установите утилиту Edge
apigee-serviceи зависимости:sudo bash /tmp/bootstrap_4.19.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
где uName и pWord – имя пользователя и пароль для доступа к репозиторию.
- Чтобы обновить утилиту
apigee-setup, используйтеapigee-service:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- Запустите утилиту обновления на узле Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
где configFile – файл конфигурации, который вы использовали для установки базы данных Postgres. Единственное требование к файлу конфигурации – он должен быть доступен или доступен для чтения пользователю apigee.
- Чтобы обновить портал, запустите утилиту обновления на узле:
/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
где configFile – файл конфигурации, который вы использовали для установки портала. Единственное требование к файлу конфигурации – он должен быть доступен или доступен для чтения пользователю apigee.
- Запустите скрипт Drupal
update.php, открыв в браузере следующий URL:http://portal_IP_DNS:8079/update.php
- Отключите режим обслуживания:
- В меню Drupal выберите Configuration (Конфигурация).
- На странице Configuration (Конфигурация) в разделе Development (Разработка) выберите Maintenance mode (Режим обслуживания).
- Снимите флажок Перевести сайт в режим обслуживания.
- Нажмите Сохранить конфигурацию.
Обратите внимание, что после обновления корневой каталог будет следующим:
/opt/apigee/apigee-drupal/wwwroot
Обновление завершено. Если утилита обновления Apigee понизила версию Drupal, возможно, вам потребуется повторно запустить утилиту обновления Drupal. Подробнее о том, как повторно запустить обновление Drupal…
Повторно запустите обновление Drupal.
Если при запуске утилиты обновления Apigee для обновления Edge для частного облака фактически происходит понижение версии Drupal, переустановите обновление Drupal. Это может произойти, если вы обновили только Drupal между обновлениями Private Cloud.
Пример:
- Вы использовали версию 4.18.05 Edge для частного облака, которая включала Drupal 7.59.
- Вы обновили Drupal до версии 7.64, чтобы установить обязательное обновление системы безопасности.
- Вы обновляете Private Cloud до версии 4.19.01, которая включает Drupal 7.61.
Как показывает этот пример, версия Drupal, используемая утилитой обновления Apigee, может не ссылаться на последнее обновление Drupal. В результате вам придется заново выполнить обновление Drupal, чтобы вернуть установленную версию Drupal к более поздней.