Обновление портала сервисов для разработчиков

Портал сервисов для разработчиков версии 4.17.09

В этой процедуре описывается, как обновить существующую локальную установку Apigee Developer Channel Services.

Как определить правильную процедуру обновления

Процедура обновления портала зависит от текущей установки:

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

Если вы не знаете, какой тип установки используется, выполните следующую команду:

  • 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

Чтобы определить версию портала, откройте в браузере следующий URL:

http://your_portal.com/buildInfo

Прежде чем начать

Если вы изменили код в ядре Drupal или в любых нестандартных модулях, ваши изменения будут перезаписаны. В частности, это касается изменений, которые вы могли внести в .htaccess. Все, что находится за пределами каталога /sites, принадлежит Drupal. Исключение составляет файл robots.txt. Если он находится в корневом каталоге, то будет сохранен.

Прежде чем приступать к установке, создайте резервную копию всего корневого каталога Drupal. После выполнения описанных ниже шагов по установке вы сможете восстановить свои настройки из резервной копии.

Обновление портала с помощью RPM

Чтобы обновить RPM портала на узле, выполните следующие действия:

  1. Перейдите в каталог Drupal. например /opt/apigee/apigee-drupal/wwwroot (2-е издание).

    cd /opt/apigee/apigee-drupal/wwwroot

    Информацию о каталоге по умолчанию для вашей версии продукта можно найти в разделе Каталог установки по умолчанию.

  2. Создайте резервную копию базы данных Drupal. Команда pg_dump создает копию базы данных:
    pg_dump --dbname=devportal --host=192.168.56.101
      --username=drupaladmin --password --format=c > /tmp/portal.dmp

    где:

    • dbname – название базы данных, указанное в свойстве PG_NAME в файле конфигурации установки портала.
    • host указывает IP-адрес узла портала.
    • username – имя пользователя Postgres, которое портал использует для доступа к базе данных, указанной в свойстве DRUPAL_PG_USER в файле конфигурации установки портала.
    • Вам будет предложено ввести пароль пользователя Postgres, заданный свойством DRUPAL_PG_PASS в файле конфигурации установки портала.

    Если вам потребуется восстановить данные из резервной копии, используйте следующую команду:

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. Создайте резервную копию всего корневого каталога Drupal. По умолчанию это /opt/apigee/apigee-drupal, но вы могли изменить путь.
    Если вы не знаете, где находится этот каталог, используйте команду drush status или выберите в меню Drupal Configuration (Конфигурация) > Media (Медиа) > File (Файл), чтобы определить местоположение общедоступной и частной файловых систем (для следующего шага).
  4. Создайте резервную копию файлов в /opt/apigee/data/apigee-drupal-devportal/private.
  5. Переведите Drupal в режим обслуживания:
    1. В меню Drupal выберите Configuration (Конфигурация).
    2. На странице Configuration (Конфигурация) в разделе Development (Разработка) выберите Maintenance mode (Режим обслуживания).
    3. Установите флажок Перевести сайт в режим обслуживания.
    4. Введите сообщение, которое пользователи будут видеть во время обслуживания.
    5. Нажмите Сохранить конфигурацию.
  6. Отключите SELinux, как описано в разделе Установка утилиты apigee-setup для Edge.
  7. Перейдите в каталог /opt:
    cd /opt
  8. Для обновления на сервере с подключением к интернету:
    1. Скачайте файл Edge 4.17.09 bootstrap_4.17.09.sh в каталог /tmp/bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
    2. Установите утилиту Edge 4.17.09 apigee-service и зависимости:
      sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName
        apigeepassword=pWord

      где uName:pWord – имя пользователя и пароль, полученные от Apigee. Если вы не укажете pWord, вам будет предложено ввести его.

      По умолчанию установщик проверяет, установлена ли у вас Java 1.8. Вы можете выбрать вариант C, чтобы продолжить без установки Java.

  9. Для обновления на сервере без подключения к интернету:
    1. Создайте локальное хранилище версии 4.17.09, как описано в разделе "Создание локального хранилища Apigee" статьи Установка утилиты apigee-setup для Edge.
    2. Чтобы установить apigee-service из TAR-файла:
      1. На узле с локальным репозиторием используйте следующую команду, чтобы упаковать локальный репозиторий в один TAR-файл с названием /opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Скопируйте TAR-файл на узел, на котором вы хотите обновить Edge. Например, скопируйте его в каталог /tmp на новом узле.
      3. На новом узле распакуйте файл в каталог /tmp:
        tar -xzf apigee-4.17.09.tar.gz

        Эта команда создает новый каталог с названием repos в каталоге, содержащем файл TAR. Например, /tmp/repos.

      4. Установите утилиту Edge apigee-service и зависимости из /tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.17.09.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Обратите внимание, что в этой команде вы указываете путь к каталогу repos.

    3. Чтобы установить apigee-service с помощью веб-сервера Nginx, выполните следующие действия:
      1. Настройте веб-сервер Nginx, как описано в разделе "Установка из репозитория с помощью веб-сервера Nginx" в статье Как установить утилиту apigee-setup для Edge.
      2. На удаленном узле скачайте файл Edge bootstrap_4.17.09.sh в каталог /tmp/bootstrap_4.17.09.sh:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.09.sh
          -o /tmp/bootstrap_4.17.09.sh

        где uName:pWord – имя пользователя и пароль, заданные выше для хранилища, а remoteRepo – IP-адрес или DNS-имя узла хранилища.

      3. На удаленном узле установите утилиту Edge apigee-service и зависимости:code
        sudo bash /tmp/bootstrap_4.17.09.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        где uName:pWord – имя пользователя и пароль для репозитория.

  10. Чтобы обновить утилиту apigee-setup, используйте apigee-service:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. Запустите утилиту обновления на узле, чтобы обновить базу данных Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    где configFile – файл конфигурации, который вы использовали для установки базы данных Postgres. Единственное требование к файлу конфигурации – он должен быть доступен или доступен для чтения пользователю apigee.

  12. Запустите Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  13. Чтобы обновить портал, запустите утилиту обновления на узле:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    где configFile – файл конфигурации, который вы использовали для установки портала. Единственное требование к файлу конфигурации – он должен быть доступен или доступен для чтения пользователю apigee.

  14. Запустите скрипт Drupal update.php, открыв в браузере следующий URL:
    http://portalIP_DNS:8079/update.php
  15. Переведите Drupal в режим обслуживания:
    1. В меню Drupal выберите Configuration (Конфигурация).
    2. На странице Configuration (Конфигурация) в разделе Development (Разработка) выберите Maintenance mode (Режим обслуживания).
    3. Снимите флажок Перевести сайт в режим обслуживания.
    4. Нажмите Сохранить конфигурацию.

Обратите внимание, что после обновления корневой каталог будет следующим:

/opt/apigee/apigee-drupal/wwwroot

Обновление завершено.