تثبيت البوابة

الإصدار 4.18.05 من Edge الخاص بخدمة Private Cloud

قبل تثبيت بوابة خدمات مطوّري برامج Apigee (أو البوابة)، تأكَّد مما يلي:

  1. يمكنك تثبيت Postgres قبل تثبيت البوابة. يمكنك إما تثبيت Postgres كجزء من تثبيت Edge أو تثبيت Postgres المستقل لاستخدامه من خلال البوابة.
    • في حال تثبيت Postgres المستقل، يمكن أن يكون على نفس عقدة البوابة.
    • إذا كنت تتصل بتطبيق Postgres المُثبَّت كجزء من Edge، وتم ضبط Postgres في وضع "الرئيسية"/"وضع الاستعداد"، حدِّد عنوان IP لخادم Postgres الرئيسي.
  2. أنك تجري التثبيت على إصدار 64 بت من إصدار متوافق من Red Hat Enterprise Linux أو CentOS أو Oracle. راجِع قائمة الإصدارات المتوافقة ضمن البرامج المتوافقة والإصدارات المتوافقة.
  3. تم تثبيت Yum.

لا تتضمّن أداة التثبيت سوى الوحدات التي يساهم بها Drupal، والمطلوبة من بوابة خدمات مطوّري Apigee (أو ببساطة، البوابة). للحصول على معلومات عن تثبيت الوحدات الأخرى التي تمت المساهمة بها، يمكنك الاطّلاع على توسيع Drupal 7.

نظرة عامة على التثبيت

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

  1. اختبار الاتصال
  2. إزالة الإصدارات التي تسبق الإصدار 7.0 من لغة PHP
  3. تثبيت Postgres
  4. تثبيت البوابة
  5. التأكد من تفعيل مدير التحديثات
  6. (اختياري) ضبط Apache Solr
  7. (اختياري) تثبيت Smart Docs
  8. (اختياري) ضبط JQuery

إيقاف موقع SMTPSSL نهائيًا

في الإصدارات السابقة، كنت تستخدم السمة SMTPSSL لتحديد البروتوكول الذي يستخدمه خادم SMTP المتصل بالبوابة. تم إيقاف هذه السمة نهائيًا.

يمكنك الآن استخدام السمة SMTP_PROTOCOL، بدلاً من السمة SMTPSSL، لضبط البروتوكول الذي يستخدمه خادم SMTP المتصل بالبوابة. والقيم الصالحة هي: "standard" أو "ssl" أو "tls".

إنشاء ملف إعداد بوابة

في ما يلي مثال على ملف إعداد صامت لعملية تثبيت بوابة. عدِّل هذا الملف حسب الضرورة لعملية الضبط. استخدِم الخيار -f إذا أردت setup.sh لتضمين هذا الملف.

IP1=IPorDNSnameOfNode

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Specify the name of the portal database in Postgres.
PG_NAME=devportal

# Specify the Postgres admin credentials.
# The portal connects to Postgres by using the 'apigee' user.
# If you changed the Postgres password from the default of 'postgres'
# then set PG_PWD accordingly.
# If connecting to a Postgres node installed with Edge,
# contact the Edge sys admin to get these credentials.
PG_USER=apigee
PG_PWD=postgres

# The IP address of the Postgres server.
# If it is installed on the same node as the portal, specify that IP.
# If connecting to a remote Postgres server,specify its IP address.
PG_HOST=$IP1

# The Postgres user credentials used by the portal
# to access the Postgres database,
# This account is created if it does not already exist.
DRUPAL_PG_USER=drupaladmin
DRUPAL_PG_PASS=portalSecret

# Specify 'postgres' as the database.
DEFAULT_DB=postgres

# Specify the Drupal admin account details.
# DO NOT set DEVPORTAL_ADMIN_USERNAME=admin.
# The installer creates this user on the portal.
DEVPORTAL_ADMIN_FIRSTNAME=firstName
DEVPORTAL_ADMIN_LASTNAME=lastName
DEVPORTAL_ADMIN_USERNAME=userName
DEVPORTAL_ADMIN_PWD=PORTAL_ADMIN_PASSWORD
DEVPORTAL_ADMIN_EMAIL=foo@bar.com

# Edge connection details.
# If omitted, you can set them in the portal UI.
# Specify the Edge organization associated with the portal.
EDGE_ORG=edgeOrgName

# Specify the URL of the Edge management API.
# For a Cloud based installation of Edge, the URL is:
# https://api.enterprise.apigee.com/v1
# For a Private Cloud installation, it is in the form:
# http://ms_IP_or_DNS:8080/v1 or
# https://ms_IP_or_DNS:TLSport/v1
MGMT_URL=https://api.enterprise.apigee.com/v1

# The org admin credentials for the Edge organization in the form
# of Edge emailAddress:pword.
# The portal uses this information to connect to Edge.
DEVADMIN_USER=orgAdmin@myCorp.com
DEVADMIN_PWD=ORG_ADMIN_PASSWORD

# The PHP port.
# If omitted, it defaults to 8888.
PHP_FPM_PORT=8888

# Optionally configure the SMTP server used by the portal.
# If you do, the properties SMTPHOST and SMTPPORT are required.
# The others are optional with a default value as notated below.
# SMTP hostname. For example, for the Gmail server, use smtp.gmail.com.
SMTPHOST=smtp.gmail.com

# Set the SMTP protocol as "standard", "ssl", or "tls",
# where "standard" corresponds to HTTP.
# Note that in previous releases, this setting was controlled by the
# SMTPSSL property. That property has been deprecated.
SMTP_PROTOCOL="standard"

# SMTP port (usually 25).
# The value can be different based on the selected encryption protocol.
# For example, for Gmail, the port is 465 when using SSL and 587 for TLS.
SMTPPORT=25

# Username used for SMTP authentication, defaults is blank.
SMTPUSER=your@email.com

# Password used for SMTP authentication, default is blank.
SMTPPASSWORD=YOUR_EMAIL_PASSWORD

1- اختبار الاتصال بخدمة Apigee Edge

اختبر الاتصال بين الخادم الذي تريد تثبيت البوابة عليه وخادم إدارة Edge من خلال تنفيذ أمر curl التالي على خادم البوابة:

curl -u EMAIL:PASSWORD http://ms_IP_or_DNS:8080/v1/organizations/ORGNAME

أو:

curl -u EMAIL:PASSWORD https://ms_IP_or_DNS:TLSPort/v1/organizations/ORGNAME

حيث يكون EMAIL وPASSWORD هما عنوان البريد الإلكتروني وكلمة المرور لمشرف ORGNAME.

احرص على تحديد اسم المضيف ورقم المنفذ الخاصَّين بتثبيت Edge. المنفذ 8080 هو المنفذ التلقائي الذي يستخدمه Edge. في حال الاتصال بمؤسسة في السحابة الإلكترونية، يكون عنوان URL للطلب هو: https://api.enterprise.apigee.com/v1/organizations/ORGNAME.

إذا كانت ناجحة، ستعرض curl ردًا مشابهًا لما يلي:

{
  "createdAt" : 1348689232699,
  "createdBy" : "USERNAME",
  "displayName" : "cg",
  "environments" : [ "test", "prod" ],
  "lastModifiedAt" : 1348689232699,
  "lastModifiedBy" : "foo@bar.com",
  "name" : "cg",
  "properties" : {
    "property" : [ ]
  },
  "type" : "trial"
}

2. إزالة الإصدارات التي تسبق الإصدار 7.0 من لغة PHP

يتحقق النص البرمجي للتثبيت من توفُّر إصدارات سابقة للإصدار 7.0 من لغة PHP على النظام قبل البدء في التثبيت. في حالة وجود إصدارات ما قبل 7.0 من PHP، يتم عرض رسالة التحذير التالية:

The following packages present on your system conflict with software we are
about to install. You will need to manually remove each one, then re-run this install script.

php
php-cli
php-common
php-gd
php-mbstring
php-mysql
php-pdo
php-pear
php-pecl-apc
php-process
php-xml

يمكنك إزالة حزم PHP باستخدام الأمر التالي:

yum remove package_name

إذا لم تكن متأكدًا من تثبيت لغة PHP على الخادم، فاستخدم الأمر التالي:

rpm -qa | grep -i php

3. تثبيت Postgres

تتطلّب البوابة تثبيت Postgres قبل أن تتمكّن من تثبيتها. يمكنك إما تثبيت Postgres كجزء من تثبيت Edge، أو تثبيت Postgres المستقل لاستخدامه من خلال البوابة.

  • إذا كنت تتصل بخدمة Postgres المثبَّتة كجزء من Edge، وتم ضبط Postgres في وضع المشرف/وضع الاستعداد، حدِّد عنوان IP لخادم Postgres الرئيسي.
  • في حال تثبيت Postgres المستقل، يمكن أن يكون على نفس عقدة البوابة.

للحصول على معلومات حول تثبيت Postgres كجزء من تثبيت Edge، يُرجى الاطّلاع على تثبيت مكونات Edge على عقدة.

لتثبيت Postgres المستقلّة:

  1. ثبِّت الأداة apigee-setup Edge على العقدة باستخدام أي إجراء خاص بالإنترنت أو غير متصل بالإنترنت. راجِع تثبيت الأداة المساعدة لإعداد واجهة Edge في Edge لمزيد من المعلومات.
  2. أنشئ ملف إعداد Postgres، كما هو موضّح في المثال التالي:
    # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost
    HOSTIP=$(hostname -i)
    
    # The pod and region of Postgres. Use the default values shown below.
    MP_POD=gateway
    REGION=dc-1
    
    # Set the Postgres password. The default value is 'postgres'.
    PG_PWD=postgres
  3. في موجّه الأوامر، شغِّل النص البرمجي للإعداد لتثبيت Postgres:
    /opt/apigee/apigee-setup/bin/setup.sh -p pdb -f postgres_config_file

    يحدِّد الخيار -p pdb تثبيت Postgre. يجب أن يتمكن مستخدم "واجهة برمجة التطبيقات" من الوصول إلى ملف الإعداد أو قراءته.

4. تثبيت البوابة

قبل تثبيت البوابة، احرص على إجراء ما يلي كما هو موضّح في 3. تثبيت Postgres:

  1. تثبيت أداة Edge apigee-setup على عقدة البوابة
  2. تثبيت Postgres، سواء كانت مكتبة مستقلة أو كجزء من تثبيت برنامج Edge

لتثبيت البوابة، يُرجى اتّباع الخطوات التالية:

  1. في موجّه الأوامر، شغِّل النص البرمجي setup:
    /opt/apigee/apigee-setup/bin/setup.sh -p dp -f configFile

    المكان:

    • configFile هو ملف ضبط البوابة كما هو موضّح في إنشاء ملف ضبط البوابة.
    • يوجّه -p dp النص البرمجي setup لتثبيت البوابة.

للتحقُّق من نجاح تثبيت البوابة:

  1. انتقِل إلى الصفحة الرئيسية للبوابة على http://localhost:8079 أو إلى اسم نظام أسماء النطاقات الخاص بالبوابة.
  2. سجِّل الدخول إلى البوابة باستخدام بيانات اعتماد المشرف التي حدّدتها في ملف إعداد البوابة.
  3. اختَر التقارير > تقرير الحالة في قائمة Drupal للتأكد من أنّه يمكنك الاطّلاع على الحالة الحالية للبوابة.
  4. تأكَّد من نجاح الاتصال بخادم الإدارة. وإذا لم يكن كذلك:
    1. انتقِل إلى صفحة إعدادات اتصال البوابة (مثلاً، http://portal_IP:8079/admin/config/devconnect).
    2. انقر على الزر اختبار الاتصال. وإذا كان الاتصال صحيحًا، تكون قد انتهيت. وفي حال تعذّر الاتصال، يمكنك المتابعة.
    3. تحقَّق من إعدادات نقطة النهاية والمصادقة:
      • عنوان URL لنقطة نهاية واجهة برمجة التطبيقات للإدارة: تحقَّق من صحة البروتوكول (HTTP أو HTTPS) واسم عنوان IP أو نظام أسماء النطاقات ورقم المنفذ، على سبيل المثال:
        http://10.10.10.10:8080/v1
      • مستخدم تمت مصادقته لنقطة النهاية: اسم المستخدم لمشرف المؤسسة.
      • كلمة مرور المستخدم التي تمت مصادقتها: كلمة مرور مشرف المؤسسة.

      تعكس القيم التلقائية الإعدادات في ملف إعداد البوابة الذي أنشأته أثناء عملية التثبيت.

      يجب أن تتطابق هذه القيم مع قيم ms_IP_or_DNS وemail وpassword التي استخدمتها في الخطوة 1: اختبار الاتصال بخدمة Apigee Edge. يجب أن يتطابق اسم المستخدم وكلمة المرور أيضًا مع قيم السمتَين USER_NAME وUSER_PWD في ملف إعداد الإعداد أو بيانات اعتماد أي مستخدم يكون دوره مشرف المؤسسة.

    4. بعد الاتصال بخادم الإدارة بنجاح، انقر على الزر حفظ الإعداد في أسفل الصفحة لحفظ التغييرات.

5. تأكّد من أنّ وحدة مدير التحديثات مفعَّلة.

لتلقّي إشعارات بشأن تحديثات Drupal، تأكَّد من أنّ وحدة إدارة تحديث Drupal مفعَّلة. من قائمة Drupal، اختَر الوحدات وانتقِل للأسفل إلى وحدة مدير التحديثات. إذا لم يكن مفعَّلاً، عليك تفعيله.

وبعد تفعيل الميزة، يمكنك الاطّلاع على التحديثات المتاحة باستخدام عنصر القائمة التقارير > التحديثات المتوفّرة. يمكنك أيضًا استخدام أمر Drush التالي:

drush pm-info update

عليك تشغيل هذا الأمر من الدليل الجذر للموقع الإلكتروني. يتم تثبيت البوابة تلقائيًا على /opt/apigee/apigee-drupal/wwwroot. لذلك، يجب أولاً تغيير الدليل إلى /opt/apigee/apigee-drupal/wwwroot قبل تشغيل الأمر. إذا لم تثبِّت البوابة في الدليل التلقائي، انتقِل إلى دليل التثبيت.

يمكنك استخدام عنصر القائمة التقارير > التحديثات المتاحة > الإعدادات لضبط الوحدة لإرسال رسالة إلكترونية إليك عند توفّر التحديثات وضبط معدل تكرار البحث عن التحديثات.

6. ضبط محرّك البحث Apache Solr (اختياري)

يتم تلقائيًا إيقاف وحدات Drupal التي تتصل بمحرّك البحث Apache Solr عند تثبيت البوابة. تستخدم معظم البوابات محرك بحث Drupal الداخلي، وبالتالي لا تتطلّب وحدات Drupal Solr.

إذا قررت استخدام Solr كمحرّك بحث، عليك تثبيت Solr محليًا على خادمك ثم تفعيل وحدات Drupal Solr وإعدادها على البوابة.

لتفعيل وحدات Drupal Solr:

  1. سجّل الدخول إلى المنصة كمستخدم لديه امتيازات المشرف أو امتيازات إنشاء المحتوى.
  2. اختَر الوحدات في قائمة Drupal.
  3. فعِّل وحدة Apache Solr Framework ووحدة Apache Solr Search.
  4. احفظ التغييرات.
  5. اضبط Solr على النحو الموضّح في https://drupal.org/node/1999280.

7. تثبيت Smart Docs (اختياري)

تتيح لك ميزة "المستندات الذكية" توثيق واجهات برمجة التطبيقات على المنصة بطريقة تجعل مستندات واجهة برمجة التطبيقات تفاعلية بالكامل. مع ذلك، لاستخدام Smartالمستندات مع البوابة، يجب أولاً تثبيتها على Edge.

  • إذا كنت تربط البوابة بأحد تثبيتات Edge Cloud، يكون تطبيق Smart Docs مثبّتًا ولن تحتاج إلى ضبط أي إعدادات إضافية.
  • إذا كنت تربط البوابة بتطبيق Edge for Private Cloud لتثبيته، يجب أن تتأكّد من تثبيت تطبيق Smartdocs على Edge. لمزيد من المعلومات حول تثبيت Edge وSmartالمستندات، يُرجى الاطّلاع على تثبيت Smart Docs.

وعليك أيضًا تفعيل Smart Docs على البوابة. لمزيد من المعلومات حول Smart Docs، يُرجى الاطّلاع على استخدام Smartdocs لتوثيق واجهات برمجة التطبيقات.

8. اضبط وحدة تحديث JQuery لعمليات التثبيت غير المتصلة بالإنترنت (اختياري)

إذا ثبّت وحدة تحديث JQuery وتستخدمها في عملية تثبيت لا تستند إلى الإنترنت، يجب ضبط الوحدة لاستخدام الإصدار المحلي من JQuery. وعند ضبط الوحدة لاستخدام شبكة توصيل للمحتوى (CDN) للتثبيت بدون استخدام الإنترنت، ستحاول هذه الوحدة الوصول إلى شبكة توصيل المحتوى (CDN) وتتسبّب في حدوث تأخير في تحميل الصفحة. للحصول على مزيد من المعلومات حول وحدة "تحديث JQuery"، يُرجى الاطّلاع على https://www.drupal.org/project/jquery_update.

لإعداد وحدة تحديث JQuery لاستخدام الإصدار المحلي من JQuery:

  1. سجّل الدخول إلى المنصة كمستخدم لديه امتيازات المشرف أو امتيازات إنشاء المحتوى.
  2. اختَر الضبط > التطوير > تحديث JQuery في قائمة Drupal.
  3. انقر على الأداء في شريط التنقّل الأيمن.
  4. في القائمة المنسدلة JQuery وJQuery UI CDN، حدِّد بدون.
  5. انقر على حفظ الضبط.

9. الخطوات التالية

يدرج الجدول التالي بعض المهام الأكثر شيوعًا التي تنفّذها بعد التثبيت، ويتضمن روابط إلى مستندات Apigee التي يمكنك من خلالها العثور على مزيد من المعلومات:

مهمة الوصف

تخصيص المظهر

ويحدّد المظهر مظهر البوابة، بما في ذلك الألوان والنمط والجوانب المرئية الأخرى.

تخصيص المظهر

تتضمن الصفحة الرئيسية القائمة الرئيسية ورسالة الترحيب والرأس والتذييل والعنوان.

إضافة حسابات مستخدمين وإدارتها

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

ضبط البريد الإلكتروني

ترسل البوابة رسائل إلكترونية استجابةً لأحداث معيّنة. على سبيل المثال، عندما يسجّل مطوّر برامج جديد على المنصة وعندما يفقد مطوّر برامج كلمة المرور الخاصة به.

إضافة حسابات مستخدمين وإدارتها

أضِف صفحة "الأحكام والشروط" التي يجب أن يقبلها المطوّرون قبل السماح لهم بالوصول إلى المنصة.

إضافة حسابات مستخدمين وإدارتها

تنفّذ البوابة نموذج تفويض يستند إلى الدور. قبل السماح للمطوّرين بالتسجيل، يُرجى تحديد الأذونات والأدوار التي تستخدمها البوابة.

إضافة مشاركات المدوّنات والمنتدى

وتحتوي البوابة على دعم مضمَّن للمدونات والمنتديات التي تتضمّن سلاسل محادثات. حدِّد الأذونات المطلوبة لعرض المشاركات في المدوّنة والمنتدى وإضافتها وتعديلها وحذفها.

التأكد من عمل نسخ احتياطية لقاعدة البيانات

تأكد من أنك تقوم بالنسخ الاحتياطي لقاعدة بيانات Drupal. ونظرًا لاختلاف كل عملية تثبيت، يعود إليك تحديد أفضل طريقة للاحتفاظ بنسخة احتياطية من قاعدة البيانات.

راجع أيضًا كيفية الاحتفاظ بنسخة احتياطية.

إعداد اسم مضيف

في حال عدم إعداد اسم مضيف في خادم نظام أسماء النطاقات، يمكنك في أي وقت الوصول إلى الموقع الإلكتروني من خلال عنوان IP الخاص بالخادم. إذا كنت تريد استخدام اسم مضيف، يمكنك ضبط نظام أسماء النطاقات للخادم، والذي يُفترض أن يعمل بشكل صحيح بدون أي إعدادات أخرى في الإعداد الأساسي.

في حال إعداد جهاز لموازنة الحمل أو ظهور عناوين URL غير صحيحة على موقعك الإلكتروني لسبب آخر، يمكنك ضبط $base_url على Drupal باتّباع الخطوات التالية:

  1. أنشئ الدليل /opt/apigee/data/apigee-drupal-devportal/sites/default/includes إذا لم يكن متوفرًا.
  2. أنشئ ملفًا باسم settings.php في ذلك الدليل.
  3. أضِف ما يلي إلى ملف settings.php:
    /**
    * Base URL (optional).
    *
    * If Drupal is generating incorrect URLs on your site, which could
    * be in HTML headers (links to CSS and JS files) or visible links
    * on pages (such as in menus), uncomment the Base URL statement
    * below (remove the leading hash sign) and fill in the absolute URL
    * to your Drupal installation.
    *
    * You might also want to force users to use a given domain.
    * See the .htaccess file for more information.
    *
    * Examples:
    *   $base_url = 'http://www.example.com';
    *   $base_url = 'http://www.example.com:8888';
    *   $base_url = 'http://www.example.com/drupal';
    *   $base_url = 'https://www.example.com:8888/drupal';
    *
    * It is not allowed to have a trailing slash; Drupal will add it
    * for you.
    */
    # $base_url = 'http://www.example.com/';  // NO trailing slash!
    $base_url = ‘http://www.example.com’;
    
  4. غيِّر سطر $base_url الأخير ليكون اسم المضيف لموقعك الإلكتروني.
  5. احفظ الملف.

يُرجى ملاحظة أنّه يمكنك إضافة أي إعدادات أخرى من /opt/apigee/data/apigee-drupal-devportal/ sites/default/default.settings.php في هذا الملف.

لمزيد من المعلومات عن السمة $base_url، يُرجى الاطّلاع على ما يلي:

التطوير المخصّص ويمكنك أيضًا توسيع نطاق إمكانات البوابة باستخدام رموز مخصّصة خارج المظهر. ولإجراء ذلك، أنشئ وحدة Drupal الخاصة بك كما هو موضّح في مواضيع تطوير الوحدات في Drupal، وضَع الوحدة في دليل /sites/all/modules.