개발자 서비스 포털 업그레이드

개발자 서비스 포털 v. 4.17.05

이 절차에서는 기존 Apigee 개발자 채널 서비스 온프레미스 설치를 업그레이드하는 방법을 설명합니다.

올바른 업데이트 절차 확인

포털을 업데이트하는 데 사용하는 절차는 현재 설치에 따라 다릅니다.

현재 설치 유형 확인

현재 설치 유형을 잘 모르는 경우 다음 명령어를 사용하여 확인합니다.

  • 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 status
    OK: apigee-drupal-devportal is up and running
    + apigee-service apigee-post status:
    apigee-service apigee-post status:
    apigee-service
  • 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 파일을 사용하여 포털 업그레이드

  1. Drupal MySQL/MariaDB 인스턴스를 백업합니다.
    자세한 내용은 http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/를 참조하세요.
    1. 옵션 1: Drush 사용

      Drush 명령어 sql-dump는 데이터베이스 사본을 만듭니다. 기본적으로 Drupal 디렉터리 /var/www/html에서 다음 명령어를 실행합니다.
      > drush sql-dump > /path/to/backup_dir/database-backup.sql


      drush help sql-dump를 사용하여 자세한 내용을 확인합니다.
    2. 옵션 2: MySQLdump 사용
      mysqldump 명령어를 사용하여 데이터베이스 사본을 만듭니다.
      mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      -p 옵션과 비밀번호 사이에는 공백이 없어야 합니다.
      비밀번호에 특수문자가 포함된 경우 비밀번호를 작은따옴표로 묶어야 합니다.

      포털을 설치할 때 USERNAMEDATABASENAME을 설정했습니다. 기본적으로 둘 다 devportal입니다.
  2. 전체 Drupal 웹 루트 디렉터리를 백업합니다. 기본 설치 위치는 /var/www/html이지만 설치 시점에 변경했을 수 있습니다.
  3. ftp.apigee.com에서 개발자 채널 서비스 DeveloperServices_x.y.z.tar 파일을 다운로드합니다. 여기서 x.y.z는 포털 버전 번호입니다. 메시지가 표시되면 Apigee에서 받은 사용자 인증 정보를 입력합니다.






    Apigee Edge 지원으로 이동하고 지원 포털에 로그인을 선택하여 개발자 채널 서비스 업그레이드 .tar 파일을 요청합니다. 지원 포털에 계정이 없는 경우 지원 포털에 로그인을 선택한 다음 로그인 페이지에서 서두르시겠습니까? 여기에서 지원 티켓을 제출하세요.
  4. 인터넷에 연결된 서버에서 업그레이드하는 경우:
    1. 포털 업그레이드 파일을 추출합니다.
      > tar -xvf <tar file>

      이 명령어 추출을 실행하면 DeveloperServices-4.x.y.z라는 새 디렉터리가 생성됩니다.
    2. DeveloperServices-4.x.y.z 디렉터리로 변경합니다.
    3. 다음 명령어를 사용하여 최신 Drupal 버전을 다운로드합니다.
      > drush dl drupal

      이 명령어는 drupal-x.y라는 디렉터리를 만듭니다. 여기서 x.y는 Drupal의 현재 버전에 해당합니다.
    4. networked-update.sh 스크립트를 실행합니다.
      > ./networked-update.sh

      파일 권한에 따라 이 명령어를 실행하는 데 sudo를 사용하거나 관리자 권한으로 실행해야 할 수 있습니다.
    5. Drupal 업데이트 알림을 받으려면 Drupal 업데이트 관리자 모듈이 사용 설정되어 있는지 확인합니다. Drupal 메뉴에서 Modules를 선택하고 Update manager 모듈까지 아래로 스크롤합니다. 사용 설정되어 있지 않으면 사용 설정합니다.

      사용 설정하면 보고서 > 사용 가능한 업데이트 메뉴 항목에서 사용 가능한 업데이트를 확인할 수 있습니다.

      보고서 > 사용 가능한 업데이트 > 설정 메뉴 항목을 사용하여 업데이트가 있을 때 이메일을 보내고 업데이트 확인 빈도를 설정하도록 모듈을 구성합니다.
  5. 인터넷에 연결되지 않은 서버에서 업그레이드하는 경우:
    1. 개발자 채널 서비스 DeveloperServices_x.y.z.tar 파일을 다운로드한 서버에서 포털 업그레이드 파일을 추출합니다.
      > tar -xvf <tar file>

      이 명령어 추출은 DeveloperServices-4.x.y.z라는 새 디렉터리를 만듭니다.
    2. DeveloperServices-4.x.y.z 디렉터리로 변경합니다.
    3. non-networked-update.sh 스크립트를 실행합니다.
      > ./non-networked-update.sh

      파일 권한에 따라 이 명령어를 실행하는 데 sudo를 사용하거나 관리자 권한으로 실행해야 할 수 있습니다.

      이 명령어는 필요한 모든 업데이트 파일을 다운로드하여 devportal-update.tgz라는 단일 파일로 패키징하고 파일을 선택한 위치에 씁니다.
    4. devportal-update.tgz를 포털을 실행하는 대상 서버로 복사합니다.
      참고: devportal-update.tgz를 대상 서버의 웹 루트에 복사하지 마세요.
    5. devportal-update.tgz 파일을 현재 디렉터리로 압축 해제합니다.
      > tar -xzf /path/to/devportal-update.tgz
    6. developer-update 디렉터리로 변경합니다.
    7. 다음 명령어를 실행하여 업데이트를 설치합니다.
      > ./install-update.sh
    8. 표시되는 메시지에 답변합니다.

이제 업그레이드가 완료되었습니다.

RPM을 사용하여 포털 업그레이드

노드의 포털 RPM을 업데이트하려면 다음 절차를 따르세요.

  1. 기본적으로 Drupal 디렉터리 /opt/apigee/apigee-drupal으로 변경합니다.
    > cd /opt/apigee/apigee-drupal
  2. 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
  3. 전체 Drupal 웹 루트 디렉터리를 백업합니다. 기본 설치 위치는 /opt/apigee/apigee-drupal이지만 변경했을 수 있습니다.

    이 디렉터리의 위치를 모르는 경우 Drupal 메뉴의 drush status 명령어 또는 Configuration > Media > File 항목을 사용하여 공개 파일 시스템 및 비공개 파일 시스템 경로의 위치를 확인합니다 (다음 단계).
  4. /opt/apigee/data/apigee-drupal-devportal/private에 있는 파일을 백업해 둡니다.
  5. Edge Apigee-setup 유틸리티 설치에 설명된 대로 SELinux를 사용 중지합니다.
  6. 인터넷에 연결된 서버에서 업그레이드하는 경우:
    1. 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.
    2. Edge 4.17.05 apigee-service 유틸리티와 종속 항목을 설치합니다.
      > sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord

      여기서 uName:pWord는 Apigee에서 받은 사용자 이름과 비밀번호입니다. pWord를 생략하면 입력하라는 메시지가 표시됩니다.

      기본적으로 설치 프로그램은 자바 1.8이 설치되어 있는지 확인합니다. 'C' 옵션을 사용하면 자바를 설치하지 않고 계속 진행할 수 있습니다.
  7. 인터넷에 연결되지 않은 서버에서 업그레이드하는 경우:
    1. Edge apigee-setup 유틸리티 설치의 '로컬 Apigee 저장소 만들기'에 설명된 대로 로컬 4.17.05 저장소를 만듭니다.
      참고: 기존 4.17.01 저장소가 이미 있으면 Edge apigee-setup 유틸리티 설치의 '로컬 Apigee 저장소 업데이트'에 설명된 대로 4.17.05 저장소를 추가할 수 있습니다.
    2. .tar 파일에서 apigee-service를 설치하려면 다음 안내를 따르세요.
      1. 로컬 저장소가 있는 노드에서 다음 명령어를 사용하여 로컬 저장소를 /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz라는 단일 .tar 파일로 패키징합니다.
        > /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Edge를 업데이트하려는 노드에 .tar 파일을 복사합니다. 예를 들어 새 노드의 /tmp 디렉터리에 복사합니다.
      3. 새 노드에서 파일을 /tmp 디렉터리로 압축 해제합니다.
        > tar -xzf apigee-4.17.05.tar.gz

        이 명령어는 .tar 파일이 있는 디렉터리에 repos라는 새 디렉터리를 만듭니다. 예를 들면 /tmp/repos입니다.
      4. Edge apigee-service 유틸리티와 /tmp/repos의 종속 항목을 설치합니다.
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        이 명령어에는 저장소 디렉터리 경로가 포함되어 있습니다.
    3. Nginx 웹 서버를 사용하여 apigee-service를 설치하려면 다음 안내를 따르세요.
      1. Edge apigee-setup 유틸리티 설치의 'Nginx 웹 서버를 사용하여 저장소에서 설치'에 설명된 대로 Nginx 웹 서버를 구성합니다.
      2. 원격 노드에서 Edge bootstrap_4.17.05.sh 파일을 /tmp/bootstrap_4.17.05.sh에 다운로드합니다.
        > /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrapo5.

      3. 원격 노드에 Edge apigee-service 유틸리티와 종속 항목을 설치합니다.
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        여기서 Word Protocol
  8. apigee-service를 사용하여 apigee-setup 유틸리티를 업데이트합니다.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  9. 노드에서 업데이트 유틸리티를 실행하여 Postgres 데이터베이스를 업데이트합니다.
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    여기서 configFile은 Postgres 데이터베이스를 설치하는 데 사용한 구성 파일입니다. 구성 파일의 유일한 요구사항은 'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 한다는 것입니다.
  10. Postgres를 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. 노드에서 업데이트 유틸리티를 실행하여 포털을 업데이트합니다.
    > /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    여기서 configFile은 포털을 설치하는 데 사용한 구성 파일입니다. 구성 파일의 유일한 요구사항은 'apigee' 사용자가 구성 파일에 액세스하거나 읽을 수 있어야 한다는 것입니다.

업데이트 후의 루트 디렉터리는 다음과 같습니다.

/opt/apigee/apigee-drupal/wwwroot

이제 업그레이드가 완료되었습니다.