Преобразование портала на основе tar в портал на основе RPM

Edge для частного облака v. 4.17.09

Выпуск 4.17.09 портала Developer Services не позволяет обновлять предыдущую версию портала на основе tar. Вы можете напрямую обновить только версию портала на базе RPM до версии 4.17.09.

Однако вы можете преобразовать версию портала на основе tar в экземпляр портала на основе RPM 4.17.09. В рамках этого процесса вы переносите MySQL/MariaDB существующего портала в базу данных Postgres. После преобразования ваш портал останется порталом на основе RPM.

Вы можете перенести многие предыдущие версии портала на основе tar на портал на основе RPM, включая версии 4.16.09 и 4.17.01, а не только версию 4.17.05. Единственное требование — чтобы на портале работал Drupal 7 или более поздняя версия. Чтобы проверить свою версию Drupal, выберите «Отчеты» > «Отчеты о состоянии» в меню Drupal. Версия Drupal отображается в первой строке выходных данных.

Шаги высокого уровня, которые вы используете для перехода с портала на основе tar на портал на основе RPM:

  • Установите версию портала Developer Service 4.17.09 на основе 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:

  1. Установите версию портала Developer Service 4.17.09 на основе RPM на узле, отличном от вашего портала на основе tar.
  2. На портале на базе RPM создайте новую базу данных Postgres. Позже вы перенесете базу данных с портала на основе tar в эту новую базу данных:
    1. Войдите в psql:
      >psql -h localhost -p 5432 -U apigee

      Введите свой пароль Postgres, определенный свойством PG_PWD в файле конфигурации портала.
    2. Создайте новую базу данных Postgred:
      # СОЗДАТЬ БАЗУ ДАННЫХ newportaldb;
    3. Выход из psql:
      # \д
  3. На tar-портале удалите старые модули, которые больше не используются:
    > компакт-диск /var/www/html
    > drush sql-query --db-prefix "УДАЛИТЬ из {системы}, где имя = 'apigee_account' И тип = 'модуль';"
    > drush sql-query --db-prefix "УДАЛИТЬ из {системы}, где имя = 'apigee_checklist' И тип = 'модуль';"
    > drush sql-query --db-prefix "УДАЛИТЬ из {системы}, где имя = 'apigee_sso_ui' И тип = 'модуль';"

  4. На tar-портале установите и настройте модуль Migrator Drupal:

    1. компакт-диск /tmp
    2. wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
    3. Gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
    4. tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
    5. Войдите на портал как администратор.
    6. Выберите «Модули» в меню Drupal.
    7. Включите модуль DBTNG Migrator .
    8. Сохраните конфигурацию.
  5. На портале на основе 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' => '',
            )
          )
        );

    где хост и порт указывают IP-адрес и порт сервера Postgres. Postgres использует для соединений порт 5432.
  6. На tar-портале установите драйвер Postgres:
    1. Используйте Yum для установки драйвера:
      > ням установи php-pdo_pgsql
    2. Отредактируйте /etc/php.ini, добавив следующую строку в любое место файла:
      расширение = pgsql.so
    3. Перезапустите Апач:
      > перезапуск службы httpd
  7. На портале на основе tar перенесите базу данных портала на портал на основе RPM:
    1. Войдите на портал как администратор.
    2. В меню Drupal выберите Структура->Мигратор .
    3. Выберите исходную базу данных на портале на основе tar ( default ) и целевую базу данных (custom ) на основе файла settings.php , показанного выше.
    4. Нажмите «Мигрировать» . База данных на основе tar переносится в базу данных на основе RPM.
  8. Скопируйте каталог сайтов с сервера на основе tar на сервер на основе RPM.
    Пути, показанные в следующих шагах, основаны на путях по умолчанию. Измените их по мере необходимости для вашей установки.
    1. На портале на основе tar свяжите каталог /var/www/html/sites :
      > компакт-диск /var/www/html/sites
      > tar -cvzf /tmp/sites.tar.gz .
    2. Скопируйте /tmp/sites.tar.gz в /opt/apigee/apigee-drupal/wwwroot/sites на сервере на базе RPM.
    3. Разделите каталог сайтов, но не перезаписывайте важные файлы.
      1. Сделайте резервную копию файла settings.php :
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. Резервное копирование существующего каталога файлов :
        > sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. Сделайте резервную копию существующего каталога сайтов :
        > tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. Разархивируйте и разархивируйте каталог сайтов с tar-сервера:
        > Gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz

        > tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. Убедитесь, что скопированные файлы имеют право собственности:
        > chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. Восстановите файл settings.php :
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. Переместите личные файлы в новое место:
        > 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
  9. На портале на основе tar , только если вы изменили путь к корневому веб-каталогу на портале на основе tar с пути по умолчанию /var/www/html: запустите drush status и посмотрите путь к файлам и путь к личным файлам :
    > компакт-диск /var/www/html
    > статус драки


    Если файлы/частные файлы не находятся в каталоге сайтов , скопируйте их на сервер на основе RPM, как показано выше.
  10. На портале на основе 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' => '',
            )
          )
        );

    где база данных указывает новую созданную вами базу данных, имя пользователя и пароль такие же, как определены для пользовательской базы данных на портале на основе tar, а префикс пуст.
  11. На портале на основе RPM версия портала на основе RPM содержит меньше модулей Drupal, чем версия на основе tar. После перехода на портал на основе RPM необходимо проверить наличие недостающих модулей и при необходимости установить их.
    1. Установите модуль Drupal Missing_module , используемый для обнаружения отсутствующих модулей:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > драш дл отсутствующего_модуля
      > разбить отсутствующий_модуль
    2. Войдите на портал на основе RPM как администратор.
    3. Выберите «Отчеты» > «Отчеты о состоянии» в меню Drupal и проверьте наличие недостающих модулей.
    4. Используйте этот отчет для установки недостающих модулей или используйте следующие команды:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl <модульA> <модульB> ...
      > drush en <moduleA> <moduleB> ...
    5. После включения всех модулей убедитесь, что файлы принадлежат пользователю apigee:
      > chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      Дополнительную информацию о правах доступа к файлам см. на странице https://www.drupal.org/node/244924 .
  12. На портале на основе RPM запустите update.php в браузере, чтобы удалить все ошибки в отсутствующих модулях:
    1. Войдите на портал на основе RPM как администратор.
    2. В браузере перейдите по следующему URL-адресу:
      http://{ portal_IP_or_DNS }:8079/update.php

      где портал_IP_or_DNS — это IP-адрес или доменное имя портала на основе RPM.
    3. Следуйте подсказкам на экране.
  13. Обновите записи DNS, чтобы они указывали на ваш новый портал на основе RPM.

    Обратите внимание, что версия портала на основе RPM по умолчанию использует порт 8079, а версия на основе tar — порт 80. Убедитесь, что вы используете правильный номер порта в записи DNS. См. раздел Установка порта HTTP, используемого порталом, для получения информации об использовании другого порта.

Преобразование завершено.