تحويل بوابة مستندة إلى tar إلى بوابة تستند إلى RPM

Edge for Private Cloud ‏v4.18.05

لا يتيح لك الإصدار 4.18.05 من بوابة Apigee Developer Services (أو البوابة ببساطة) تعديل إصدار سابق من البوابة المستنِد إلى tar. لا يمكنك تحديث إصدار البوابة المستنِد إلى حِزم RPM مباشرةً إلا إلى الإصدار 4.18.05.

ومع ذلك، يمكنك تحويل إصدار البوابة المستنِد إلى tar إلى مثيل البوابة المستنِد إلى RPM 4.18.05. كجزء من هذه العملية، يتم نقل قاعدة بيانات MySQL/MariaDB للبوابة الحالية إلى قاعدة بيانات Postgres. بعد التحويل، تظل البوابة مستندة إلى خطط الدفع مقابل القيمة.

يمكنك نقل العديد من الإصدارات السابقة من البوابة المستندة إلى 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.
  • عدِّل إدخالات نظام أسماء النطاقات للتوجيه إلى البوابة الجديدة المستندة إلى RPM.

    يُرجى العِلم أنّ إصدار البوابة المستنِد إلى حِزم RPM يستخدم المنفذ 8079 تلقائيًا، في حين يستخدم الإصدار المستنِد إلى tar المنفذ 80. تأكَّد من استخدام رقم المنفذ الصحيح في إدخال نظام أسماء النطاقات. اطّلِع على مقالة ضبط منفذ HTTP المستخدَم في البوابة للحصول على معلومات عن استخدام منفذ مختلف.

دليل التثبيت التلقائي الجديد بعد عملية التحويل

بعد تحديث عملية تثبيت تستخدم الآن Nginx/Postgres، تغيّر الدليل الجذر من:

/opt/apigee/apigee-drupal

إلى:

/opt/apigee/apigee-drupal/wwwroot

إجراءات تحويل البوابة

لتحويل البوابة إلى عملية تثبيت مستندة إلى حِزم RPM:

  1. ثبِّت إصدار البوابة 4.18.05 المستنِد إلى حِزم RPM على عقدة مختلفة عن البوابة المستنِدة إلى حِزم tar.
  2. في البوابة المستندة إلى نموذج RPM، أنشئ قاعدة بيانات Postgres جديدة. لاحقًا، يمكنك نقل بيانات قاعدة البيانات من البوابة المستندة إلى tar إلى قاعدة البيانات الجديدة هذه:
    1. سجِّل الدخول إلى psql:
      psql -h localhost -p 5432 -U apigee

      أدخِل كلمة مرور Postgres كما هو محدّد في السمة PG_PWD في ملف إعدادات البوابة العميلة.

    2. أنشئ قاعدة بيانات Postgred جديدة:
      CREATE DATABASE newportaldb;
    3. الخروج من psql:
      \q
  3. في البوابة المستندة إلى 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';"

  4. في البوابة المستندة إلى tar، ثبِّت وحدة Migrator Drupal وضبطها:
    1. cd /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. يُطلق على إعدادات قاعدة البيانات الحالية اسم "تلقائي". أدخِل اسمًا لإعداداتك الجديدة، وهو "مخصّصة"، كما هو موضّح في المثال التالي:
    $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 للاتصالات.

  6. في البوابة المستندة إلى tar، ثبِّت برنامج تشغيل Postgres:
    1. استخدِم Yum لتثبيت برنامج التشغيل:
      yum install php-pdo_pgsql
    2. عدِّل /etc/php.ini لإضافة السطر التالي في أي مكان في الملف:
      extension=pgsql.so
    3. إعادة تشغيل Apache:
      service httpd restart
  7. في البوابة المستندة إلى tar، عليك نقل قاعدة بيانات البوابة إلى البوابة المستندة إلى RPM:
    1. سجِّل الدخول إلى البوابة بصفتك مشرفًا.
    2. اختَر البنية-> أداة نقل البيانات في قائمة Drupal.
    3. اختَر قاعدة بيانات المصدر على البوابة المستندة إلى tar، default، وقاعدة بيانات الوجهة، custom، استنادًا إلى ملف settings.php المعروض أعلاه.
    4. انقر على نقل البيانات. يتم نقل قاعدة البيانات المستندة إلى tar إلى قاعدة البيانات المستندة إلى RPM.
  8. انسخ دليل sites من الخادم المستنِد إلى حِزم tar إلى الخادم المستنِد إلى حِزم RPM. تستند المسارات المعروضة في الخطوات التالية إلى المسارات التلقائية. عدِّلها حسب الحاجة ل عملية التثبيت.
    1. في البوابة المستندة إلى tar، اربط دليل /var/www/html/sites:
      cd /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. الاحتفاظ بنسخة احتياطية من الدليل الحالي files:
        sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files
          /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. الاحتفاظ بنسخة احتياطية من الدليل الحالي sites:
        tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. فك ضغط الدليل sites وفك ضغطه من الخادم المستند إلى 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 والاطّلاع على مسار files ومسار private files:
    cd /var/www/html
    drush status

    إذا لم تكن الملفات/الملفات الخاصة ضمن الدليل sites، انسخها إلى الخادم المستنِد إلى حِزم 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' => '',
        )
      )
    );

    حيث يحدِّد database قاعدة البيانات الجديدة التي أنشأتها، username وpassword كما هو محدَّد لقاعدة البيانات المخصّصة في البوابة المستندة إلى tar، وprefix فارغ.

  11. في البوابة المستندة إلى حِزم RPM، يحتوي الإصدار المستنِد إلى حِزم RPM من البوابة على عددٍ أقل من وحدات Drupal مقارنةً بالإصدار المستنِد إلى حِزم tar. بعد نقل البيانات إلى البوابة المستندة إلى حِزم RPM، عليك البحث عن أيّ وحدات غير متوفّرة وتثبيتها حسب الحاجة.
    1. ثبِّت missing_module Drupal المستخدَم لرصد الوحدات غير المتوفّرة:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl missing_module
      drush en missing_module
    2. سجِّل الدخول إلى البوابة المستندة إلى RPM بصفتك مشرفًا.
    3. اختَر التقارير > تقارير الحالة في قائمة Drupal وتحقّق مما يلي: أي وحدات غير متوفّرة.
    4. استخدِم هذا التقرير لتثبيت أيّ وحدات غير متوفّرة، أو استخدِم الأوامر التالية:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl <moduleA> <moduleB> ...
      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

      حيث يكون portal_IP_or_DNS هو عنوان IP أو اسم النطاق للمدخل المستنِد إلى RPM.

    3. اتّبِع التعليمات التي تظهر على الشاشة.
  13. عدِّل إدخالات نظام أسماء النطاقات للتوجيه إلى البوابة الجديدة المستندة إلى RPM.

    يُرجى العِلم أنّ إصدار البوابة المستنِد إلى حِزم RPM يستخدم المنفذ 8079 تلقائيًا، في حين يستخدم الإصدار المستنِد إلى tar المنفذ 80. تأكَّد من استخدام رقم المنفذ الصحيح في إدخال نظام أسماء النطاقات. اطّلِع على مقالة ضبط منفذ HTTP المستخدَم في البوابة للحصول على معلومات عن استخدام منفذ مختلف.

اكتملت عملية التحويل.