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

Private Cloud용 Edge v4.18.01

이 절차에서는 기존 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 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

포털 버전을 확인하려면 브라우저에서 다음 URL을 엽니다.

http://yourportal.com/buildInfo

업데이트하기 전에

기존 설치의 경우 Drupal Core 또는 커스텀이 아닌 코드에서 코드를 수정한 경우 모듈을 사용하면 수정사항을 덮어쓰게 됩니다. 여기에는 .htaccess에 적용한 변경사항도 포함됩니다. /sites 디렉터리 외부의 모든 항목은 Drupal에서 소유한다고 가정해야 합니다. 이 규칙의 예외는 robots.txt입니다. 이 파일이 웹 루트에 있으면 볼 수 있습니다

설치를 진행하기 전에 Drupal 웹 루트 전체를 백업하세요. 를 참조하세요. 아래에 설명된 설치 단계를 수행하면 삭제할 수 있습니다

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 속성

    나중에 백업에서 복원해야 하는 경우 다음 명령어를 사용하세요.

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. 전체 Drupal 웹 루트 디렉터리의 백업을 만듭니다. 기본 설치 위치 /opt/apigee/apigee-drupal이지만 변경했을 수도 있습니다.

    이 디렉터리의 위치를 잘 모르는 경우 drush status 명령어 또는 구성 > 미디어 > Drupal 메뉴의 File 항목을 사용하여 공개 파일 시스템의 위치와 비공개 파일 시스템 경로 (다음 단계).

  4. /opt/apigee/data/apigee-drupal-devportal/private의 파일을 백업합니다.
  5. Drupal을 유지보수 모드로 설정합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. Drupal 메뉴에서 구성을 선택합니다.
    2. 구성 페이지의 개발에서 유지보수 모드를 선택합니다.
    3. 사이트를 유지보수 모드로 전환 체크박스를 선택합니다.
    4. 유지보수 중에 사용자에게 표시할 메시지를 입력합니다.
    5. Save configuration을 선택합니다.
  6. Edge apigee-setup 유틸리티 설치에 설명된 대로 SELinux를 사용 중지합니다.
  7. /opt 디렉터리로 변경합니다.
    > cd /opt
  8. 인터넷에 연결된 서버를 업그레이드하는 경우:
    1. Edge 4.18.01 bootstrap_4.18.01.sh 파일을 /tmp/bootstrap_4.18.01.sh로 다운로드합니다.
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh
    2. Edge 4.18.01 apigee-service 유틸리티 및 종속 항목을 설치합니다.
      sudo bash /tmp/bootstrap_4.18.01.sh apigeeuser=uName apigeepassword=pWord

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

      기본적으로 설치 프로그램은 Java 1.8이 설치되어 있는지 확인합니다. 'C' 옵션을 사용하여 Java를 설치하지 않고 계속할 수 있습니다.

  9. 인터넷에 연결되어 있지 않은 서버를 업그레이드하는 경우:
    1. Edge apigee-setup 유틸리티 설치의 '로컬 Apigee 저장소 만들기'에 설명된 대로 로컬 4.18.01 저장소를 만듭니다.
    2. .tar 파일에서 apigee-service를 설치하려면 다음 안내를 따르세요.
      1. 로컬 저장소가 있는 노드에서 다음 명령어를 사용하여 로컬 저장소를 /opt/apigee/data/apigee-mirror/apigee-4.18.01.tar.gz라는 단일 .tar 파일로 패키징합니다.
         /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Edge를 업데이트할 노드에 .tar 파일을 복사합니다. 예를 들어 새 노드의 /tmp 디렉터리로 이동합니다.
      3. 새 노드에서 /tmp 디렉터리로 파일의 압축을 풉니다.
        tar -xzf apigee-4.18.01.tar.gz

        이 명령어는 .tar 파일이 포함된 디렉터리에 repos라는 새 디렉터리를 만듭니다. 예: /tmp/repos

      4. /tmp/repos에서 Edge apigee-service 유틸리티 및 종속 항목을 설치합니다.
        sudo bash /tmp/repos/bootstrap_4.18.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        이 명령어에는 저장소 디렉터리의 경로가 포함됩니다.

    3. Nginx 웹 서버를 사용하여 apigee-service를 설치하려면 다음 안내를 따르세요.
      1. '다음을 사용하여 저장소에서 설치'에 설명된 대로 Nginx 웹 서버를 구성합니다. Nginx 웹 서버 Install the Edge Apigee 설정 유틸리티를 참조하세요.
      2. 원격 노드에서 Edge bootstrap_4.18.01.sh 파일을 다음 위치에 다운로드합니다. /tmp/bootstrap_4.18.01.sh: <ph type="x-smartling-placeholder">
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.18.01.sh
          -o /tmp/bootstrap_4.18.01.sh
        </ph>

        여기서 uName:pWord는 위에서 저장소에 설정한 사용자 이름과 비밀번호이고 remoteRepo는 저장소 노드의 IP 주소 또는 DNS 이름입니다.

      3. 원격 노드에 Edge apigee-service 유틸리티를 설치하고 dependencies:
        sudo bash /tmp/bootstrap_4.18.01.sh apigeerepohost=remoteRepo:3939
            apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        여기서 uName:pWord은 저장소 사용자 이름과 비밀번호입니다.

  10. apigee-service를 사용하여 apigee-setup 유틸리티를 업데이트합니다. <ph type="x-smartling-placeholder">
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
    </ph>
  11. Postgre 노드에서 업데이트 유틸리티를 실행합니다.
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

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

  12. Postgres 데이터베이스를 업데이트합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
  13. 노드에서 업데이트 유틸리티를 실행하여 포털을 업데이트합니다.
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

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

  14. 브라우저 창에서 다음 URL을 열어 Drupal의 update.php 스크립트를 실행합니다.
    http://portalIP_DNS:8079/update.php
  15. Drupal을 유지보수 모드로 사용 중지합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. Drupal 메뉴에서 구성을 선택합니다.
    2. 구성 페이지에서 유지보수를 선택합니다. 개발 아래에 있습니다.
    3. 사이트를 유지보수 모드로 전환 체크박스를 선택 해제합니다.
    4. Save configuration을 선택합니다.

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

/opt/apigee/apigee-drupal/wwwroot

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