يوضِّح هذا الإجراء كيفية ترقية بوابة خدمات مطوّري برامج Apigee الحالية (أو ببساطة، البوابة) في المؤسسة.
تحديد إجراء التحديث الصحيح
يعتمد الإجراء الذي تستخدمه لتحديث البوابة على عملية التثبيت الحالية:
- إذا كانت عملية التثبيت تستخدم Nginx/Postgres، استخدِم عندئذٍ ترقية البوابة باستخدام البرامج التي تستند إلى RPM أدناه.
- إذا كانت عملية التثبيت تستخدم Apache/MySQL أو Apache/MariaDB، اطّلِع على المقالة تحويل بوابة مستندة إلى tar إلى بوابة تستند إلى RPM.
تحديد نوع التثبيت الحالي
إذا لم تكن متأكّدًا من نوع التثبيت الحالي، استخدِم الأمر التالي لتحديده:
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 والإصدارات الأحدث.
لتحديد إصدار البوابة، افتح عنوان URL التالي في متصفّح:
http://yourportal.com/buildInfo
قبل التحديث
بالنسبة إلى عمليات التثبيت الحالية، إذا عدّلت أي رمز في Drupal Core أو في أي وحدات غير مخصّصة،
سيتم استبدال تعديلاتك. يشمل ذلك، من بين أمور أخرى، أي تغييرات
أجريتها على .htaccess
.
عليك افتراض أنّ تطبيق Drupal يملك أي محتوى خارج الدليل /sites
. ويُستثنى
من هذه القاعدة robots.txt
، لأنّه إذا كان هذا الملف متوفرًا في جذر الويب، سيتم
حفظه لك.
قبل متابعة التثبيت، احتفظ بنسخة احتياطية من دليلك الأساسي على الويب في Drupal. بعد تنفيذ خطوات التثبيت الموضحة أدناه، يمكنك استعادة تخصيصاتك من النسخة الاحتياطية.
ترقية البوابة باستخدام RPM
لتعديل العائد لكل ألف ظهور للبوابة على عقدة:
- يمكنك التغيير إلى دليل Drupal،
/opt/apigee/apigee-drupal
تلقائيًا:cd /opt/apigee/apigee-drupal
- الاحتفاظ بنسخة احتياطية من مثيل قاعدة بيانات Drupal ينشئ الأمر
pg_dump
نسخة من قاعدة البيانات:pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin --password --format=c > /tmp/portal.dmp
المكان:
- devportal هو اسم قاعدة البيانات كما هو محدّد في السمة
PG_NAME
في ملف إعداد تثبيت البوابة. - host_IP_address هو عنوان IP لعقدة البوابة.
- drupaladmin هو اسم مستخدم Postgres الذي تستخدمه البوابة للوصول إلى قاعدة البيانات كما هو محدّد في السمة
DRUPAL_PG_USER
في ملف إعداد تثبيت البوابة.
سيُطلب منك إدخال كلمة مرور مستخدم Postgres كما هو موضّح في السمة
DRUPAL_PG_PASS
في ملف إعداد تثبيت البوابة.إذا أردت الاستعادة من النسخة الاحتياطية لاحقًا، استخدِم الأمر التالي:
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- devportal هو اسم قاعدة البيانات كما هو محدّد في السمة
- أنشِئ نسخة احتياطية من دليلك الأساسي على الويب في Drupal. الموقع الجغرافي التلقائي للتثبيت
هو
/opt/apigee/apigee-drupal
، ولكن يُحتمَل أنّك غيّرته.إذا لم تكن متأكّدًا من الموقع الجغرافي لهذا الدليل، استخدِم الأمر
drush status
أو الإدخال Configuration > Media > File في قائمة Drupal لتحديد موقع نظام الملفات العلني ومسار نظام الملفات الخاصة (للخطوة التالية). - احتفظ بنسخة احتياطية من الملفات في
/opt/apigee/data/apigee-drupal-devportal/private
. - اضبط Drupal على وضع الصيانة:
- اختَر الضبط في قائمة Drupal.
- في صفحة الإعدادات، اختَر وضع الصيانة ضمن التطوير.
- انقر على المربّع وضع الموقع في وضع الصيانة.
- أدخِل رسالة تظهر للمستخدمين أثناء الصيانة.
- اختَر حفظ الإعدادات.
- أوقِف SELinux كما هو موضح في تثبيت الأداة المساعدة لإعداد واجهة برمجة تطبيقات Edge.
- التغيير إلى دليل
/opt
:cd /opt
- لترقية خادم متّصل بالإنترنت:
- نزِّل ملف
bootstrap_4.19.06.sh
لبرنامج Edge 4.19.06 إلى/tmp/bootstrap_4.19.06.sh
:curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
- تثبيت الأداة المساعدة Edge 4.19.06
apigee-service
والتبعيات:sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord
يكون uName وpWord هما اسم المستخدم وكلمة المرور اللذان تلقّيتهما من Apigee. إذا لم تستخدم pWord، سيُطلب منك إدخاله.
تتحقّق أداة التثبيت تلقائيًا من تثبيت Java 1.8. يمكنك استخدام الخيار "C" للمتابعة بدون تثبيت Java.
- نزِّل ملف
- لترقية خادم غير متصل بالإنترنت:
- أنشِئ مستودع 4.19.06 محليًا كما هو موضَّح في إنشاء مستودع Apigee محلي.
- لتثبيت apigee-service من ملف .tar:
- في العقدة التي تتضمّن ريبو المحلي، استخدِم الأمر التالي لتجميع
repo المحلي في ملف .tar واحد باسم
/opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz
:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- انسخ ملف .tar إلى العقدة التي تريد تحديث Edge فيها. على سبيل المثال، انسخها
إلى الدليل
/tmp
على العقدة الجديدة. - في العقدة الجديدة، أزِل الملف إلى الدليل /tmp:
tar -xzf apigee-4.19.06.tar.gz
ينشئ هذا الأمر دليلاً جديدًا باسم repos في الدليل الذي يحتوي على ملف .tar. على سبيل المثال /tmp/repos.
- ثبِّت الأداة
apigee-service
لبرنامج Edge والتبعيات من/tmp/repos
:sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
لاحظ أنك تقوم بتضمين المسار إلى دليل repos في هذا الأمر.
- في العقدة التي تتضمّن ريبو المحلي، استخدِم الأمر التالي لتجميع
repo المحلي في ملف .tar واحد باسم
- لتثبيت خدمة apigee باستخدام خادم الويب Nginx:
- اضبط خادم الويب Nginx كما هو موضّح في القسم "التثبيت من المخزن باستخدام خادم الويب Nginx" في تثبيت الأداة المساعدة لإعداد واجهة برمجة تطبيقات Edge.
- في العقدة البعيدة، نزِّل ملف Edge
bootstrap_4.19.06.sh
إلى/tmp/bootstrap_4.19.06.sh
:/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
حيث يكون uName وpWord هما اسم المستخدم وكلمة المرور اللذَين تم ضبطهما أعلاه للمستودع، وremoteRepo هو عنوان IP أو اسم نظام أسماء النطاقات لعقدة الريبو.
- في العقدة البعيدة، ثبِّت الأداة
apigee-service
Edge والتبعيات:sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
يكون uName وpWord هما اسم المستخدم وكلمة المرور الخاصَّين بالمستودع.
- استخدِم
apigee-service
لتحديث أداةapigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- شغِّل الأداة
update
على عقدة Postgres:/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
يكون configFile هو ملف الإعداد الذي استخدمته لتثبيت قاعدة بيانات Postgres. الشرط الوحيد في ملف الإعداد هو أن يتمكن مستخدم "apigee" من الوصول إلى ملف الإعداد أو قراءته.
- عليك إزالة تبعيات PHP RPM ولكن ليس مع تبعيات Apigee Drupal Devمدخل RPM من خلال تنفيذ الأمر التالي:
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
ينفِّذ هذا الأمر ما يلي:
- تزيل الدالة
rpm -ev --nodeps
العائد لكل ألف ظهور ولكن لا تزيل تبعياتها. - تنشئ
rpm -qa
قائمة بعائدات RPM التي يجب إزالتها. grep php
عملية بحث عن كل العائد لكل ألف ظهور بلغة PHP.- تطبع
awk '{printf "%s ", $1}'
أسماء RPM.
- تزيل الدالة
- شغِّل الأداة
update
على العقدة لتعديل البوابة:/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
حيث يكون configFile هو ملف الإعداد الذي استخدمته لتثبيت البوابة الشرط الوحيد في ملف الإعداد هو أن يتمكن مستخدم "apigee" من الوصول إلى ملف الإعداد أو قراءته.
- شغِّل النص البرمجي
update.php
في Drupal عن طريق فتح عنوان URL التالي في نافذة متصفّح:http://portal_IP_DNS:8079/update.php
- أوقِف وضع الصيانة:
- اختَر الضبط في قائمة Drupal.
- في صفحة الإعدادات، اختَر وضع الصيانة ضمن التطوير.
- ألغِ اختيار المربع وضع الموقع في وضع الصيانة.
- اختَر حفظ الإعدادات.
لاحظ أن الدليل الجذري بعد التحديث هو:
/opt/apigee/apigee-drupal/wwwroot
اكتملت عملية الترقية الآن. إذا خفّضت أداة Apigee update
إصدار جهازك
من Drupal، قد تحتاج إلى إعادة تشغيل أداة الترقية المساعدة Drupal. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على إعادة تشغيل ترقية Drupal.
إعادة تنفيذ ترقية Drupal
إذا كان تشغيل أداة Apigee update
لترقية Edge for Private Cloud
يؤدي في الواقع إلى الرجوع إلى إصدار سابق من إصدار Drupal، عليك إعادة تثبيت ترقية Drupal. قد
تكون هذه هي الحالة في حال ترقية Drupal فقط بين تحديثات Private Cloud.
مثال:
- كنت تستخدم الإصدار 4.18.05 من متصفّح Edge الخاص بخدمة Private Cloud يتضمّن الإصدار 7.59 من Drupal.
- لقد أجريت ترقية لـ Drupal إلى الإصدار 7.64 بسبب تحديث الأمان المطلوب.
- أنت بصدد ترقية الإصدار 4.19.01 من Private Cloud إلى الإصدار 4.19.01 الذي يتضمّن الإصدار 7.61 من Drupal.
كما هو موضّح في هذه الحالة، قد لا يشير إصدار Drupal الذي تستخدمه الأداة المساعدة Apigee update
إلى أحدث ترقية Drupal. ونتيجة لذلك، يجب الآن إعادة تشغيل ترقية Drupal
لإعادة تثبيت Drupal إلى الإصدار الأحدث.