Edge для частного облака версии 4.18.05
В этой статье рассказывается, как обновить существующий локальный портал 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
Чтобы узнать версию портала, откройте в браузере следующий 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 (Конфигурация).
- На странице Конфигурация в разделе Разработка выберите Режим обслуживания.
- Установите флажок Перевести сайт в режим обслуживания.
- Введите сообщение, которое будет показываться пользователям во время технического обслуживания.
- Нажмите Сохранить конфигурацию.
- Отключите SELinux, как описано в разделе Установка утилиты Edge apigee-setup.
- Перейдите в каталог
/opt:cd /opt
- Чтобы обновить сервер с подключением к интернету:
- Скачайте файл Edge 4.18.05
bootstrap_4.18.05.shв каталог/tmp/bootstrap_4.18.05.sh:curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
- Установите утилиту
apigee-serviceверсии 4.18.05 и зависимости:sudo bash /tmp/bootstrap_4.18.05.sh apigeeuser=uName apigeepassword=pWord
где uName и pWord – имя пользователя и пароль, полученные от Apigee. Если вы не укажете pWord, вам будет предложено ввести его.
По умолчанию установщик проверяет, установлена ли у вас Java 1.8. Чтобы продолжить без установки Java, выберите вариант C.
- Скачайте файл Edge 4.18.05
- Если на сервере нет подключения к интернету:
- Создайте локальный репозиторий версии 4.18.05, как описано в разделе Как создать локальный репозиторий Apigee.
- Чтобы установить apigee-service из файла .tar:
- На узле с локальным репозиторием используйте следующую команду, чтобы упаковать локальный репозиторий в один файл .tar с именем
/opt/apigee/data/apigee-mirror/apigee-4.18.05.tar.gz:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- Скопируйте TAR-файл на узел, на котором нужно обновить Edge. Например, скопируйте его в каталог
/tmpна новом узле. - На новом узле распакуйте файл в каталог /tmp:
tar -xzf apigee-4.18.05.tar.gz
Эта команда создаст новый каталог с именем repos в каталоге, содержащем файл .tar. Например, /tmp/repos.
- Установите утилиту Edge
apigee-serviceи зависимости из/tmp/repos:sudo bash /tmp/repos/bootstrap_4.18.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
Обратите внимание, что в этой команде указан путь к каталогу repos.
- На узле с локальным репозиторием используйте следующую команду, чтобы упаковать локальный репозиторий в один файл .tar с именем
- Чтобы установить apigee-service с помощью веб-сервера Nginx:
- Настройте веб-сервер Nginx, как описано в разделе "Установка из репозитория с помощью веб-сервера Nginx" статьи Установка утилиты apigee-setup Edge.
- На удаленном узле скачайте файл Edge
bootstrap_4.18.05.shв каталог/tmp/bootstrap_4.18.05.sh:/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
где uName и pWord – имя пользователя и пароль, которые вы задали выше для репозитория, а remoteRepo – IP-адрес или имя DNS узла репозитория.
- На удаленном узле установите утилиту Edge
apigee-serviceи зависимости:sudo bash /tmp/bootstrap_4.18.05.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
- Запустите утилиту обновления на узле Postgre:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
где configFile – это файл конфигурации, который вы использовали для установки базы данных Postgres. Единственное требование к файлу конфигурации – он должен быть доступен для чтения пользователю apigee.
- Обновите базу данных Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
- Запустите утилиту обновления на узле, чтобы обновить портал:
/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
где configFile – это файл конфигурации, который вы использовали для установки портала. Единственное требование к файлу конфигурации – он должен быть доступен для чтения пользователю apigee.
- Запустите скрипт
update.phpDrupal, открыв следующий URL в окне браузера:http://portal_IP_DNS:8079/update.php
- Отключите Drupal, чтобы перейти в режим обслуживания:
- В меню Drupal выберите Configuration (Конфигурация).
- На странице Конфигурация в разделе Разработка выберите Режим обслуживания.
- Снимите флажок Перевести сайт в режим обслуживания.
- Нажмите Сохранить конфигурацию.
Обратите внимание, что после обновления корневой каталог будет следующим:
/opt/apigee/apigee-drupal/wwwroot
Обновление завершено.