개발자 서비스 포털 v. 4.17.05
이 절차에서는 기존 Apigee Developer Channel Services 온프레미스 설치를 업그레이드하는 방법을 설명합니다.
올바른 업데이트 절차 결정
포털을 업데이트하는 데 사용하는 절차는 현재 설치에 따라 다릅니다.
- 설치에서 4.17.01로 업데이트된 시스템의 Apache/MySQL 또는 Apache/MariaDB를 사용하는 경우 .tar 파일을 사용하여 포털 업그레이드를 사용합니다.
- 설치에서 새 4.17.01 설치의 Nginx/Postgres를 사용하는 경우 RPM을 사용하여 포털 업그레이드를 사용합니다.
현재 설치 유형 확인
현재 설치 유형을 잘 모르는 경우 다음 명령어를 사용하여 확인합니다.
- ls /opt
Nginx/Postgres를 사용하는 경우 /opt/apigee 및 /opt/nginx 디렉터리가 표시됩니다.
Apache/MySQL 또는 Apache/MariaDB를 사용하는 경우 이러한 디렉터리가 없어야 합니다. - /opt/apigee/apigee-service/bin/apigee-all
status
Nginx/Postgres를 사용하는 경우 다음 출력이 표시됩니다.
+ apigee-service apigee-drupal-devportal status
OK: apigee-drupal-devportal is up and running
+ apigee-service apigee-lb status
apigee-service: apigee-lb: OK
+ apigee-service apigee-postgresql status
apigee-service: apigee-postgresql: OK - apachectl -S
Apache/MySQL 또는 Apache/MariaDB를 사용하는 경우 이 명령어는 포털의 웹 루트 디렉터리를 다음 형식으로 반환해야 합니다.
*:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)
기본 설치 디렉터리
업그레이드 프로세스에서는 개발자 포털이 다음 위치에 설치되었다고 가정합니다.
- /opt/apigee/apigee-drupal (Nginx)
- /var/www/html (Apache)
기본 디렉터리에 포털을 설치하지 않은 경우 아래 절차에서 경로를 수정하여 설치 디렉터리를 사용합니다.
설치 디렉터리를 모르는 경우 흔히 사용되는 Drush 명령어에 설명된 대로 확인할 수 있습니다.
새로운 4.17.01 설치에서 Nginx/Postgres를 업데이트한 후의 새로운 기본 설치 디렉터리
Nginx/Postgres를 사용하는 4.17.01의 새 설치를 업데이트한 후 루트 디렉터리가 다음에서 변경되었습니다.
/opt/apigee/apigee-drupal
다음과 같이 진행합니다
/opt/apigee/apigee-drupal/wwwroot
지원되는 업그레이드 버전
이 업그레이드 절차는 다음 버전의 포털에서 지원됩니다.
- pantheon-14.02.x
- pantheon-14.03.x
- pantheon-14.04.x
- pantheon-14.07.x
- pantheon-15-01.x
- OPDK-15-04.x
- OPDK-15-07.x
- OPDK-16-01.x
- OPDK-16-05.x
- OPDK-16-09.x
- OPDK-17-01.x
포털 버전을 확인하려면 브라우저에서 다음 URL을 엽니다.
http://yourportal.com/buildInfo
업데이트하기 전에
기존 설치의 경우 Drupal 코어 또는 비커스텀 모듈의 코드를 수정한 경우 수정사항을 덮어씁니다. 여기에는 .htaccess에 대한 변경사항이 포함됩니다. /sites 디렉터리 외부의 모든 항목은 Drupal이 소유한다고 가정해야 합니다. 이 규칙의 예외는 robots.txt입니다. 이 파일이 웹 루트에 있으면 보존됩니다.
설치를 진행하기 전에 전체 Drupal 웹 루트 디렉터리를 백업합니다. 아래에 설명된 설치 단계를 수행한 후 백업에서 맞춤설정을 복원할 수 있습니다.
.tar 파일을 사용하여 포털 업그레이드
- Drupal MySQL/MariaDB 인스턴스를 백업합니다.
자세한 내용은 http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/를 참조하세요.- 옵션 1: Drush 사용
Drush 명령어 sql-dump는 데이터베이스의 사본을 만듭니다. Drupal 디렉터리(기본적으로 /var/www/html)에서 다음 명령어를 실행합니다.
> drush sql-dump > /path/to/backup_dir/database-backup.sql
자세한 내용은 drush help sql-dump를 사용하세요. - 옵션 2: MySQLdump 사용
mysqldump 명령어를 사용하여 데이터베이스 사본을 만듭니다.
mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql
-p 옵션과 비밀번호 사이에 공백이 없어야 합니다. 비밀번호에 특수문자가 포함된 경우 비밀번호를 작은따옴표로 묶어야 합니다.
포털을 설치할 때 USERNAME 및 DATABASENAME을 설정합니다. 기본적으로 둘 다 devportal입니다.
- 옵션 1: Drush 사용
- 전체 Drupal 웹 루트 디렉터리를 백업합니다. 기본 설치 위치는 /var/www/html이지만 설치 시 변경했을 수 있습니다.
- ftp.apigee.com에서 개발자 채널 서비스 DeveloperServices_x.y.z.tar 파일을 다운로드합니다. 여기서 x.y.z는 포털 버전 번호에 해당합니다. 메시지가 표시되면 Apigee에서 받은 사용자 인증 정보를 입력합니다.
브라우저에서 Apigee가 보낸 링크에서 파일을 다운로드하거나 복사한 후 다음 cURL 명령어에 추가할 수 있습니다.
> curl -kOL <paste link here>
참고: 포털이 외부 인터넷 연결이 없는 서버에 있는 경우 액세스 권한이 있는 서버에서 이 단계를 수행합니다.
Apigee Edge 지원으로 이동하고 지원 포털에 로그인을 선택하여 개발자 채널 서비스 업그레이드 .tar 파일을 요청합니다. 지원 포털에 계정이 없는 경우 지원 포털에 로그인을 선택한 후 로그인 페이지에서 급하신가요? 여기에서 지원 티켓을 제출하세요. -
인터넷에 연결된 서버에서 업그레이드하는 경우:
- 포털 업그레이드 파일을 추출합니다.
> tar -xvf <tar file>
이 명령어 추출은 DeveloperServices-4.x.y.z라는 새 디렉터리를 만듭니다. - DeveloperServices-4.x.y.z 디렉터리로 변경합니다.
- 다음 명령어를 사용하여 최신 Drupal 버전을 다운로드합니다.
> drush dl drupal
이 명령어는 drupal-x.y라는 디렉터리를 만듭니다. 여기서 x.y는 현재 Drupal 버전에 해당합니다. - networked-update.sh 스크립트를 실행합니다.
> ./networked-update.sh
파일 권한에 따라 sudo를 사용하여 이 명령어를 실행하거나 관리자로 실행해야 할 수 있습니다. - Drupal 업데이트 알림을 받으려면 Drupal 업데이트 관리자 모듈이 사용 설정되어 있는지 확인합니다. Drupal 메뉴에서 모듈을 선택하고 업데이트 관리자 모듈까지 아래로 스크롤합니다. 사용 설정되어 있지 않으면 사용 설정합니다.
사용 설정하면 보고서 > 사용 가능한 업데이트 메뉴 항목을 사용하여 사용 가능한 업데이트를 확인할 수 있습니다.
보고서 > 사용 가능한 업데이트 > 설정 메뉴 항목을 사용하여 업데이트가 있을 때 이메일을 보내도록 모듈을 구성하고 업데이트 확인 빈도를 설정합니다.
- 포털 업그레이드 파일을 추출합니다.
-
인터넷에 연결되지 않은 서버에서 업그레이드하는 경우:
- 개발자 채널 서비스 DeveloperServices_x.y.z.tar 파일을 다운로드한 서버에서 포털 업그레이드 파일을 추출합니다.
> tar -xvf <tar file>
이 명령어 추출은 DeveloperServices-4.x.y.z라는 새 디렉터리를 만듭니다. - DeveloperServices-4.x.y.z 디렉터리로 변경합니다.
- non-networked-update.sh 스크립트를 실행합니다.
> ./non-networked-update.sh
파일 권한에 따라 sudo를 사용하여 이 명령어를 실행하거나 관리자로 실행해야 할 수도 있습니다.
이 명령어는 필요한 모든 업데이트 파일을 다운로드하고 devportal-update.tgz라는 단일 파일로 패키징하고 파일을 원하는 위치에 작성합니다. - devportal-update.tgz를 포털을 실행하는 대상 서버에 복사합니다.
참고: devportal-update.tgz를 대상 서버의 웹 루트에 복사하지 마세요. - devportal-update.tgz 파일을 현재 디렉터리에 압축 해제합니다.
> tar -xzf /path/to/devportal-update.tgz - developer-update 디렉터리로 변경합니다.
- 다음 명령어를 실행하여 업데이트를 설치합니다.
> ./install-update.sh - 프롬프트에 답변합니다.
- 개발자 채널 서비스 DeveloperServices_x.y.z.tar 파일을 다운로드한 서버에서 포털 업그레이드 파일을 추출합니다.
이제 업그레이드가 완료되었습니다.
RPM을 사용하여 포털 업그레이드
다음 절차를 사용하여 노드에서 포털 RPM을 업데이트합니다.
- Drupal 디렉터리(기본적으로 /opt/apigee/apigee-drupal)로 변경합니다.
> cd /opt/apigee/apigee-drupal - Drupal 데이터베이스 인스턴스를 백업합니다. pg_dump 명령어는 데이터베이스의 사본을 만듭니다.
pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp
각 항목의 의미는 다음과 같습니다.- dbname은 포털 설치 구성 파일의 PG_NAME 속성으로 지정된 데이터베이스 이름을 지정합니다.
- host는 포털 노드의 IP 주소를 지정합니다.
- username은 포털 설치 구성 파일의 DRUPAL_PG_USER 속성에 지정된 대로 포털에서 데이터베이스에 액세스하는 데 사용하는 Postgres 사용자 이름을 지정합니다.
- 포털 설치 구성 파일의 DRUPAL_PG_PASS 속성으로 정의된 Postgres 사용자 비밀번호를 입력하라는 메시지가 표시됩니다.
나중에 백업에서 복원해야 하는 경우 다음 명령어를 사용합니다.
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp - 전체 Drupal 웹 루트 디렉터리를 백업합니다. 기본 설치 위치는 /opt/apigee/apigee-drupal이지만 변경했을 수 있습니다.
이 디렉터리의 위치를 잘 모르는 경우 drush status 명령어 또는 Drupal 메뉴의 구성 > 미디어 > 파일 항목을 사용하여 공개 파일 시스템 및 비공개 파일 시스템 경로의 위치를 확인합니다 (다음 단계). - /opt/apigee/data/apigee-drupal-devportal/private에 있는 파일을 백업합니다.
- Edge apigee-setup 유틸리티 설치에 설명된 대로 SELinux를 사용 중지합니다.
-
인터넷에 연결된 서버에서 업그레이드하는 경우:
- Edge 4.17.05 bootstrap_4.17.05.sh 파일을 /tmp/bootstrap_4.17.05.sh에 다운로드합니다.
> curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh - Edge 4.17.05 apigee-service 유틸리티 및 종속 항목을 설치합니다.
> sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord
여기서 uName:pWord는 Apigee에서 받은 사용자 이름과 비밀번호입니다. pWord를 생략하면 입력하라는 메시지가 표시됩니다.
기본적으로 설치 프로그램은 Java 1.8이 설치되어 있는지 확인합니다. 'C' 옵션을 사용하여 Java를 설치하지 않고 계속할 수 있습니다.
- Edge 4.17.05 bootstrap_4.17.05.sh 파일을 /tmp/bootstrap_4.17.05.sh에 다운로드합니다.
-
인터넷에 연결되지 않은 서버에서 업그레이드하는 경우:
- Edge apigee-setup 유틸리티 설치의 '로컬 Apigee 저장소 만들기'에 설명된 대로 로컬 4.17.05 저장소를 만듭니다.
참고: 기존 4.17.01 저장소가 이미 있는 경우 Edge apigee-setup 유틸리티 설치의 '로컬 Apigee 저장소 업데이트'에 설명된 대로 4.17.05 저장소를 추가할 수 있습니다. -
.tar 파일에서 apigee-service를 설치하려면 다음 안내를 따르세요.
- 로컬 저장소가 있는 노드에서 다음 명령어를 사용하여 로컬 저장소를 /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz라는 단일 .tar 파일로 패키징합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package - Edge를 업데이트하려는 노드에 .tar 파일을 복사합니다. 예를 들어 새 노드의 /tmp 디렉터리에 복사합니다.
- 새 노드에서 파일의 tar를 /tmp 디렉터리에 압축 해제합니다.
> tar -xzf apigee-4.17.05.tar.gz
이 명령어는 .tar 파일이 포함된 디렉터리에 repos라는 새 디렉터리를 만듭니다. 예를 들면 /tmp/repos입니다. - /tmp/repos에서 Edge apigee-service 유틸리티 및 종속 항목을 설치합니다.
> sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
이 명령어에 repos 디렉터리의 경로를 포함해야 합니다.
- 로컬 저장소가 있는 노드에서 다음 명령어를 사용하여 로컬 저장소를 /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz라는 단일 .tar 파일로 패키징합니다.
-
Nginx 웹 서버를 사용하여 apigee-service를 설치하려면 다음 안내를 따르세요.
- Edge apigee-setup 유틸리티 설치의 'Nginx 웹 서버를 사용하여 저장소에서 설치'에 설명된 대로 Nginx 웹 서버를 구성합니다.
- 원격 노드에서 Edge bootstrap_4.17.05.sh 파일을 /tmp/bootstrap_4.17.05.sh에 다운로드합니다.
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
여기서 uName:pWord는 위에서 저장소에 설정한 사용자 이름과 비밀번호이고 remoteRepo는 저장소 노드의 IP 주소 또는 DNS 이름입니다. - 원격 노드에서 Edge apigee-service 유틸리티 및 종속 항목을 설치합니다.
> sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
여기서 uName:pWord는 저장소 사용자 이름과 비밀번호입니다.
- Edge apigee-setup 유틸리티 설치의 '로컬 Apigee 저장소 만들기'에 설명된 대로 로컬 4.17.05 저장소를 만듭니다.
- apigee-service를 사용하여 apigee-setup 유틸리티를 업데이트합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update - 노드에서 업데이트 유틸리티를 실행하여 Postgres 데이터베이스를 업데이트합니다.
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
여기서 configFile은 Postgres 데이터베이스를 설치하는 데 사용한 구성 파일입니다. 구성 파일의 유일한 요구사항은 'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 한다는 것입니다. - Postgres를 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 노드에서 업데이트 유틸리티를 실행하여 포털을 업데이트합니다.
> /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
여기서 configFile은 포털을 설치하는 데 사용한 구성 파일입니다. 구성 파일의 유일한 요구사항은 'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 한다는 것입니다.
업데이트 후 루트 디렉터리는 다음과 같습니다.
/opt/apigee/apigee-drupal/wwwroot
이제 업그레이드가 완료되었습니다.