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

الإصدار 4.19.01 من Edge for Private Cloud

قبل تثبيت بوابة Apigee Developer Services (أو البوابة ببساطة)، تأكَّد مما يلي:

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

لا يتضمّن برنامج التثبيت سوى الوحدات التي ساهم بها فريق Drupal والتي تتطلّبهابوابة Apigee Developer Services (أو البوابة ببساطة). للحصول على معلومات عن تثبيت وحدات أخرى ساهم بها المستخدمون، يُرجى الاطّلاع على توسيع نطاق 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. إزالة الإصدارات الأقدم من 7.0 من PHP

يتحقّق نص التثبيت من توفّر إصدارات PHP الأقدم من 7.0 على النظام قبل بدء عملية التثبيت. إذا كانت هناك إصدارات أقدم من 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

يُرجى العِلم أنّ البوابة تستخدم الإصدار 4.18.01-0.0.49 من لغة PHP. ولم يتم تصميم هذه الطريقة لمطابقة رقم إصدار Apigee Edge for Private Cloud.

3- تثبيت Postgres

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

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

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

لتثبيت Postgres بشكل مستقل:

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

لتلقّي إشعارات بشأن تحديثات 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 ووحدة Apache Solr Search.
  4. احفظ التغييرات.
  5. يمكنك ضبط إعدادات Solr كما هو موضّح في https://drupal.org/node/1999280.

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

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

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

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

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

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

لضبط وحدة JQuery Update لاستخدام الإصدار المحلي من 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.