Private Cloud용 Edge v4.19.01
이 절차에서는 기존 Apigee Developer Services 포털 (이하 포털) 온프레미스 설치를 업그레이드하는 방법을 설명합니다.
올바른 업데이트 절차 결정
포털을 업데이트하는 절차는 현재 설치에 따라 다릅니다.
- 설치에서 Nginx/Postgres를 사용하는 경우 아래의 RPM을 사용하여 포털 업그레이드를 사용하세요.
- 설치에서 Apache/MySQL 또는 Apache/MariaDB를 사용하는 경우 tar 기반 포털을 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)
기본 설치 디렉터리
업그레이드 프로세스는 포털이 다음 위치에 설치되었다고 가정합니다.
- 4.17.05 이상:
/opt/apigee/apigee-drupal/wwwroot
- 4.17.05 이전:
/opt/apigee/apigee-drupal
(Nginx) 또는/var/www/html
(Apache)
기본 디렉터리에 포털을 설치하지 않은 경우 설치 디렉터리를 사용하도록 아래 절차에서 경로를 수정합니다.
지원되는 업그레이드 버전
이 업그레이드 절차는 다음 버전의 포털에서 지원됩니다.
- OPDK-17-01.x
- OPDK-17-05.x
- OPDK-17-09.x
- OPDK-18-01.x
- OPDK-18-05.x
포털 버전을 확인하려면 브라우저에서 다음 URL을 엽니다.
http://yourportal.com/buildInfo
업데이트하기 전에
기존 설치의 경우 Drupal 코어 또는 커스텀 모듈이 아닌 모듈에서 코드를 수정하면 수정사항을 덮어씁니다. 여기에는 .htaccess
에 적용한 변경사항도 포함됩니다.
/sites
디렉터리 외부의 모든 항목은 Drupal에서 소유한다고 가정해야 합니다. 단, robots.txt
는 이 규칙에 적용되지 않습니다. 이 파일이 웹 루트에 있으면 보존됩니다.
설치를 진행하기 전에 전체 Drupal 웹 루트 디렉터리를 백업합니다. 아래에 설명된 설치 단계를 수행한 후 백업에서 맞춤설정을 복원할 수 있습니다.
RPM을 사용하여 포털 업그레이드
노드에서 포털 RPM을 업데이트하려면 다음 단계를 따르세요.
- Drupal 디렉터리(기본값:
/opt/apigee/apigee-drupal
)로 변경합니다.cd /opt/apigee/apigee-drupal
- Drupal 데이터베이스 인스턴스를 백업합니다.
pg_dump
명령어는 데이터베이스의 사본을 만듭니다.pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin --password --format=c > /tmp/portal.dmp
각 항목의 의미는 다음과 같습니다.
- devportal는 포털 설치 구성 파일의
PG_NAME
속성에 지정된 데이터베이스 이름입니다. - host_IP_address는 포털 노드의 IP 주소입니다.
- drupaladmin는 포털 설치 구성 파일의
DRUPAL_PG_USER
속성에 지정된 대로 포털에서 데이터베이스에 액세스하는 데 사용하는 Postgres 사용자 이름입니다.
포털 설치 구성 파일의
DRUPAL_PG_PASS
속성에 정의된 Postgres 사용자 비밀번호를 입력하라는 메시지가 표시됩니다.나중에 백업에서 복원하려면 다음 명령어를 사용하세요.
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- devportal는 포털 설치 구성 파일의
- 전체 Drupal 웹 루트 디렉터리의 백업을 만듭니다. 기본 설치 위치는
/opt/apigee/apigee-drupal
이지만 변경했을 수 있습니다.이 디렉터리의 위치를 잘 모르겠다면 다음 단계를 위해 공개 파일 시스템의 위치와 비공개 파일 시스템 경로의 위치를 확인하려면
drush status
명령어나 Drupal 메뉴의 Configuration > Media > File 항목을 사용하세요. /opt/apigee/data/apigee-drupal-devportal/private
의 파일을 백업합니다.- Drupal을 유지보수 모드로 설정합니다.
- Drupal 메뉴에서 구성을 선택합니다.
- 구성 페이지에서 개발 아래의 유지보수 모드를 선택합니다.
- 사이트를 유지보수 모드로 전환 체크박스를 선택합니다.
- 유지보수 중에 사용자에게 표시할 메시지를 입력합니다.
- Save configuration(구성 저장)을 선택합니다.
- Edge apigee-setup 유틸리티 설치에 설명된 대로 SELinux를 사용 중지합니다.
/opt
디렉터리로 변경합니다.cd /opt
- 인터넷에 연결된 서버의 업그레이드:
- Edge 4.19.01
bootstrap_4.19.01.sh
파일을/tmp/bootstrap_4.19.01.sh
에 다운로드합니다.curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
- Edge 4.19.01
apigee-service
유틸리티 및 종속 항목을 설치합니다.sudo bash /tmp/bootstrap_4.19.01.sh apigeeuser=uName apigeepassword=pWord
여기서 uName 및 pWord는 Apigee에서 받은 사용자 이름과 비밀번호입니다. pWord를 생략하면 입력하라는 메시지가 표시됩니다.
기본적으로 설치 프로그램은 Java 1.8이 설치되어 있는지 확인합니다. 'C' 옵션을 사용하여 Java를 설치하지 않고 계속할 수 있습니다.
- Edge 4.19.01
- 인터넷에 연결되지 않은 서버에서 업그레이드하는 경우:
- 로컬 Apigee 저장소 만들기에 설명된 대로 로컬 4.19.01 저장소를 만듭니다.
- .tar 파일에서 apigee-service를 설치하려면 다음 단계를 따르세요.
- 로컬 저장소가 있는 노드에서 다음 명령어를 사용하여 로컬 저장소를
/opt/apigee/data/apigee-mirror/apigee-4.19.01.tar.gz
이라는 단일 .tar 파일로 패키징합니다./opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- .tar 파일을 Edge를 업데이트할 노드에 복사합니다. 예를 들어 새 노드의
/tmp
디렉터리에 복사합니다. - 새 노드에서 파일을 /tmp 디렉터리로 압축 해제합니다.
tar -xzf apigee-4.19.01.tar.gz
이 명령어는 .tar 파일이 포함된 디렉터리에 repos라는 새 디렉터리를 만듭니다. 예: /tmp/repos
/tmp/repos
에서 Edgeapigee-service
유틸리티와 종속 항목을 설치합니다.sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
이 명령어에는 저장소 디렉터리의 경로가 포함됩니다.
- 로컬 저장소가 있는 노드에서 다음 명령어를 사용하여 로컬 저장소를
- Nginx 웹서버를 사용하여 apigee-service를 설치하려면 다음 단계를 따르세요.
- Edge apigee-setup 유틸리티 설치의 'Nginx 웹 서버를 사용하여 저장소에서 설치'에 설명된 대로 Nginx 웹 서버를 구성합니다.
- 원격 노드에서 Edge
bootstrap_4.19.01.sh
파일을/tmp/bootstrap_4.19.01.sh
로 다운로드합니다./usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
여기서 uName 및 pWord는 위에서 저장소에 설정한 사용자 이름 및 비밀번호이고 remoteRepo는 저장소 노드의 IP 주소 또는 DNS 이름입니다.
- 원격 노드에서 Edge
apigee-service
유틸리티와 종속 항목을 설치합니다.sudo bash /tmp/bootstrap_4.19.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
여기서 uName 및 pWord는 저장소 사용자 이름과 비밀번호입니다.
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' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 한다는 것입니다.
- 노드에서 업데이트 유틸리티를 실행하여 포털을 업데이트합니다.
/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
여기서 configFile은 포털을 설치하는 데 사용한 구성 파일입니다. 구성 파일의 유일한 요구사항은 'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 한다는 것입니다.
- 브라우저 창에서 다음 URL을 열어 Drupal의
update.php
스크립트를 실행합니다.http://portal_IP_DNS:8079/update.php
- 유지보수 모드를 사용 중지합니다.
- Drupal 메뉴에서 구성을 선택합니다.
- 구성 페이지에서 개발 아래의 유지보수 모드를 선택합니다.
- 사이트를 유지보수 모드로 전환 체크박스를 선택 해제합니다.
- Save configuration을 선택합니다.
업데이트 후 루트 디렉터리는 다음과 같습니다.
/opt/apigee/apigee-drupal/wwwroot
이제 업그레이드가 완료되었습니다. Apigee 업데이트 유틸리티로 Drupal 버전이 다운그레이드된 경우 Drupal 업그레이드 유틸리티를 다시 실행해야 할 수 있습니다. 자세한 내용은 Drupal 업그레이드 다시 실행을 참고하세요.
Drupal 업그레이드 다시 실행
Apigee 업데이트 유틸리티를 실행하여 Private Cloud용 Edge를 업그레이드했는데 실제로 Drupal 버전이 다운그레이드된 경우 Drupal 업그레이드를 다시 설치합니다. Private Cloud 업데이트 간에 Drupal만 업그레이드한 경우 이러한 상황이 발생할 수 있습니다.
예를 들면 다음과 같습니다.
- Drupal 7.59가 포함된 프라이빗 클라우드용 Edge 버전 4.18.05를 실행하고 있었습니다.
- 필수 보안 업데이트로 인해 Drupal을 7.64로 업그레이드했습니다.
- 이제 프라이빗 클라우드를 Drupal 7.61이 포함된 4.19.01로 업그레이드합니다.
이 사례에서 알 수 있듯이 Apigee 업데이트 유틸리티에서 사용하는 Drupal 버전은 최신 Drupal 업그레이드를 참조하지 않을 수 있습니다. 따라서 이제 Drupal 업그레이드를 다시 실행하여 Drupal 설치를 최신 버전으로 되돌려야 합니다.