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

الإصدار 4.18.05 من Edge for 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. إزالة إصدارات PHP الأقدم من 7.0
  3. تثبيت Postgres
  4. تثبيت البوابة
  5. التأكّد من تفعيل "مدير التحديث"
  6. (اختياري) ضبط Apache Solr
  7. (اختياري) تثبيت SmartDocs
  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. إزالة إصدارات PHP الأقدم من 7.0

يتحقّق نص التثبيت البرمجي من إصدارات PHP السابقة للإصدار 7.0 على النظام قبل بدء التثبيت. إذا كانت هناك إصدارات من PHP أقدم من 7.0، ستظهر رسالة التحذير التالية:

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. ثبِّت الأداة المساعدة Edge apigee-setup على العقدة باستخدام إجراء الإنترنت أو إجراء غير الإنترنت. لمزيد من المعلومات، يُرجى الاطّلاع على تثبيت أداة apigee-setup في 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. يجب أن يكون ملف الإعداد متاحًا أو قابلاً للقراءة من قِبل مستخدم "apigee".

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

قبل تثبيت البوابة الإلكترونية، تأكَّد من تنفيذ الإجراءات التالية كما هو موضّح في 3. تثبيت Postgres:

  1. تثبيت أداة Edge apigee-setup على عقدة البوابة
  2. تثبيت Postgres، إما 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. انتقِل إلى صفحة "إعدادات الاتصال" (Connection Configuration) في البوابة (على سبيل المثال، http://portal_IP:8079/admin/config/devconnect).
    2. انقر على الزر اختبار الاتصال. في حال نجاح الاتصال، تكون قد انتهيت. إذا تعذّر الاتصال، يُرجى المتابعة.
    3. تحقَّق من إعدادات نقطة النهاية والمصادقة:
      • عنوان URL لنقطة نهاية Management API: تأكَّد من صحة البروتوكول (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- تأكَّد من تفعيل وحدة "مدير التحديث" (Update manager)

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

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

drush pm-info update

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

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

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

By default, the Drupal modules that connect to the Apache Solr search engine are disabled when you install the portal. تستخدم معظم البوابات محرك بحث Drupal الداخلي، وبالتالي لا تتطلب وحدات Drupal Solr.

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

لتفعيل وحدات Drupal Solr، اتّبِع الخطوات التالية:

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

7. تثبيت SmartDocs (اختياري)

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

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

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

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

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

لضبط وحدة JQuery Update لاستخدام الإصدار المحلي من JQuery:

  1. سجِّل الدخول إلى البوابة بصفتك مستخدمًا لديه امتيازات المشرف أو إنشاء المحتوى.
  2. اختَر Configuration (الإعدادات) > Development (التطوير) > JQuery Update (تحديث 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.