Edge for Private Cloud версии 4.17.09
Версия 4.17.09 портала Developer Services не позволяет обновить предыдущую версию портала на основе tar. Обновить портал до версии 4.17.09 можно только в том случае, если он был установлен с помощью RPM.
Однако вы можете преобразовать версию портала на основе tar в экземпляр портала на основе RPM 4.17.09. В рамках этого процесса вы переносите MySQL/MariaDB существующего портала в базу данных Postgres. После преобразования портал останется порталом на основе RPM.
Вы можете перенести многие предыдущие версии портала на основе tar на портал на основе RPM, включая версии 4.16.09 и 4.17.01, а не только версию 4.17.05. Единственное требование – на портале должна быть установлена версия Drupal 7 или более поздняя. Чтобы узнать версию Drupal, в меню выберите Reports (Отчеты) > Status Reports (Отчеты о статусе). Версия Drupal будет указана в первой строке выходных данных.
Ниже приведены основные этапы перехода с портала на основе tar-архива на портал на основе RPM.
- Установите версию 4.17.09 на основе RPM портала Developer Services на новом узле.
- Создайте новую базу данных 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.17.09 портала Developer Services на базе RPM на узел, отличный от узла портала на базе tar.
-
Создайте новую базу данных Postgres на портале на основе RPM. Позже вы перенесете базу данных с портала на основе 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 выберите Modules (Модули).
- Включите модуль DBTNG Migrator.
- Сохраните конфигурацию.
- На портале, созданном на основе tar-файла, измените файл /var/www/html/sites/default/settings.php, добавив вторую конфигурацию базы данных, указывающую на новую базу данных на портале, созданном на основе RPM-файла. Текущая конфигурация базы данных называется default. Укажите название новой конфигурации:
.$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-based, 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 и посмотрите путь к файлам и личным файлам:
> 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 содержится меньше модулей Drupal, чем в версии на основе tar. После перехода на портал на основе RPM необходимо проверить, все ли модули установлены, и при необходимости установить недостающие.
- Установите модуль Drupal missing_module, который используется для обнаружения отсутствующих модулей:
> cd /opt/apigee/apigee-drupal/wwwroot
> drush dl missing_module
> drush en missing_module - Войдите на портал RPM-based как администратор.
- В меню Drupal выберите Reports (Отчеты) > Status reports (Отчеты о статусе) и проверьте, все ли модули на месте.
- Установите отсутствующие модули, указанные в отчете, или используйте следующие команды:
> 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-based как администратор.
- В браузере перейдите по следующему URL:
http://{portal_IP_or_DNS}:8079/update.php
где portal_IP_or_DNS – IP-адрес или доменное имя портала на основе RPM. - Следуйте инструкциям на экране.
- Обновите записи DNS, чтобы они указывали на новый портал на основе RPM.
Обратите внимание, что версия портала на основе RPM по умолчанию использует порт 8079, а версия на основе tar – порт 80. Убедитесь, что в записи DNS указан правильный номер порта. Информацию о том, как использовать другой порт, можно найти в разделе Как настроить HTTP-порт, используемый порталом.
Преобразование завершено.