개발자 서비스 포털 설치

Private Cloud용 Edge v. 4.17.09

설치하기 전에 다음을 확인하세요.

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

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

설치 개요

노드에 Edge apigee-setup 유틸리티를 설치한 후 이 유틸리티를 사용하여 노드에 포털을 설치합니다. apigee-setup 유틸리티의 형식은 다음과 같습니다.

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

설치에 대한 정보가 포함된 구성 파일을 apigee-setup 유틸리티에 전달합니다. 구성 파일에 필수 정보가 누락된 경우 apigee-setup 유틸리티가 명령줄에 정보를 입력하라는 메시지를 표시합니다.

유일한 요구사항은 'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 한다는 것입니다.

예를 들어 다음 명령어를 사용하여 포털을 설치합니다.

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p dp -f myConfig

자세한 내용은 Edge Apigee-setup 유틸리티 설치를 참고하세요.

구성 파일 만들기

다음은 포털 설치를 위한 자동 구성 파일의 예입니다. 구성에 맞게 이 파일을 수정하세요. 이 파일을 포함하려면 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=pWord 
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=pWord 

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

# You must configure the SMTP server used by the portal. 
# 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 

# Use SSL for SMTP: 'y' or 'n' (default). 
SMTPSSL="n" 

# 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=yourEmailPassword

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}입니다.

성공하면 이 명령어가 다음과 비슷한 응답을 반환합니다.

{
  "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>

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용 구성 파일을 만듭니다.

    # 호스트의 IP 주소 또는 DNS 이름으로 확인되어야 합니다. 127.0.0.1 또는 localhost가 아닙니다.
    HOSTIP=$(hostname -i)

    # Postgres의 포드 및 리전입니다. 아래에 표시된 기본값을 사용합니다.
    MP_POD=게이트웨이
    REGION=dc-1

    # Postgres 비밀번호를 설정합니다. 기본값은 'postgres'입니다.
    PG_PWD=postgres
  3. 명령 프롬프트에서 설정 스크립트를 실행하여 Postgres를 설치합니다.
    > /opt/apigee/apigee-setup/bin/setup.sh -p pdb -f configFile

    '-p pdb' 옵션은 Postgre를 설치하도록 지정합니다.

    'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 합니다.

4. 포털 설치

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

  1. 인터넷 또는 인터넷이 아닌 절차를 사용하여 노드에 Edge apigee-setup 유틸리티를 설치합니다. 자세한 내용은 Edge Apigee-setup 유틸리티 설치를 참고하세요.
  2. Postgres를 독립형으로 또는 Edge 설치의 일부로 설치했는지 확인합니다.
  3. 명령어 프롬프트에서 설정 스크립트를 실행합니다.
    > /opt/apigee/apigee-setup/bin/setup.sh -p dp -f configFile

    '-p dp' 옵션은 포털을 설치하도록 지정합니다.

    'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 합니다.
  4. 포털 홈페이지(http://localhost:8079) 또는 포털의 DNS 이름으로 이동합니다.
  5. 구성 파일에서 설정한 관리자 사용자 인증 정보로 포털에 로그인하여 포털이 제대로 실행되는지 확인합니다.
  6. Drupal 메뉴에서 Reports > Status Report를 선택하여 포털의 현재 상태를 볼 수 있는지 확인합니다.

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

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

사용 설정하면 보고서 > 사용 가능한 업데이트 메뉴 항목에서 사용 가능한 업데이트를 확인할 수 있습니다. 다음 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 메뉴에서 Modules를 선택합니다.
  3. Apache Solr Framework 모듈 및 Apache Solr Search 모듈을 사용 설정합니다.
  4. 변경사항을 저장합니다.
  5. https://drupal.org/node/1999280에 설명된 대로 Solr를 구성합니다.

7. SmartDocs 설치하기 (선택사항)

SmartDocs를 사용하면 API 문서를 완전한 대화형으로 만드는 방식으로 개발자 서비스 포털에서 API를 문서화할 수 있습니다. 하지만 포털에서 SmartDocs를 사용하려면 먼저 Edge에 SmartDocs를 설치해야 합니다.

  • 포털을 Edge Cloud 설치에 연결하는 경우 SmartDocs가 이미 설치되어 있으므로 추가 구성이 필요하지 않습니다.
  • 포털을 Private Cloud용 Edge 설치에 연결하는 경우 SmartDocs가 Edge에 설치되어 있는지 확인해야 합니다. 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 메뉴에서 Configuration > Development > JQuery Update를 선택합니다.
  3. 왼쪽 탐색 메뉴에서 실적을 클릭합니다.
  4. JQuery 및 JQuery UI CDN 드롭다운에서 없음을 선택합니다.
  5. 구성 저장을 클릭합니다.

9. 다음 단계

개발자 서비스 포털을 설치한 후의 다음 단계는 개발자 서비스 포털을 특정 요구사항에 맞게 구성하고 맞춤설정하는 것입니다. Apigee 웹사이트의 문서에는 포털 구성, 스타일 지정, 관리에 대한 모든 정보가 포함되어 있습니다. http://apigee.com/docs/developer-services/content/what-developer-portal에서 문서에 액세스하세요.

다음 표에는 설치 후 수행하는 가장 일반적인 태스크와 자세한 내용을 볼 수 있는 Apigee 문서 링크가 포함되어 있습니다.

작업 설명

테마 맞춤설정하기

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

모양 맞춤설정

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

사용자 계정 추가 및 관리

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

이메일 구성

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

사용자 계정 추가 및 관리

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

사용자 계정 추가 및 관리

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

블로그 및 포럼 게시물 추가

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

데이터베이스 백업을 수행하고 있는지 확인

Drupal 데이터베이스를 백업하고 있는지 확인합니다. 설치마다 방식이 다르므로 데이터베이스를 백업하는 최선의 방법은 사용자가 결정해야 합니다.

참고: 백업 및 마이그레이션 모듈은 Postgres 데이터베이스와 호환되지 않습니다.

포털 백업도 참고하세요.

호스트 이름 설정

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

부하 분산기를 설정했거나 다른 이유로 사이트에 잘못된 URL이 표시되는 경우 다음 파일에서 $base_url을 설정할 수 있습니다.

/opt/apigee/apigee-drupal-devportal-opdk_version/source/conf/settings.php

포털을 업그레이드하면 이 값을 덮어씁니다.

커스텀 개발 테마 외부의 커스텀 코드로 포털의 기능을 확장할 수도 있습니다. 이렇게 하려면 Drupal의 모듈 개발 주제에 설명된 대로 자체 Drupal 모듈을 만들고 이 모듈을 /sites/all/modules 디렉터리에 넣습니다.