Edge for Private Cloud v4.18.01
Версия 4.18.01 портала Developer Services не позволяет обновить предыдущую версию портала на основе файла TAR. Обновить версию портала на основе RPM до версии 4.18.01 можно только напрямую.
Однако вы можете преобразовать версию портала на основе tar в экземпляр портала на основе RPM версии 4.18.01. В рамках этого процесса вы перенесете MySQL/MariaDB существующего портала в базу данных Postgres. После преобразования портал останется порталом на основе RPM.
Вы можете перенести в портал на основе RPM многие предыдущие версии портала на основе TAR, в том числе версии 4.16.09 и 4.17.01, а не только версию 4.17.05. Единственное требование – чтобы портал работал на Drupal 7 или более поздней версии. Чтобы узнать версию Drupal, в меню Drupal выберите Reports > Status Reports (Отчеты > Отчеты о статусе). Версия Drupal указана в первой строке выходных данных.
Чтобы перейти с портала на основе tar-архива на портал на основе RPM-пакета, выполните следующие действия:
- Установите версию 4.18.01 на основе RPM портала сервисов для разработчиков на новом узле.
- Создайте новую базу данных Postgres на портале на основе RPM.
- Перенесите базу данных портала из портала на основе tar-архива.
- Скопируйте все дополнительные файлы из портала на основе tar-архива в портал на основе RPM-пакета.
- Обновите записи DNS, чтобы они указывали на новый портал на основе RPM.
Обратите внимание, что в версии портала на основе RPM по умолчанию используется порт 8079, а в версии на основе TAR – порт 80. Убедитесь, что в записи DNS указан правильный номер порта. Информацию о том, как использовать другой порт, можно найти в разделе Как задать порт HTTP, используемый порталом.
Новый каталог установки по умолчанию после преобразования
После обновления установки, в которой теперь используются Nginx/Postgres, корневой каталог изменился с:
/opt/apigee/apigee-drupal
кому:
/opt/apigee/apigee-drupal/wwwroot
Процедура переноса портала
Чтобы преобразовать портал в установку на основе RPM:
- Установите версию 4.18.01 портала Developer Services на основе RPM на другом узле, отличном от портала на основе TAR.
-
На портале на основе RPM создайте новую базу данных Postgres. Позже вы перенесете базу данных с портала на основе tar-архива в эту новую базу данных:
- Войдите в psql:
>psql -h localhost -p 5432 -U apigee
Введите пароль Postgres, заданный свойством PG_PWD в файле конфигурации портала. - Создайте новую базу данных PostgreSQL:
# CREATE DATABASE newportaldb; - Выход из psql:
# \q
- Войдите в psql:
-
В портале на основе tar-архива удалите старые модули, которые больше не используются:
> cd /var/www/html
> drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module';"
> drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_checklist' AND type = 'module';"
> drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_sso_ui' AND type = 'module';" -
В портале на основе tar-архива установите и настройте модуль Migrator Drupal:
- cd /tmp
- wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
- gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
- tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
- Войдите на портал как администратор.
- В меню Drupal выберите Модули.
- Включите модуль DBTNG Migrator.
- Сохраните конфигурацию.
- На портале на основе tar измените файл /var/www/html/sites/default/settings.php, чтобы добавить вторую конфигурацию базы данных, указывающую на созданную базу данных на портале на основе RPM. Текущая конфигурация базы данных называется default. Укажите название новой конфигурации:
custom:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'devportal', 'username' => 'devportal', 'password' => 'devportal', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), 'custom' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => '192.168.168.100', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
где host и port указывают IP-адрес и порт сервера Postgres. Для подключения Postgres использует порт 5432. -
На портале на основе tar-архива установите драйвер Postgres:
- Используйте Yum, чтобы установить драйвер:
> yum install php-pdo_pgsql - Отредактируйте файл /etc/php.ini, добавив в него следующую строку:
extension=pgsql.so - Перезапустите Apache:
> service httpd restart
- Используйте Yum, чтобы установить драйвер:
-
На портале на основе tar-архива перенесите базу данных портала на портал на основе RPM:
- Войдите на портал как администратор.
- В меню Drupal выберите Structure > Migrator (Структура > Переносчик).
- Выберите исходную базу данных на портале на основе tar-архива, default, и целевую базу данных, custom, на основе файла settings.php, показанного выше.
- Нажмите Перенести. База данных на основе формата TAR переносится в базу данных на основе формата RPM.
- Скопируйте каталог sites с сервера на основе tar на сервер на основе RPM.
Пути, указанные в приведенных ниже инструкциях, являются путями по умолчанию. При необходимости измените их.- В портале на основе tar создайте пакет каталога /var/www/html/sites:
> cd /var/www/html/sites
> tar -cvzf /tmp/sites.tar.gz . - Скопируйте файл /tmp/sites.tar.gz в каталог /opt/apigee/apigee-drupal/wwwroot/sites на сервере с пакетами RPM.
- Распаковать каталог сайтов, но не перезаписывать важные файлы.
- Создайте резервную копию файла settings.php:
> sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php - Создайте резервную копию существующего каталога files:
> sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old - Создайте резервную копию существующего каталога sites:
> tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites - Распакуйте каталог sites из архива на основе tar-файла:
> gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
> tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar - Убедитесь, что у скопированных файлов правильный владелец:
> chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/ - Восстановите файл settings.php:
> sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php - Переместите частные файлы в новое местоположение:
> cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devportal/private
> rm -rf /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private
> chown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
- Создайте резервную копию файла settings.php:
- В портале на основе tar создайте пакет каталога /var/www/html/sites:
- На портале на основе tar-архива, только если вы изменили путь к корневому каталогу сайта на портале на основе tar-архива с пути по умолчанию /var/www/html: выполните команду drush status и посмотрите пути files и private files:
> cd /var/www/html
> drush status
Если файлы/частные файлы не находятся в каталоге sites, скопируйте их на сервер на основе RPM, как показано выше. - На портале на основе RPM обновите файл /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php, чтобы задать свойства базы данных по умолчанию:
> vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
Задайте описание базы данных по умолчанию в файле settings.php:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => 'localhost', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
где database – это название созданной вами базы данных, username и password – учетные данные, заданные для специальной базы данных на портале на основе архива TAR, а prefix – пустая строка. -
На портале на основе RPM версия портала на основе RPM содержит меньше модулей Drupal, чем версия на основе tar. После перехода на портал на основе RPM вам нужно проверить, не отсутствуют ли какие-либо модули, и при необходимости установить их.
- Установите модуль Drupal missing_module, который используется для обнаружения отсутствующих модулей:
> cd /opt/apigee/apigee-drupal/wwwroot
> drush dl missing_module
> drush en missing_module - Войдите на портал на основе RPM как администратор.
- В меню Drupal выберите Отчеты > Отчеты о статусе и проверьте, не отсутствуют ли какие-либо модули.
- Используйте этот отчет, чтобы установить недостающие модули, или выполните следующие команды:
> cd /opt/apigee/apigee-drupal/wwwroot
> drush dl <moduleA> <moduleB> ...
> drush en <moduleA> <moduleB> ... - После того как вы включите все модули, убедитесь, что владельцем файлов является пользователь apigee:
> chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
Дополнительную информацию о разрешениях на файлы можно найти на странице https://www.drupal.org/node/244924.
- Установите модуль Drupal missing_module, который используется для обнаружения отсутствующих модулей:
-
На портале на основе RPM запустите update.php в браузере, чтобы устранить ошибки, связанные с отсутствием модулей:
- Войдите на портал на основе RPM как администратор.
- В браузере перейдите по следующему URL:
http://{portal_IP_or_DNS}:8079/update.php
где portal_IP_or_DNS – это IP-адрес или доменное имя портала на основе RPM. - Следуйте инструкциям на экране.
- Обновите записи DNS, чтобы они указывали на новый портал на основе RPM.
Обратите внимание, что в версии портала на основе RPM по умолчанию используется порт 8079, а в версии на основе TAR – порт 80. Убедитесь, что в записи DNS указан правильный номер порта. Информацию о том, как использовать другой порт, можно найти в разделе Как задать HTTP-порт, используемый порталом.
Преобразование завершено.