Как установить портал

Edge for Private Cloud 4.19.01

Перед установкой портала Apigee Developer Services (или просто портала) убедитесь, что:

  1. Postgres устанавливается до установки портала. Вы можете установить Postgres как часть установки Edge или установить Postgres отдельно для использования порталом.
    • Если вы устанавливаете Postgres отдельно, он может находиться на том же узле, что и портал.
    • Если вы подключаетесь к Postgres, установленному в составе Edge, и Postgres настроен в режиме master/standby, укажите 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

В предыдущих выпусках для настройки протокола, используемого SMTP-сервером, подключенным к порталу, использовалось свойство SMTPSSL. Это свойство больше не поддерживается.

Теперь для настройки протокола, используемого SMTP-сервером, подключенным к порталу, вместо свойства SMTPSSL используется свойство SMTP_PROTOCOL. Допустимые значения: 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, появится следующее предупреждение:

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

Обратите внимание, что на портале используется PHP версии 4.18.01-0.0.49. Она не совпадает с номером версии Apigee Edge для Private Cloud.

3. Установите Postgres

Перед установкой портала необходимо установить Postgres. Вы можете установить Postgres как часть установки Edge или установить Postgres отдельно для использования порталом.

  • Если вы подключаетесь к Postgres, установленному в составе Edge, и Postgres настроен в режиме master/standby, укажите 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 отдельно или в составе Edge.

Чтобы установить портал:

  1. В командной строке запустите скрипт setup:
    /opt/apigee/apigee-setup/bin/setup.sh -p dp -f configFile

    Где:

    • configFile – файл конфигурации портала, как описано в разделе Как создать файл конфигурации портала.
    • -p dp указывает скрипту setup, что нужно установить портал.

Чтобы убедиться, что установка портала прошла успешно, выполните следующие действия:

  1. Перейдите на главную страницу портала по адресу http://localhost:8079 или по DNS-имени портала.
  2. Войдите на портал, используя учетные данные администратора, которые вы указали в файле конфигурации портала.
  3. В меню Drupal выберите Reports (Отчеты) > Status Report (Отчет о статусе), чтобы убедиться, что вы можете видеть текущий статус портала.
  4. Убедитесь, что подключение к серверу управления установлено. Если нет:
    1. Перейдите на страницу Connection Configuration (Конфигурация подключения) на портале, например http://portal_IP:8079/admin/config/devconnect.
    2. Нажмите кнопку Test Connection (Проверить соединение). Если подключение прошло успешно, вы закончили. Если подключение не удалось, перейдите к следующему шагу.
    3. Проверьте настройки конечной точки и аутентификации:
      • URL конечной точки Management API. Убедитесь, что протокол (HTTP или HTTPS), IP-адрес или DNS-имя, а также номер порта указаны правильно. Пример:
        http://10.10.10.10:8080/v1
      • Endpoint authenticated user (Пользователь, прошедший аутентификацию в конечной точке) – имя пользователя администратора организации.
      • Authenticated user's password (Пароль аутентифицированного пользователя) – пароль администратора организации.

      Значения по умолчанию отражают настройки в файле конфигурации портала, который вы создали в процессе установки.

      Эти значения должны совпадать со значениями ms_IP_or_DNS, email и password, которые вы использовали на шаге 1. Проверьте подключение к Apigee Edge. Имя пользователя и пароль также должны соответствовать значениям свойств USER_NAME и USER_PWD в файле конфигурации интеграции или учетным данным любого пользователя с ролью администратора организации.

    4. После успешного подключения к серверу управления нажмите кнопку Сохранить конфигурацию внизу страницы, чтобы сохранить изменения.

5. Убедитесь, что модуль Update manager включен.

Чтобы получать уведомления об обновлениях Drupal, убедитесь, что модуль Update manager включен. В меню Drupal выберите Modules (Модули) и прокрутите страницу вниз до модуля Update manager (Менеджер обновлений). Если он не включен, включите его.

После этого вы сможете просматривать доступные обновления, выбрав в меню Отчеты > Доступные обновления. Вы также можете использовать следующую команду Drush:

drush pm-info update

Эту команду нужно выполнить в корневом каталоге сайта. По умолчанию портал устанавливается в папку /opt/apigee/apigee-drupal/wwwroot. Поэтому перед выполнением команды необходимо перейти в каталог /opt/apigee/apigee-drupal/wwwroot. Если вы установили портал не в каталог по умолчанию, перейдите в каталог установки.

Чтобы настроить модуль для отправки вам электронных писем о доступных обновлениях и задать частоту проверки обновлений, выберите пункт меню Reports (Отчеты) > Available Updates (Доступные обновления) > Settings (Настройки).

6. Настройте поисковую систему Apache Solr (необязательно)

По умолчанию модули Drupal, которые подключаются к поисковой системе Apache Solr, отключены при установке портала. Большинство порталов используют внутреннюю поисковую систему Drupal и поэтому не требуют модулей Drupal Solr.

Если вы решите использовать Solr в качестве поисковой системы, вам необходимо установить Solr локально на своем сервере, а затем включить и настроить модули Drupal Solr на портале.

Чтобы включить модули Drupal Solr, выполните следующие действия:

  1. Войдите на портал как пользователь с правами администратора или создания контента.
  2. В меню Drupal выберите Modules (Модули).
  3. Включите модули Apache Solr Framework и Apache Solr Search.
  4. Сохраните изменения.
  5. Настройте Solr, как описано на странице https://drupal.org/node/1999280.

7. Установите SmartDocs (необязательно)

SmartDocs позволяет документировать API на портале таким образом, чтобы документация по API была полностью интерактивной. Однако, чтобы использовать SmartDocs с порталом, вы должны сначала установить SmartDocs на Edge.

  • Если вы подключаете портал к Edge Cloud, SmartDocs уже установлен и дополнительная настройка не требуется.
  • Если вы подключаете портал к Edge для установки частного облака, убедитесь, что SmartDocs установлен на Edge. Подробнее об установке Edge и SmartDocs…

Также необходимо включить SmartDocs на портале. Дополнительную информацию о SmartDocs можно найти в статье Использование SmartDocs для документирования API.

8. Настройте модуль JQuery Update для установок без доступа к интернету (необязательно)

Если вы устанавливаете и используете модуль JQuery Update в среде без доступа к интернету, вам нужно настроить модуль так, чтобы он использовал локальную версию JQuery. Если вы настроите модуль на использование CDN для установки без доступа к интернету, он попытается подключиться к CDN, что приведет к задержкам при загрузке страниц. Дополнительную информацию о модуле JQuery Update можно найти на странице https://www.drupal.org/project/jquery_update.

Чтобы настроить модуль JQuery Update на использование локальной версии JQuery, выполните следующие действия:

  1. Войдите на портал как пользователь с правами администратора или создания контента.
  2. В меню Drupal выберите Configuration (Конфигурация) > Development (Разработка) > JQuery Update (Обновление JQuery).
  3. Нажмите Эффективность на панели навигации слева.
  4. В раскрывающемся меню JQuery and JQuery UI CDN (CDN для JQuery и JQuery UI) выберите None (Нет).
  5. Нажмите Сохранить конфигурацию.

9. Дальнейшие действия

В таблице ниже перечислены некоторые из наиболее распространенных задач, которые вы выполняете после установки, и приведены ссылки на документацию Apigee, где вы можете найти дополнительную информацию:

Задача Описание

Как настроить тему

Тема определяет внешний вид портала, включая цвета, стили и другие визуальные аспекты.

Настройка внешнего вида

На главной странице есть главное меню, приветственное сообщение, заголовок, нижний колонтитул и название.

Добавление аккаунтов пользователей и управление ими

Процесс регистрации определяет, как новые разработчики регистрируют аккаунт на портале. Например, получают ли новые разработчики немедленный доступ к порталу или их должен проверить администратор. Этот процесс также определяет, как администратор портала получает уведомления о создании нового аккаунта.

Настройка электронной почты

Портал отправляет электронные письма в ответ на определенные события. Например, когда на портале регистрируется новый разработчик или когда разработчик теряет пароль.

Добавление аккаунтов пользователей и управление ими

Добавьте страницу с условиями использования, которые разработчики должны принять, прежде чем получить доступ к порталу.

Добавление аккаунтов пользователей и управление ими

На портале реализована модель авторизации на основе ролей. Прежде чем разрешить разработчикам регистрироваться, определите разрешения и роли, используемые порталом.

Как добавить записи из блогов и форумов

Портал имеет встроенную поддержку блогов и форумов. Определите разрешения, необходимые для просмотра, добавления, редактирования и удаления записей в блогах и на форумах.

Убедитесь, что вы создаете резервные копии базы данных

Убедитесь, что вы создаете резервную копию базы данных Drupal. Поскольку все установки отличаются друг от друга, вы должны сами определить, как лучше всего создать резервную копию базы данных.

См. также статью Как выполнить резервное копирование.

Как настроить имя хоста

Если вы не настроите имя хоста на DNS-сервере, то сможете заходить на сайт по IP-адресу сервера. Если вы хотите использовать имя хоста, настройте DNS для сервера. При базовой конфигурации этого должно быть достаточно.

Если вы настроили балансировщик нагрузки или по какой-то другой причине получаете неправильные 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, как описано в разделе Разработка модулей, и поместите его в каталог /sites/all/modules.