يصف هذا الإجراء طريقة ترقية بوابة خدمات المطوّرين في 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
.
يجب افتراض أنّ أي ملف خارج دليل /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
أو الإعداد > الوسائط > الملف في قائمة Drupal لتحديد موقع نظام الملفات العام ومسار نظام الملفات الخاص (للخطوة التالية ). - أنشئ نسخة احتياطية من الملفات في
/opt/apigee/data/apigee-drupal-devportal/private
. - اضبط Drupal على وضع الصيانة:
- اختَر الإعدادات في قائمة Drupal.
- في صفحة الضبط، اختَر وضع الصيانة ضمن التطوير.
- ضَع علامة في المربّع وضع الموقع في وضع الصيانة.
- أدخِل رسالة تظهر للمستخدمين أثناء الصيانة.
- انقر على حفظ الضبط.
- أوقِف SELinux على النحو الموضّح في مقالة تثبيت أداة إعداد apigee-setup في 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
- ثبّت الأداة المساعدة
apigee-service
والتبعيات من Edge 4.19.06: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:
- على العقدة التي تتضمّن المستودع المحلي، استخدِم الأمر التالي لحزمة المستودع المحلي
في ملف 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
يُرجى ملاحظة أنّك تضمّن المسار إلى دليل المستودعات في هذا الأمر.
- على العقدة التي تتضمّن المستودع المحلي، استخدِم الأمر التالي لحزمة المستودع المحلي
في ملف tar .واحد باسم
- لتثبيت apigee-service باستخدام خادم الويب Nginx:
- اضبط خادم الويب Nginx كما هو موضّح في قسم "التثبيت من المستودع باستخدام خادم الويب Nginx" في مقالة تثبيت أداة Edge apigee-setup.
- في العقدة البعيدة، نزِّل ملف 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".
- أزِل اعتماديات RPM الخاصة بلغة PHP باستثناء ملحقات RPM في Apigee Drupal Dev Portal من خلال تنفيذ الأمر التالي:
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
.ينفِّذ هذا الأمر ما يلي:
- تزيل
rpm -ev --nodeps
حِزم RPM ولكنّها لا تزيل تبعياتها. rpm -qa
ينشئ قائمة بنقاط الأداء التي يجب إزالتها.- يبحث
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
- إيقاف وضع الصيانة:
- اختَر الإعداد في قائمة 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 for Private Cloud الذي يتضمّن الإصدار 7.59 من Drupal.
- تمت ترقية Drupal إلى الإصدار 7.64 بسبب تحديث الأمان المطلوب.
- يتم الآن ترقية Private Cloud إلى الإصدار 4.19.01 الذي يتضمّن Drupal 7.61.
كما هو موضّح في هذه الحالة، إنّ إصدار Drupal الذي تستخدمه أداة Apigee update
قد لا يشير إلى آخر ترقية لـ Drupal. نتيجةً لذلك، يجب الآن إعادة تشغيل عملية الترقية إلى Drupal
لإرجاع تثبيت Drupal إلى الإصدار الأحدث.