ترقية بوابة خدمات مطوِّري البرامج

الإصدار 4.17.09 من بوابة خدمات المطوّرين

يصف هذا الإجراء كيفية ترقية تثبيت محلي حالي لخدمات قناة مطوّري Apigee.

تحديد إجراء التحديث الصحيح

يعتمد الإجراء الذي تستخدمه لتحديث البوابة على عملية التثبيت الحالية:

تحديد نوع التثبيت الحالي

إذا لم تكن متأكدًا من نوع التثبيت الحالي، استخدِم الأمر التالي لتحديده:

  • ls /opt

    إذا كنت تستخدم Nginx/Postgres، ستظهر لك الأدلة التالية: /opt/apigee و/opt/nginx.

    إذا كنت تستخدم Apache/MySQL أو Apache/MariaDB، يجب ألا تكون هذه الأدلة موجودة.

  • /opt/apigee/apigee-service/bin/apigee-all status

    إذا كنت تستخدم Nginx/Postgres، سيظهر لك الناتج التالي:

    + apigee-service
      apigee-drupal-devportal status
      OK: apigee-drupal-devportal is up and running
      + apigee-service apigee-lb status
      apigee-service: apigee-lb: OK
      + apigee-service apigee-postgresql status
      apigee-service: apigee-postgresql: OK
  • apachectl -S

    إذا كنت تستخدم Apache/MySQL أو Apache/MariaDB، من المفترض أن يعرض هذا الأمر دليل الويب الجذر للبوابة، بالشكل التالي:

    *:80
      192.168.56.102
      (/etc/httpd/conf/vhosts/devportal.conf:1)

دليل التثبيت التلقائي

تفترض عملية الترقية أنّه تم تثبيت "بوابة مخصّصة للمطوّرين" في:

  • الإصدار 4.17.05 والإصدارات الأحدث: /opt/apigee/apigee-drupal/wwwroot
  • قبل الإصدار 4.17.05: /opt/apigee/apigee-drupal (Nginx) أو /var/www/html (Apache)

إذا لم تثبّت البوابة في الدليل التلقائي، عدِّل المسارات في الإجراء أدناه لاستخدام دليل التثبيت.

إصدارات الترقية المتوافقة

يتوافق إجراء الترقية هذا مع الإصدارات التالية من البوابة:

  • OPDK-17-01.x
  • OPDK-17-05.x

لتحديد إصدار البوابة، افتح عنوان URL التالي في متصفّح:

http://your_portal.com/buildInfo

قبل التحديث

بالنسبة إلى عمليات التثبيت الحالية، إذا عدّلت أي رمز في نواة Drupal أو في أي وحدات غير مخصّصة، سيتم استبدال تعديلاتك. ويشمل ذلك، من بين أمور أخرى، أي تغييرات أجريتها على .htaccess. يجب افتراض أنّ أي ملف خارج الدليل /sites مملوك لـ Drupal. يُستثنى من هذه القاعدة الملف robots.txt، فإذا كان هذا الملف موجودًا في جذر الويب، سيتم الاحتفاظ به لك.

قبل المتابعة في عملية التثبيت، أنشِئ نسخة احتياطية من دليل جذر الويب بالكامل في Drupal. بعد تنفيذ خطوات التثبيت الموضّحة أدناه، يمكنك استعادة التخصيصات من النسخة الاحتياطية.

ترقية بوابة باستخدام حِزم RPM

اتّبِع الإجراء التالي لتحديث RPM للبوابة على عقدة:

  1. انتقِل إلى دليل Drupal. مثلاً: /opt/apigee/apigee-drupal/wwwroot

    cd /opt/apigee/apigee-drupal/wwwroot

    يُرجى الاطّلاع على دليل التثبيت التلقائي لمعرفة الدليل التلقائي لإصدار المنتج.

  2. احتفِظ بنسخة احتياطية من مثيل قاعدة بيانات Drupal. ينشئ الأمر pg_dump نسخة من قاعدة البيانات:
    pg_dump --dbname=devportal --host=192.168.56.101
      --username=drupaladmin --password --format=c > /tmp/portal.dmp

    حيث:

    • يحدّد dbname اسم قاعدة البيانات كما هو محدّد في السمة PG_NAME في ملف إعدادات تثبيت البوابة.
    • يحدّد host عنوان IP لعقدة البوابة.
    • تحدّد السمة username اسم مستخدم Postgres الذي تستخدمه البوابة للوصول إلى قاعدة البيانات على النحو المحدّد في السمة DRUPAL_PG_USER في ملف إعداد تثبيت البوابة.
    • سيُطلب منك إدخال كلمة مرور مستخدم Postgres كما هو محدّد في السمة DRUPAL_PG_PASS في ملف إعداد تثبيت البوابة.

    إذا كنت بحاجة إلى الاستعادة من النسخة الاحتياطية لاحقًا، استخدِم الأمر:

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. أنشئ نسخة احتياطية من دليل جذر الويب بالكامل في Drupal. موقع التثبيت التلقائي هو /opt/apigee/apigee-drupal، ولكن من المحتمل أن تكون قد غيّرته.
    إذا لم تكن متأكدًا من موقع هذا الدليل، استخدِم الأمر drush status أو الإدخال Configuration > Media > File في قائمة Drupal لتحديد موقع نظام الملفات العام ومسار نظام الملفات الخاص (للخطوة التالية).
  4. احتفِظ بنسخة احتياطية من الملفات في "/opt/apigee/data/apigee-drupal-devportal/private".
  5. اضبط Drupal على وضع الصيانة:
    1. اختَر Configuration (الإعدادات) في قائمة Drupal.
    2. في صفحة Configuration (الإعدادات)، اختَر Maintenance mode (وضع الصيانة) ضمن Development (التطوير).
    3. ضَع علامة في المربّع وضع الموقع الإلكتروني في وضع الصيانة.
    4. أدخِل رسالة تظهر للمستخدمين أثناء الصيانة.
    5. انقر على حفظ الإعدادات.
  6. أوقِف SELinux على النحو الموضّح في تثبيت أداة apigee-setup في Edge.
  7. انتقِل إلى الدليل /opt:
    cd /opt
  8. للترقية على خادم متصل بالإنترنت:
    1. نزِّل ملف Edge 4.17.09 bootstrap_4.17.09.sh إلى /tmp/bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
    2. ثبِّت الأداة المساعدة Edge 4.17.09 apigee-service والتبعيات:
      sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName
        apigeepassword=pWord

      حيث uName:pWord هما اسم المستخدم وكلمة المرور اللذان تلقيتهما من Apigee. إذا حذفت pWord، سيُطلب منك إدخاله.

      يتحقّق برنامج التثبيت تلقائيًا من تثبيت Java 1.8. يمكنك استخدام الخيار "C" للمتابعة بدون تثبيت Java.

  9. للترقية على خادم بدون اتصال بالإنترنت:
    1. أنشئ مستودعًا محليًا للإصدار 4.17.09 كما هو موضّح في "إنشاء مستودع Apigee محلي" في تثبيت أداة apigee-setup في Edge.
    2. لتثبيت apigee-service من ملف ‎ .tar:
      1. On the node with the local repo, use the following command to package the local repo into a single .tar file named /opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. انسخ ملف ‎ .tar إلى العقدة التي تريد تحديث Edge فيها. على سبيل المثال، انسخه إلى الدليل ‎/tmp على العقدة الجديدة.
      3. على العقدة الجديدة، فُكّ ضغط الملف إلى الدليل ‎ /tmp:
        tar -xzf apigee-4.17.09.tar.gz

        ينشئ هذا الأمر دليلاً جديدًا باسم repos في الدليل الذي يحتوي على ملف ‎ .tar. على سبيل المثال، ‎ /tmp/repos.

      4. ثبِّت أداة Edge apigee-service والتبعيات من /tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.17.09.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        لاحظ أنك تقوم بتضمين المسار إلى دليل المستودعات في هذا الأمر.

    3. لتثبيت apigee-service باستخدام خادم الويب Nginx:
      1. اضبط خادم الويب Nginx كما هو موضّح في "التثبيت من المستودع باستخدام خادم الويب Nginx" في تثبيت أداة apigee-setup في Edge.
      2. على العقدة البعيدة، نزِّل ملف Edge bootstrap_4.17.09.sh إلى /tmp/bootstrap_4.17.09.sh:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.09.sh
          -o /tmp/bootstrap_4.17.09.sh

        حيث uName:pWord هما اسم المستخدم وكلمة المرور اللذان تم ضبطهما أعلاه للمستودع، وremoteRepo هو عنوان IP أو اسم نظام أسماء النطاقات لعقدة المستودع.

      3. على العقدة البعيدة، ثبِّت أداة Edge apigee-service والتبعيات:code
        sudo bash /tmp/bootstrap_4.17.09.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        حيث uName:pWord هما اسم المستخدم وكلمة المرور للمستودع.

  10. استخدِم apigee-service لتحديث الأداة المساعدة apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. شغِّل أداة التحديث المساعدة على العقدة لتحديث قاعدة بيانات Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    حيث configFile هو ملف الإعداد الذي استخدمته لتثبيت قاعدة بيانات Postgres. الشرط الوحيد لملف الإعداد هو أن يكون ملف الإعداد قابلاً للوصول أو القراءة من قِبل مستخدم "apigee".

  12. بدء Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  13. شغِّل أداة التحديث على العقدة لتحديث البوابة:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    حيث configFile هو ملف الإعداد الذي استخدمته لتثبيت البوابة. الشرط الوحيد لملف الإعداد هو أن يكون ملف الإعداد متاحًا أو قابلاً للقراءة من قِبل مستخدم "apigee".

  14. شغِّل النص البرمجي update.php في Drupal من خلال فتح عنوان URL التالي في نافذة متصفّح:
    http://portalIP_DNS:8079/update.php
  15. أوقِف Drupal في وضع الصيانة:
    1. اختَر Configuration (الإعدادات) في قائمة Drupal.
    2. في صفحة Configuration (الإعدادات)، اختَر Maintenance mode (وضع الصيانة) ضمن Development (التطوير).
    3. ألغِ اختيار المربّع وضع الموقع الإلكتروني في وضع الصيانة.
    4. انقر على حفظ الإعدادات.

يُرجى العِلم أنّ الدليل الجذري بعد التحديث هو:

/opt/apigee/apigee-drupal/wwwroot

اكتملت عملية الترقية الآن.