Обновите портал

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

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

http:// yourportal.com /buildInfo

Прежде чем обновить

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

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

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

Чтобы обновить RPM портала на узле:

  1. Перейдите в каталог Drupal, /opt/apigee/apigee-drupal по умолчанию:
    cd /opt/apigee/apigee-drupal
  2. Создайте резервную копию экземпляра базы данных 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
  3. Сделайте резервную копию всего корневого веб-каталога Drupal. Место установки по умолчанию — /opt/apigee/apigee-drupal , но вы могли его изменить.

    Если вы не уверены в местонахождении этого каталога, используйте команду drush status или пункт Конфигурация > Носитель > Файл в меню Drupal, чтобы определить расположение общедоступной файловой системы и путь к частной файловой системе (для следующего шага).

  4. Сделайте резервную копию файлов в /opt/apigee/data/apigee-drupal-devportal/private .
  5. Установите Drupal в режим обслуживания:
    1. Выберите Конфигурация в меню Drupal.
    2. На странице «Конфигурация» выберите «Режим обслуживания» в разделе «Разработка» .
    3. Установите флажок «Перевести сайт в режим обслуживания» .
    4. Введите сообщение, которое пользователи увидят во время обслуживания.
    5. Выберите Сохранить конфигурацию .
  6. Отключите SELinux, как описано в разделе Установка утилиты Edge apigee-setup .
  7. Перейдите в каталог /opt :
    cd /opt
  8. Для обновления на сервере с подключением к Интернету:
    1. Загрузите файл Edge 4.19.06 bootstrap_4.19.06.sh в /tmp/bootstrap_4.19.06.sh :
      curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
    2. Установите утилиту apigee-service Edge 4.19.06 и зависимости:
      sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord

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

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

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

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

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

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

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

        Где uName и pWord — это имя пользователя и пароль, которые вы установили выше для репо, а remoteRepo — это IP-адрес или DNS-имя узла репо.

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

        Где uName и pWord — имя пользователя и пароль репозитория.

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

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

  12. Удалите RPM PHP, но не зависимости Apigee Drupal Devportal RPM, выполнив следующую команду:
    rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')

    Эта команда делает следующее:

    • rpm -ev --nodeps удаляет RPM, но не их зависимости.
    • rpm -qa создает список RPM для удаления.
    • grep php ищет все RPM PHP.
    • awk '{printf "%s ", $1}' распечатывает имена RPM.
  13. Запустите утилиту update на своем узле, чтобы обновить портал:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

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

  14. Запустите скрипт update.php Drupal, открыв следующий URL-адрес в окне браузера:
    http://portal_IP_DNS:8079/update.php
  15. Отключить режим обслуживания:
    1. Выберите Конфигурация в меню Drupal.
    2. На странице «Конфигурация» выберите «Режим обслуживания» в разделе «Разработка» .
    3. Снимите флажок «Перевести сайт в режим обслуживания ».
    4. Выберите Сохранить конфигурацию .

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

/opt/apigee/apigee-drupal/wwwroot

Обновление завершено. Если утилита update Apigee понизила вашу версию Drupal, возможно, вам придется повторно запустить утилиту обновления Drupal. Дополнительную информацию см. в разделе Повторный запуск обновления Drupal .

Повторно запустите обновление Drupal

Если запуск утилиты update Apigee для обновления Edge для частного облака фактически приводит к понижению версии вашей версии Drupal, переустановите обновление Drupal. Это может произойти, если вы обновили только Drupal между обновлениями частного облака.

Например:

  1. Вы использовали версию 4.18.05 Edge для частного облака, которая включала Drupal 7.59.
  2. Вы обновили Drupal до версии 7.64 из-за необходимого обновления безопасности.
  3. Сейчас вы обновляете Private Cloud до версии 4.19.01, которая включает Drupal 7.61.

Как показывает этот случай, версия Drupal, используемая утилитой update Apigee, может не ссылаться на последнее обновление Drupal. В результате вам теперь необходимо повторно запустить обновление Drupal, чтобы вернуть установку Drupal к более поздней версии.