Версия 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, выберите «Отчеты» > «Отчеты о состоянии» в меню Drupal. Версия 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.
- На портале на базе RPM создайте новую базу данных Postgres. Позже вы перенесете базу данных с портала на основе tar в эту новую базу данных:
- Войдите в psql:
psql -h localhost -p 5432 -U apigee
Введите свой пароль Postgres, определенный свойством PG_PWD в файле конфигурации портала.
- Создайте новую базу данных Postgred:
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. Текущая конфигурация базы данных называется «по умолчанию». Назовите новую конфигурацию «Пользовательская», как показано в следующем примере:$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
- Перезапустите Апач:
service httpd restart
- Используйте Yum для установки драйвера:
- На портале на основе tar перенесите базу данных портала на портал на основе RPM:
- Войдите на портал как администратор.
- В меню Drupal выберите Структура->Мигратор .
- Выберите исходную базу данных на портале на основе 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
- Сделайте резервную копию файла
- На портале на основе 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 версия портала на основе 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
- На портале на основе 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, используемого порталом, для получения информации об использовании другого порта.
Преобразование завершено.