포털 설치

Private Cloud용 Edge v4.19.01

Apigee 개발자 서비스 포털 (또는 간단히 포털)을 설치하기 전에 다음을 확인하세요.

  1. 포털을 설치하기 전에 Postgres를 설치합니다. Edge를 설치할 때 Postgres를 설치하거나 포털에서 사용할 수 있도록 Postgres를 독립형으로 설치할 수 있습니다.
    • Postgres를 독립형으로 설치하는 경우 포털과 동일한 노드에 있을 수 있습니다.
    • Edge의 일부로 설치된 Postgres에 연결하고 Postgres가 마스터/스탠바이 모드로 구성된 경우 마스터 Postgres 서버의 IP 주소를 지정합니다.
  2. 지원되는 버전의 Red Hat Enterprise Linux, CentOS 또는 Oracle의 64비트 버전에서 설치를 실행하고 있습니다. 지원되는 소프트웨어 및 지원되는 버전에서 지원되는 버전 목록을 확인하세요.
  3. Yum이 설치되어 있습니다.

설치 프로그램에는 Apigee 개발자 서비스 포털 (또는 간단히 포털)에 필요한 Drupal에서 제공한 모듈만 포함됩니다. 기여 모듈을 설치하는 방법에 관한 자세한 내용은 Drupal 7 확장을 참고하세요.

설치 개요

포털을 설치하려면 다음 단계를 따르세요. 이러한 각 단계는 다음 섹션에서 자세히 설명합니다.

  1. 연결 테스트
  2. PHP 7.0 이전 버전 삭제
  3. Postgres 설치
  4. 포털 설치하기
  5. 업데이트 관리자가 사용 설정되어 있는지 확인하기
  6. (선택사항) Apache Solr 구성
  7. (선택사항) SmartDocs 설치
  8. (선택사항) JQuery 구성

SMTPSSL 속성 지원 중단

이전 버전에서는 SMTPSSL 속성을 사용하여 포털에 연결된 SMTP 서버에서 사용하는 프로토콜을 설정했습니다. 이 속성은 지원 중단되었습니다.

이제 SMTPSSL 속성 대신 SMTP_PROTOCOL 속성을 사용하여 포털에 연결된 SMTP 서버에서 사용하는 프로토콜을 설정합니다. 유효한 값은 'standard', 'ssl', 'tls'입니다.

포털 구성 파일 만들기

다음은 포털 설치의 무음 구성 파일 예시입니다. 구성에 맞게 이 파일을 수정하세요. setup.sh에 -f 옵션을 사용하여 이 파일을 포함합니다.

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 연결 테스트

포털 서버에서 다음 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

여기서 EMAILPASSWORDORGNAME의 관리자의 이메일 주소 및 비밀번호입니다.

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

포털은 PHP 버전 4.18.01-0.0.49를 사용합니다. 이는 프라이빗 클라우드용 Apigee Edge의 버전 번호와 일치하지 않습니다.

3. Postgres 설치

포털을 설치하려면 먼저 Postgres를 설치해야 합니다. Edge 설치의 일부로 Postgres를 설치하거나 포털에서 사용할 수 있도록 Postgres를 독립형으로 설치할 수 있습니다.

  • Edge의 일부로 설치된 Postgres에 연결하고 Postgres가 마스터/스탠바이 모드로 구성된 경우 마스터 Postgres 서버의 IP 주소를 지정합니다.
  • Postgres를 독립형으로 설치하면 포털과 동일한 노드에 설치될 수 있습니다.

Edge를 설치하는 과정에서 Postgres를 설치하는 방법에 대한 자세한 내용은 노드에 Edge 구성요소 설치를 참조하세요.

Postgres 독립형을 설치하려면 다음 단계를 따르세요.

  1. 인터넷 또는 비인터넷 절차를 사용하여 노드에 Edge apigee-setup 유틸리티를 설치합니다. 자세한 내용은 Edge apigee-setup 유틸리티 설치를 참고하세요.
  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 설치 과정의 일부로 Postgres를 설치합니다.

포털을 설치하려면 다음 단계를 따르세요.

  1. 명령 프롬프트에서 setup 스크립트를 실행합니다.
    /opt/apigee/apigee-setup/bin/setup.sh -p dp -f configFile

    각 항목의 의미는 다음과 같습니다.

    • configFile포털 구성 파일 만들기에 설명된 대로 포털 구성 파일입니다.
    • -p dpsetup 스크립트에 포털을 설치하도록 지시합니다.

포털 설치가 성공했는지 확인하려면 다음 안내를 따르세요.

  1. 포털 홈페이지(http://localhost:8079) 또는 포털의 DNS 이름으로 이동합니다.
  2. 포털 구성 파일에 설정한 관리자 사용자 인증 정보를 사용하여 포털에 로그인합니다.
  3. Drupal 메뉴에서 보고서 > 상태 보고서를 선택하여 포털의 현재 상태를 볼 수 있는지 확인합니다.
  4. 관리 서버 연결이 성공했는지 확인합니다. 그렇지 않은 경우:
    1. 포털 연결 구성 페이지로 이동합니다 (예: http://portal_IP:8079/admin/config/devconnect).
    2. 연결 테스트 버튼을 클릭합니다. 연결에 성공하면 완료됩니다. 연결에 실패하면 계속 진행합니다.
    3. 엔드포인트 및 인증 설정을 확인합니다.
      • Management API 엔드포인트 URL: 프로토콜 (HTTP 또는 HTTPS), IP 또는 DNS 이름, 포트 번호가 올바른지 확인합니다. 예:
        http://10.10.10.10:8080/v1
      • 엔드포인트 인증 사용자: 조직 관리자의 사용자 이름입니다.
      • 인증된 사용자의 비밀번호: 조직 관리자의 비밀번호입니다.

      기본값은 설치 프로세스 중에 생성한 포털 구성 파일의 설정을 반영합니다.

      이 값은 1: Apigee Edge에 대한 연결 테스트 단계에서 사용한 ms_IP_or_DNS, email, password 값과 일치해야 합니다. 사용자 이름과 비밀번호는 온보딩 구성 파일USER_NAMEUSER_PWD 속성 값 또는 조직 관리자 역할의 사용자의 사용자 인증 정보와도 일치해야 합니다.

    4. 관리 서버에 연결한 후 페이지 하단에 있는 구성 저장 버튼을 클릭하여 변경사항을 저장합니다.

5. 업데이트 관리자 모듈이 사용 설정되어 있는지 확인

Drupal 업데이트 알림을 받으려면 Drupal 업데이트 관리자 모듈이 사용 설정되어 있어야 합니다. Drupal 메뉴에서 모듈을 선택하고 업데이트 관리자 모듈까지 아래로 스크롤합니다. 사용 설정되어 있지 않으면 사용 설정합니다.

사용 설정하면 보고서 > 사용 가능한 업데이트 메뉴 항목을 사용하여 사용 가능한 업데이트를 확인할 수 있습니다. 다음 Drush 명령어를 사용할 수도 있습니다.

drush pm-info update

사이트의 루트 디렉터리에서 이 명령어를 실행해야 합니다. 기본적으로 포털은 /opt/apigee/apigee-drupal/wwwroot에 설치됩니다. 따라서 명령어를 실행하기 전에 먼저 디렉터리를 /opt/apigee/apigee-drupal/wwwroot로 변경해야 합니다. 기본 디렉터리에 포털을 설치하지 않은 경우 설치 디렉터리로 변경합니다.

보고서 > 사용 가능한 업데이트 > 설정 메뉴 항목을 사용하여 업데이트가 있을 때 이메일을 보내도록 모듈을 구성하고 업데이트 확인 빈도를 설정합니다.

6. Apache Solr 검색엔진 구성(선택사항)

기본적으로 Apache Solr 검색 엔진에 연결되는 Drupal 모듈은 포털을 설치할 때 사용 중지됩니다. 대부분의 포털은 내부 Drupal 검색엔진을 사용하므로 Drupal Solr 모듈이 필요하지 않습니다.

Solr를 검색엔진으로 사용하려면 서버에 로컬로 Solr를 설치한 다음 포털에서 Drupal Solr 모듈을 사용 설정하고 구성해야 합니다.

Drupal Solr 모듈을 사용 설정하려면 다음 단계를 따르세요.

  1. 관리자 또는 콘텐츠 생성 권한이 있는 사용자로 포털에 로그인합니다.
  2. Drupal 메뉴에서 모듈을 선택합니다.
  3. Apache Solr Framework 모듈 및 Apache Solr 검색 모듈을 사용 설정합니다.
  4. 변경사항을 저장합니다.
  5. https://drupal.org/node/1999280에 설명된 대로 Solr를 구성합니다.

7. SmartDocs 설치 (선택사항)

SmartDocs를 사용하면 API 문서를 완전히 상호 작용하는 방식으로 포털에 문서화할 수 있습니다. 하지만 포털에서 SmartDocs를 사용하려면 먼저 Edge에 SmartDocs를 설치해야 합니다.

  • 포털을 Edge Cloud 설치에 연결하는 경우 SmartDocs가 이미 설치되어 있으므로 추가 구성이 필요하지 않습니다.
  • 포털을 Edge for Private Cloud 설치에 연결하는 경우 Edge에 SmartDocs가 설치되어 있는지 확인해야 합니다. Edge 및 SmartDocs 설치에 대한 자세한 내용은 SmartDocs 설치를 참조하세요.

포털에서 SmartDocs도 사용 설정해야 합니다. SmartDocs에 대한 자세한 내용은 SmartDocs를 사용하여 API 문서화를 참조하세요.

8. 인터넷이 아닌 설치를 위해 jQuery 업데이트 모듈 구성 (선택사항)

인터넷이 아닌 설치에 JQuery 업데이트 모듈을 설치하고 사용하는 경우 로컬 버전의 JQuery를 사용하도록 모듈을 구성해야 합니다. 인터넷이 아닌 설치에 CDN을 사용하도록 모듈을 구성하면 CDN에 액세스하려고 시도하여 페이지 로드가 지연됩니다. JQuery 업데이트 모듈에 관한 자세한 내용은 https://www.drupal.org/project/jquery_update를 참고하세요.

로컬 버전의 jQuery를 사용하도록 JQuery 업데이트 모듈을 구성하려면 다음 단계를 따르세요.

  1. 관리자 또는 콘텐츠 제작 권한이 있는 사용자로 포털에 로그인합니다.
  2. Drupal 메뉴에서 구성 > 개발 > JQuery 업데이트를 선택합니다.
  3. 왼쪽 탐색에서 실적을 클릭합니다.
  4. JQuery 및 JQuery UI CDN 드롭다운에서 없음을 선택합니다.
  5. Save configuration(구성 저장)을 클릭합니다.

9. 다음 단계

다음 표에는 설치 후 수행하는 가장 일반적인 작업이 나와 있으며 추가 정보를 찾을 수 있는 Apigee 문서 링크가 포함되어 있습니다.

작업 설명

테마 맞춤설정

테마는 색상, 스타일, 기타 시각적 측면을 비롯하여 포털의 모양을 정의합니다.

디자인 맞춤설정

홈페이지에는 기본 메뉴, 환영 메시지, 헤더, 바닥글, 제목이 포함됩니다.

사용자 계정 추가 및 관리하기

등록 프로세스는 신규 개발자가 포털에서 계정을 등록하는 방법을 제어합니다. 예를 들어 신규 개발자가 포털에 즉시 액세스할 수 있나요? 아니면 관리자의 확인을 받아야 하나요? 이 프로세스는 새 계정이 생성될 때 포털 관리자에게 알림을 보내는 방식도 제어합니다.

이메일 구성

포털에서 특정 이벤트에 대한 응답으로 이메일을 전송합니다. 예를 들어 신규 개발자가 포털에 등록하거나 개발자가 비밀번호를 분실한 경우입니다.

사용자 계정 추가 및 관리하기

개발자가 포털에 액세스하기 전에 동의해야 하는 이용약관 페이지를 추가합니다.

사용자 계정 추가 및 관리하기

포털은 역할 기반 승인 모델을 구현합니다. 개발자가 등록하도록 허용하기 전에 포털에서 사용하는 권한과 역할을 정의합니다.

블로그 및 포럼 게시물 추가하기

포털에서는 블로그 및 대화목록 형식 포럼을 기본적으로 지원합니다. 블로그 및 포럼 게시물을 보고, 추가, 수정, 삭제하는 데 필요한 권한을 정의합니다.

데이터베이스 백업을 실행 중인지 확인

Drupal 데이터베이스를 백업하고 있는지 확인합니다. 설치마다 다르기 때문에 데이터베이스를 백업하는 최선의 방법을 결정하는 것은 사용자의 몫입니다.

백업을 실행하는 방법도 참고하세요.

호스트 이름 설정

DNS 서버에서 호스트 이름을 설정하지 않은 경우 언제든지 서버의 IP 주소를 통해 사이트에 액세스할 수 있습니다. 호스트 이름을 사용하려면 서버의 DNS를 구성하면 됩니다. 기본 설정에서 다른 구성 없이도 제대로 작동합니다.

부하 분산기를 설정하거나 다른 이유로 사이트에 잘못된 URL이 수신되는 경우 다음 단계에 따라 Drupal에 $base_url를 설정할 수 있습니다.

  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 디렉터리에 모듈을 배치합니다.