يوضّح هذا الإجراء كيفية ترقية عملية تثبيت حالية لبوابة Apigee Developer Services (أو ببساطة، البوابة) في المؤسسة.
تحديد إجراء التحديث الصحيح
يعتمد الإجراء الذي تستخدمه لتحديث البوابة على عملية التثبيت الحالية:
- إذا كان التثبيت يستخدم 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 أو في أي وحدات غير مخصّصة، سيتم استبدال تعديلاتك. ويشمل ذلك، من بين أمور أخرى، أي تغييرات
أجريتها على .htaccess.
يجب افتراض أنّ أي ملف خارج الدليل /sites مملوك لـ Drupal. ويُستثنى من هذه القاعدة الملف robots.txt، فإذا كان هذا الملف موجودًا في جذر الويب، سيتم الاحتفاظ به.
قبل المتابعة في عملية التثبيت، أنشِئ نسخة احتياطية من دليل جذر الويب بالكامل في Drupal. بعد تنفيذ خطوات التثبيت الموضّحة أدناه، يمكنك استعادة التخصيصات من النسخة الاحتياطية.
ترقية بوابة باستخدام حِزم RPM
لتحديث حزمة 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 على وضع الصيانة:
- اختَر Configuration (الإعدادات) في قائمة Drupal.
- في صفحة Configuration (الإعدادات)، اختَر Maintenance mode (وضع الصيانة) ضمن Development (التطوير).
- ضَع علامة في المربّع وضع الموقع الإلكتروني في وضع الصيانة.
- أدخِل رسالة تظهر للمستخدمين أثناء الصيانة.
- انقر على حفظ الإعدادات.
- أوقِف SELinux على النحو الموضّح في تثبيت أداة apigee-setup في Edge.
- انتقِل إلى الدليل
/opt:cd /opt
- للترقية على خادم متصل بالإنترنت:
- نزِّل ملف Edge 4.19.06
bootstrap_4.19.06.shإلى/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.
- نزِّل ملف Edge 4.19.06
- للترقية على خادم بدون اتصال بالإنترنت:
- أنشئ مستودعًا محليًا للإصدار 4.19.06 كما هو موضّح في إنشاء مستودع Apigee محلي.
- لتثبيت apigee-service من ملف .tar:
- 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.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.
- ثبِّت أداة Edge
apigee-serviceوالتبعيات من/tmp/repos:sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
لاحظ أنك تقوم بتضمين المسار إلى دليل المستودعات في هذا الأمر.
- On the node with the local repo, use the following command to package the local
repo into a single .tar file named
- لتثبيت apigee-service باستخدام خادم الويب Nginx:
- اضبط خادم الويب Nginx كما هو موضّح في "التثبيت من المستودع باستخدام خادم الويب Nginx" في تثبيت أداة apigee-setup في 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 أو اسم نظام أسماء النطاقات لعقدة المستودع.
- على العقدة البعيدة، ثبِّت أداة Edge
apigee-serviceوالتبعيات: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 Devportal RPM من خلال تنفيذ
الأمر التالي:
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
ينفّذ هذا الأمر ما يلي:
- يزيل
rpm -ev --nodepsحِزم RPM ولكن ليس تبعياتها. - ينشئ
rpm -qaقائمة بحزم RPM المطلوب إزالتها. - يبحث
grep phpعن جميع حزم RPM الخاصة بلغة 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
- إيقاف "وضع الصيانة":
- اختَر Configuration (الإعدادات) في قائمة Drupal.
- في صفحة Configuration (الإعدادات)، اختَر Maintenance mode (وضع الصيانة) ضمن Development (التطوير).
- ألغِ اختيار المربّع وضع الموقع الإلكتروني في وضع الصيانة.
- انقر على حفظ الإعدادات.
يُرجى العِلم أنّ الدليل الجذري بعد التحديث هو:
/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 for Private Cloud، والذي يتضمّن Drupal 7.59.
- لقد أجريت ترقية لـ Drupal إلى الإصدار 7.64 بسبب تحديث أمان مطلوب.
- أنت الآن بصدد ترقية Private Cloud إلى الإصدار 4.19.01 الذي يتضمّن Drupal 7.61.
كما توضّح هذه الحالة، قد لا يشير إصدار Drupal الذي تستخدمه أداة Apigee update المساعدة إلى آخر ترقية في Drupal. ونتيجةً لذلك، عليك الآن إعادة تشغيل ترقية Drupal
لإعادة تثبيت Drupal إلى الإصدار الأحدث.