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

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

В этой процедуре описывается, как обновить существующую локальную установку 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)

Каталог установки по умолчанию

В процессе обновления предполагается, что портал для разработчиков был установлен по следующему пути:

  • /opt/apigee/apigee-drupal (Nginx)
  • /var/www/html (Apache)

Если вы установили портал не в каталог по умолчанию, измените пути в процедуре ниже, чтобы использовать каталог установки.

Если вы не знаете, где находится каталог установки, воспользуйтесь командами Drush.

Новый каталог установки по умолчанию после обновления Nginx/Postgres из новой установки 4.17.01

После обновления новой установки 4.17.01, в которой используется Nginx/Postgres, корневой каталог изменился с

/opt/apigee/apigee-drupal

кому:

/opt/apigee/apigee-drupal/wwwroot

Поддерживаемые версии для обновления

Эта процедура обновления поддерживается для следующих версий портала:

  • pantheon-14.02.x
  • pantheon-14.03.x
  • pantheon-14.04.x
  • pantheon-14.07.x
  • pantheon-15-01.x
  • OPDK-15-04.x
  • OPDK-15-07.x
  • OPDK-16-01.x
  • OPDK-16-05.x
  • OPDK-16-09.x
  • OPDK-17-01.x

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

http://yourportal.com/buildInfo

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

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

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

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

  1. Создайте резервную копию экземпляра MySQL/MariaDB в Drupal.
    Дополнительную информацию можно найти на странице http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/.
    1. Вариант 1. Использование Drush

      Команда sql-dump в Drush создает копию базы данных. В каталоге Drupal (по умолчанию /var/www/html) выполните следующую команду:
      > drush sql-dump > /path/to/backup_dir/database-backup.sql

      Чтобы получить дополнительную информацию, выполните команду drush help sql-dump.
    2. Вариант 2. Использование MySQLdump
      Используйте команду mysqldump, чтобы создать копию базы данных:
      mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      Между параметром -p и паролем не должно быть пробела. Если пароль содержит специальные символы, его необходимо заключить в одинарные кавычки.

      Вы задали USERNAME и DATABASENAME при установке портала. По умолчанию для обоих задано значение devportal.
  2. Создайте резервную копию всего корневого каталога Drupal. По умолчанию это /var/www/html, но вы могли изменить его при установке.
  3. Скачайте файл Developer Channel Services DeveloperServices_x.y.z.tar с сайта ftp.apigee.com, где x.y.z – номер версии портала. При появлении запроса введите учетные данные, полученные от Apigee.

    Вы можете скачать файл по ссылке, отправленной вам Apigee, в браузере или скопировав ее и добавив в следующую команду cURL:
    > curl -kOL <вставьте ссылку сюда>

    Примечание. Если ваш портал находится на сервере без внешнего подключения к интернету, выполните этот шаг на сервере с доступом.

    Перейдите на страницу поддержки Apigee Edge и выберите Login to your Support Portal (Войти на портал поддержки), чтобы запросить TAR-файл обновления Developer Channel Services. Если у вас нет аккаунта на портале поддержки, выберите Login to your Support Portal (Войти на портал поддержки), а затем на странице входа нажмите In a hurry? отправьте запрос в службу поддержки.
  4. Для обновления на сервере с подключением к интернету:
    1. Распакуйте файл обновления портала:
      > tar -xvf <tar file>

      Эта команда создает каталог DeveloperServices-4.x.y.z.
    2. Перейдите в каталог DeveloperServices-4.x.y.z.
    3. Скачайте последнюю версию Drupal с помощью следующей команды:
      > drush dl drupal

      Эта команда создает каталог с именем drupal-x.y, где x.y соответствует текущей версии Drupal.
    4. Запустите скрипт networked-update.sh:
      > ./networked-update.sh

      В зависимости от разрешений файла вам может потребоваться использовать sudo для выполнения этой команды или запустить ее от имени администратора.
    5. Чтобы получать уведомления об обновлениях Drupal, убедитесь, что модуль Drupal Update manager включен. В меню Drupal выберите Modules (Модули) и прокрутите страницу вниз до модуля Update manager (Менеджер обновлений). Если он не включен, включите его.

      После этого вы сможете просматривать доступные обновления, выбрав Отчеты > Доступные обновления.

      Чтобы настроить модуль так, чтобы он отправлял вам электронные письма о доступных обновлениях, и задать частоту проверки обновлений, выберите пункт меню Reports (Отчеты) > Available Updates (Доступные обновления) > Settings (Настройки).
  5. Для обновления на сервере без подключения к интернету:
    1. На сервере, на который вы скачали файл Developer Channel Services DeveloperServices_x.y.z.tar, извлеките файл обновления портала:
      > tar -xvf <tar file>

      Эта команда создает новый каталог с названием DeveloperServices-4.x.y.z.
    2. Перейдите в каталог DeveloperServices-4.x.y.z.
    3. Запустите скрипт non-networked-update.sh:
      > ./non-networked-update.sh

      В зависимости от разрешений файла вам может потребоваться использовать sudo для выполнения этой команды или запустить его от имени администратора.

      Эта команда скачивает все необходимые файлы обновления и упаковывает их в один файл с именем devportal-update.tgz, а затем записывает его в выбранное вами место.
    4. Скопируйте файл devportal-update.tgz на целевой сервер, на котором запущен портал.
      Примечание. Не копируйте файл devportal-update.tgz в корневой каталог целевого сервера.
    5. Распакуйте файл devportal-update.tgz в текущий каталог:
      > tar -xzf /path/to/devportal-update.tgz
    6. Перейдите в каталог developer-update.
    7. Чтобы установить обновление, выполните следующую команду:
      > ./install-update.sh
    8. Ответьте на вопросы.

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

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

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

  1. Перейдите в каталог Drupal, по умолчанию /opt/apigee/apigee-drupal:
    > cd /opt/apigee/apigee-drupal
  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. Отключите SELinux, как описано в разделе Установка утилиты apigee-setup для Edge.
  6. Для обновления на сервере с подключением к интернету:
    1. Скачайте файл Edge 4.17.05 bootstrap_4.17.05.sh в каталог /tmp/bootstrap_4.17.05.sh:
      > curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
    2. Установите утилиту Edge 4.17.05 apigee-service и зависимости:
      > sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord

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

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

        Эта команда создает новый каталог с именем repos в каталоге, содержащем файл .tar. Например, /tmp/repos.
      4. Установите утилиту Edge apigee-service и зависимости из /tmp/repos:
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

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

        где uName:pWord – имя пользователя и пароль, заданные выше для хранилища, а remoteRepo – IP-адрес или DNS-имя узла хранилища.
      3. На удаленном узле установите утилиту Edge apigee-service и зависимости:
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        где uName:pWord – имя пользователя и пароль хранилища.
  8. Используйте apigee-service, чтобы обновить утилиту apigee-setup:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  9. Запустите утилиту обновления на узле, чтобы обновить базу данных Postgres:
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    где configFile – файл конфигурации, который вы использовали для установки базы данных Postgres. Единственное требование к файлу конфигурации – он должен быть доступен или доступен для чтения пользователю apigee.
  10. Запустите Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. Запустите утилиту обновления на узле, чтобы обновить портал:
    > /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

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

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

/opt/apigee/apigee-drupal/wwwroot

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