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

لا يتيح لك الإصدار 4.18.05 من بوابة خدمات مطوّري برامج Apigee (أو البوابة) تحديث إصدار سابق من البوابة المستندة إلى tar. يمكنك فقط تعديل إصدار البوابة المستند إلى الأرباح لكل ألف مشاهدة (RPM) مباشرةً إلى 4.18.05.

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

يمكنك نقل العديد من الإصدارات السابقة من البوابة المستندة إلى القطران إلى بوابة مستندة إلى RPM، بما في ذلك الإصدار 4.16.09 و4.17.01، وليس فقط الإصدار 4.17.05. الشرط الوحيد هو أن تستخدم البوابة Drupal 7 أو إصدارًا أحدث. للتحقق من إصدارك من Drupal، اختَر التقارير > تقارير الحالة في قائمة Drupal. تظهر نسخة Drupal في الصف الأول من الناتج.

في ما يلي الخطوات رفيعة المستوى التي تستخدمها لنقل البيانات من بوابة مستندة إلى القطران إلى بوابة مستندة إلى العائد لكل ألف ظهور:

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

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

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

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

/opt/apigee/apigee-drupal

 إلى:

/opt/apigee/apigee-drupal/wwwroot

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

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

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

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

    2. إنشاء قاعدة بيانات Postgred جديدة:
      CREATE DATABASE newportaldb;
    3. الخروج من psql:
      \q
  3. على البوابة المستندة إلى القطران، عليك إزالة الوحدات القديمة التي لم تعُد مستخدَمة:

    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. في البوابة المستندة إلى 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. على البوابة المستندة إلى القطران، يمكنك تثبيت برنامج تشغيل Postgres:
    1. استخدِم Yum لتثبيت برنامج التشغيل:
      yum install php-pdo_pgsql
    2. عدِّل /etc/php.ini لإضافة السطر التالي في أي مكان في الملف:
      extension=pgsql.so
    3. أعِد تشغيل Apache:
      service httpd restart
  7. على البوابة المستندة إلى القطران، يمكنك نقل قاعدة بيانات البوابة إلى البوابة المستندة إلى RPM:
    1. سجِّل الدخول إلى البوابة بصفتك مشرفًا.
    2. حدد بنية->أداة نقل البيانات في قائمة Drupal.
    3. اختَر قاعدة بيانات المصدر على البوابة المستندة إلى القطران، default، وقاعدة بيانات الوجهة custom، استنادًا إلى ملف settings.php المعروض أعلاه.
    4. انقر على نقل البيانات. يتم نقل قاعدة البيانات المستندة إلى القطران إلى قاعدة البيانات المستندة إلى الأرباح لكل ألف مشاهدة (RPM).
  8. انسخ دليل sites من خادم مستند إلى tar إلى خادم يستند إلى RPM. تستند المسارات المعروضة في الخطوات التالية إلى المسارات التلقائية. ويمكنك تعديلها حسب الحاجة أثناء عملية التثبيت.
    1. في البوابة المستندة إلى القطران، عليك تجميع دليل /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 مقارنةً بالإصدار المستند إلى القطران. بعد نقل البيانات إلى البوابة المستندة إلى 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 تلقائيًا، بينما يستخدم الإصدار المستند إلى tar المنفذ 80. تأكَّد من استخدام رقم المنفذ الصحيح في إدخال نظام أسماء النطاقات. راجِع ضبط منفذ HTTP الذي تستخدمه البوابة للحصول على معلومات حول استخدام منفذ مختلف.

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