Edge for Private Cloud 4.19.01
Версия 4.18.05 портала Apigee Developer Services (или просто портала) не позволяет обновить предыдущую версию портала на основе tar. Вы можете напрямую обновить только версию портала на основе RPM до 4.18.05.
Однако вы можете преобразовать версию портала на основе tar в экземпляр портала на основе RPM 4.18.05. В рамках этого процесса вы переносите 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.18.05 портала на основе 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.05 на основе 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. Назовите новую конфигурацию 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-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/privatechown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
- Создайте резервную копию файла
- На портале на основе tar-файла упакуйте каталог
- На портале на основе 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 содержится меньше модулей Drupal, чем в версии на основе tar. После перехода на портал на основе RPM необходимо проверить, все ли модули установлены, и при необходимости установить недостающие.
- Установите модуль Drupal
missing_module, который используется для обнаружения отсутствующих модулей:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_moduledrush en missing_module - Войдите на портал RPM как администратор.
- В меню 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
- На портале, основанном на 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-порт, используемый порталом.
Преобразование завершено.