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

لا يتيح لك الإصدار 4.18.05 من بوابة خدمات مطوّري البرامج في Apigee (أو ببساطة البوابة) تحديث إصدار سابق إصدار البوابة المستند إلى القطران. يمكنك فقط تحديث إصدار البوابة المستند إلى مقياس 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 هي:

  • تثبيت إصدار المستند إلى RPM 4.18.05 من البوابة على العقدة الجديدة.
  • أنشئ قاعدة بيانات Postgres جديدة في البوابة المستندة إلى RPM.
  • نقل قاعدة بيانات البوابة من البوابة المستندة إلى tar
  • انسخ جميع الملفات الملحقة من البوابة المستندة إلى tar إلى البوابة المستندة إلى RPM .
  • عدِّل إدخالات نظام أسماء النطاقات للتوجيه إلى البوابة الجديدة المستندة إلى RPM.

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

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

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

/opt/apigee/apigee-drupal

إلى:

/opt/apigee/apigee-drupal/wwwroot

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

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

  1. ثبِّت إصدار البوابة 4.18.05 المستنِد إلى حِزم RPM على عقدة مختلفة عن البوابة المستنِدة إلى حِزم tar.
  2. في البوابة المستندة إلى نموذج RPM، أنشئ قاعدة بيانات Postgres جديدة. في وقت لاحق، تقوم بالنقل قاعدة البيانات من البوابة التي تعتمد على القطران إلى قاعدة البيانات الجديدة هذه:
    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. في البوابة المستنِدة إلى القطران، ثبِّت وحدة 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. في البوابة المستنِدة إلى القطران، عدِّل /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. انقر على نقل البيانات. يتم ترحيل قاعدة البيانات المستندة إلى القطران إلى قاعدة البيانات المستندة إلى مقياس 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 من المسار التلقائي /var/www/html: run 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 كما هو الحال مع قاعدة البيانات المخصصة على البوابة التي تستند إلى القطران، و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. بعد تمكين جميع الوحدات، تأكد من أن الملفات مملوكة لمستخدم واجهة برمجة التطبيقات:
      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 تلقائيًا، في حين أنّ المنفذ المستند إلى القطران الإصدار يستخدم المنفذ 80. تأكَّد من استخدام رقم المنفذ الصحيح في إدخال نظام أسماء النطاقات. عرض اضبط منفذ HTTP الذي تستخدمه البوابة للحصول على معلومات عن باستخدام منفذ مختلف.

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