Портал сервисов для разработчиков версии 4.17.05
В этой процедуре описывается, как обновить существующую локальную установку Apigee Developer Channel Services.
Как определить правильную процедуру обновления
Процедура обновления портала зависит от текущей установки:
- Если в вашей установке используется Apache/MySQL или Apache/MariaDB из системы, обновленной до версии 4.17.01, используйте Обновление портала с помощью TAR-файла.
- Если в вашей установке используется Nginx/Postgres из новой установки 4.17.01, воспользуйтесь инструкциями из статьи Как обновить портал с помощью 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)
Каталог установки по умолчанию
В процессе обновления предполагается, что портал для разработчиков был установлен по следующему пути:
- /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
- Создайте резервную копию экземпляра MySQL/MariaDB в Drupal.
Дополнительную информацию можно найти на странице http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/.- Вариант 1. Использование Drush
Команда sql-dump в Drush создает копию базы данных. В каталоге Drupal (по умолчанию /var/www/html) выполните следующую команду:
> drush sql-dump > /path/to/backup_dir/database-backup.sql
Чтобы получить дополнительную информацию, выполните команду drush help sql-dump. - Вариант 2. Использование MySQLdump
Используйте команду mysqldump, чтобы создать копию базы данных:
mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql
Между параметром -p и паролем не должно быть пробела. Если пароль содержит специальные символы, его необходимо заключить в одинарные кавычки.
Вы задали USERNAME и DATABASENAME при установке портала. По умолчанию для обоих задано значение devportal.
- Вариант 1. Использование Drush
- Создайте резервную копию всего корневого каталога Drupal. По умолчанию это /var/www/html, но вы могли изменить его при установке.
- Скачайте файл 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? отправьте запрос в службу поддержки. -
Для обновления на сервере с подключением к интернету:
- Распакуйте файл обновления портала:
> tar -xvf <tar file>
Эта команда создает каталог DeveloperServices-4.x.y.z. - Перейдите в каталог DeveloperServices-4.x.y.z.
- Скачайте последнюю версию Drupal с помощью следующей команды:
> drush dl drupal
Эта команда создает каталог с именем drupal-x.y, где x.y соответствует текущей версии Drupal. - Запустите скрипт networked-update.sh:
> ./networked-update.sh
В зависимости от разрешений файла вам может потребоваться использовать sudo для выполнения этой команды или запустить ее от имени администратора. - Чтобы получать уведомления об обновлениях Drupal, убедитесь, что модуль Drupal Update manager включен. В меню Drupal выберите Modules (Модули) и прокрутите страницу вниз до модуля Update manager (Менеджер обновлений). Если он не включен, включите его.
После этого вы сможете просматривать доступные обновления, выбрав Отчеты > Доступные обновления.
Чтобы настроить модуль так, чтобы он отправлял вам электронные письма о доступных обновлениях, и задать частоту проверки обновлений, выберите пункт меню Reports (Отчеты) > Available Updates (Доступные обновления) > Settings (Настройки).
- Распакуйте файл обновления портала:
-
Для обновления на сервере без подключения к интернету:
- На сервере, на который вы скачали файл Developer Channel Services DeveloperServices_x.y.z.tar, извлеките файл обновления портала:
> tar -xvf <tar file>
Эта команда создает новый каталог с названием DeveloperServices-4.x.y.z. - Перейдите в каталог DeveloperServices-4.x.y.z.
- Запустите скрипт non-networked-update.sh:
> ./non-networked-update.sh
В зависимости от разрешений файла вам может потребоваться использовать sudo для выполнения этой команды или запустить его от имени администратора.
Эта команда скачивает все необходимые файлы обновления и упаковывает их в один файл с именем devportal-update.tgz, а затем записывает его в выбранное вами место. - Скопируйте файл devportal-update.tgz на целевой сервер, на котором запущен портал.
Примечание. Не копируйте файл devportal-update.tgz в корневой каталог целевого сервера. - Распакуйте файл devportal-update.tgz в текущий каталог:
> tar -xzf /path/to/devportal-update.tgz - Перейдите в каталог developer-update.
- Чтобы установить обновление, выполните следующую команду:
> ./install-update.sh - Ответьте на вопросы.
- На сервере, на который вы скачали файл Developer Channel Services DeveloperServices_x.y.z.tar, извлеките файл обновления портала:
Обновление завершено.
Обновление портала с помощью RPM
Чтобы обновить RPM портала на узле, выполните следующие действия:
- Перейдите в каталог Drupal, по умолчанию /opt/apigee/apigee-drupal:
> cd /opt/apigee/apigee-drupal - Создайте резервную копию базы данных 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 - Создайте резервную копию всего корневого каталога Drupal. По умолчанию это /opt/apigee/apigee-drupal, но вы могли изменить путь.
Если вы не знаете, где находится этот каталог, используйте команду drush status или выберите в меню Drupal Configuration (Конфигурация) > Media (Медиа) > File (Файл), чтобы определить местоположение общедоступной файловой системы и путь к частной файловой системе (для следующего шага). - Создайте резервную копию файлов в каталоге /opt/apigee/data/apigee-drupal-devportal/private.
- Отключите SELinux, как описано в разделе Установка утилиты apigee-setup для Edge.
-
Для обновления на сервере с подключением к интернету:
- Скачайте файл 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 - Установите утилиту 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.
- Скачайте файл Edge 4.17.05 bootstrap_4.17.05.sh в каталог /tmp/bootstrap_4.17.05.sh:
-
Для обновления на сервере без подключения к интернету:
- Создайте локальное хранилище 4.17.05, как описано в разделе "Создание локального хранилища Apigee" статьи Установка утилиты apigee-setup для Edge.
Примечание. Если у вас уже есть хранилище версии 4.17.01, вы можете добавить в него хранилище версии 4.17.05, как описано в разделе "Обновление локального хранилища Apigee" статьи Установка утилиты apigee-setup для Edge. -
Чтобы установить apigee-service из TAR-файла, выполните следующие действия:
- На узле с локальным хранилищем используйте следующую команду, чтобы упаковать локальное хранилище в один файл .tar с именем /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package - Скопируйте TAR-файл на узел, на котором вы хотите обновить Edge. Например, скопируйте его в каталог /tmp на новом узле.
- На новом узле распакуйте файл в каталог /tmp:
> tar -xzf apigee-4.17.05.tar.gz
Эта команда создает новый каталог с именем repos в каталоге, содержащем файл .tar. Например, /tmp/repos. - Установите утилиту Edge apigee-service и зависимости из /tmp/repos:
> sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
Обратите внимание, что в этой команде вы указываете путь к каталогу repos.
- На узле с локальным хранилищем используйте следующую команду, чтобы упаковать локальное хранилище в один файл .tar с именем /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
-
Чтобы установить apigee-service с помощью веб-сервера Nginx, выполните следующие действия:
- Настройте веб-сервер Nginx, как описано в разделе "Установка из репозитория с помощью веб-сервера Nginx" в статье Как установить утилиту apigee-setup для Edge.
- На удаленном узле скачайте файл 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-имя узла хранилища. - На удаленном узле установите утилиту Edge apigee-service и зависимости:
> sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
где uName:pWord – имя пользователя и пароль хранилища.
- Создайте локальное хранилище 4.17.05, как описано в разделе "Создание локального хранилища Apigee" статьи Установка утилиты apigee-setup для Edge.
- Используйте apigee-service, чтобы обновить утилиту apigee-setup:
> /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. - Запустите Postgres:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - Запустите утилиту обновления на узле, чтобы обновить портал:
> /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
где configFile – файл конфигурации, который вы использовали для установки портала. Единственное требование к файлу конфигурации – он должен быть доступен или доступен для чтения пользователю apigee.
Обратите внимание, что после обновления корневой каталог будет выглядеть следующим образом:
/opt/apigee/apigee-drupal/wwwroot
Обновление завершено.