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

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

يشرح هذا الإجراء كيفية ترقية تثبيت حالي لخدمات قناة Apigee Developer في المؤسسة.

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

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

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

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

  • 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 Core أو في أي وحدات غير مخصّصة، سيتم استبدال تعديلاتك. يشمل ذلك، من بين أمور أخرى، أي تغييرات أجريتها على .htaccess. عليك افتراض أنّ تطبيق Drupal يملك أي محتوى خارج الدليل /sites. ويُستثنى من هذه القاعدة robots.txt، لأنّه إذا كان هذا الملف متوفرًا في جذر الويب، سيتم حفظه لك.

قبل متابعة التثبيت، احتفظ بنسخة احتياطية من دليلك الأساسي على الويب في Drupal. بعد تنفيذ خطوات التثبيت الموضحة أدناه، يمكنك استعادة تخصيصاتك من النسخة الاحتياطية.

ترقية البوابة باستخدام مقياس 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. اختَر الضبط في قائمة Drupal.
    2. في صفحة الإعدادات، اختَر وضع الصيانة ضمن التطوير.
    3. انقر على المربّع وضع الموقع في وضع الصيانة.
    4. أدخِل رسالة تظهر للمستخدمين أثناء الصيانة.
    5. اختَر حفظ الإعدادات.
  6. أوقِف SELinux كما هو موضح في تثبيت الأداة المساعدة لإعداد واجهة برمجة تطبيقات 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 من Edge.
    2. لتثبيت apigee-service من ملف .tar:
      1. في العقدة التي تتضمّن repo المحلي، استخدِم الأمر التالي لتجميع ملفات repo المحلية في ملف .tar واحد باسم /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. ثبِّت الأداة apigee-service Edge وملحقاتها من /tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.17.09.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

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

    3. لتثبيت خدمة apigee باستخدام خادم الويب Nginx:
      1. اضبط خادم الويب Nginx كما هو موضّح في القسم "التثبيت من المخزن باستخدام خادم الويب Nginx" في تثبيت الأداة المساعدة لإعداد واجهة برمجة تطبيقات 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. في العقدة البعيدة، ثبِّت الأداة apigee-service Edge وملحقاتها: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. اختَر الضبط في قائمة Drupal.
    2. في صفحة الإعدادات، اختَر وضع الصيانة ضمن التطوير.
    3. ألغِ اختيار المربع وضع الموقع في وضع الصيانة.
    4. اختَر حفظ الإعدادات.

لاحظ أن الدليل الجذري بعد التحديث هو:

/opt/apigee/apigee-drupal/wwwroot

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