tar 기반 포털을 RPM 기반 포털로 변환

Apigee 개발자 서비스 포털 (또는 간단히 포털)의 4.18.05 출시 버전에서는 이전 버전을 포털의 tar 기반 버전입니다. 포털의 RPM 기반 버전만 직접 업데이트할 수 있습니다. 4.18.05로 변경합니다.

하지만 tar 기반 포털 버전을 4.18.05 RPM 기반 인스턴스의 확인할 수 있습니다 이 프로세스의 일환으로 기존 포털의 MySQL/MariaDB를 Postgres 데이터베이스입니다. 변환되면 포털은 RPM 기반 포털로 유지됩니다.

tar 기반 포털의 많은 이전 버전을 RPM 기반 포털로 마이그레이션할 수 있습니다. 버전 4.17.05뿐만 아니라 버전 4.16.09 및 4.17.01을 포함합니다. 유일한 요구사항은 Drupal 7 이상을 실행해야 합니다 Drupal 버전을 확인하려면 보고서를 선택합니다. > 상태 보고서를 확인하세요. 첫 번째 행에 Drupal 버전이 표시됨 출력됩니다.

tar 기반 포털에서 RPM 기반 포털로 마이그레이션하는 데 사용하는 대략적인 단계 다음과 같습니다.

  • RPM 기반 4.18.05 버전의 포털을 지정할 수도 있습니다
  • RPM 기반 포털에서 새 Postgres 데이터베이스를 만듭니다.
  • tar 기반 포털에서 포털 데이터베이스를 마이그레이션합니다.
  • tar 기반 포털의 모든 액세서리 파일을 RPM 기반 포털에 복사합니다. 있습니다.
  • 새 RPM 기반 포털을 가리키도록 DNS 항목을 업데이트합니다.

    포털의 RPM 기반 버전은 기본적으로 포트 8079를 사용하지만 tar 기반 버전은 포트 80을 사용합니다. DNS 항목의 올바른 포트 번호를 사용해야 합니다. 자세한 내용은 자세한 내용은 포털에서 사용하는 HTTP 포트 설정을 참고하세요. 확인하시기 바랍니다.

이후 새 기본 설치 디렉터리 전환

현재 Nginx/Postgres를 사용하는 설치를 업데이트한 후 루트 디렉터리가 변경되었습니다. 보낸 사람:

/opt/apigee/apigee-drupal

다음과 같이 변경합니다.

/opt/apigee/apigee-drupal/wwwroot

포털 변환 절차

포털을 RPM 기반 설치로 변환하려면 다음 단계를 따르세요.

  1. tar 기반과 다른 노드에 포털의 RPM 기반 4.18.05 버전을 설치합니다. 있습니다.
  2. RPM 기반 포털에서 새 Postgres 데이터베이스를 만듭니다. 나중에 tar 기반 포털에서 이 새 데이터베이스로 업데이트합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. psql에 로그인합니다.
      psql -h localhost -p 5432 -U apigee

      포털 구성의 PG_PWD 속성으로 정의된 Postgres 비밀번호를 입력합니다. 파일에서 참조됩니다.

    2. 새 Postgred 데이터베이스를 만듭니다.
      CREATE DATABASE newportaldb;
    3. psql을 종료합니다.
      \q
  3. tar 기반 포털에서 더 이상 사용되지 않는 이전 모듈을 삭제합니다.

    cd /var/www/html
    drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module';"
    drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_checklist' AND type = 'module';"
    drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_sso_ui' AND type = 'module';"
  4. tar 기반 포털에서 Migrator Drupal 모듈을 설치하고 구성합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. cd /tmp 
    2. wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz 
    3. gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz 
    4. tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules 
    5. 관리자로 포털에 로그인합니다.
    6. Drupal 메뉴에서 Modules를 선택합니다.
    7. DBTNG Migrator 모듈을 사용 설정합니다.
    8. 구성을 저장합니다.
  5. tar 기반 포털에서 /var/www/html/sites/default/settings.php을 수정합니다. RPM 기반으로 새로 생성된 데이터베이스를 가리키는 두 번째 데이터베이스 구성을 추가합니다. 있습니다. 현재 데이터베이스 구성의 이름은 'default'입니다. 새 구성의 이름을 지정합니다. 다음 예와 같이 'custom'을 지정합니다.
    $databases = array (
      'default' =>
      array (
        'default' =>
        array (
          'database' => 'devportal',
          'username' => 'devportal',
          'password' => 'devportal',
          'host' => 'localhost',
          'port' => '',
          'driver' => 'mysql',
          'prefix' => '',
        ),
      ),
      'custom' =>
      array (
        'default' =>
        array (
          'database' => 'newportaldb',
          'username' => 'apigee',
          'password' => 'postgres',
          'host' => '192.168.168.100',
          'port' => '5432',
          'driver' => 'pgsql',
          'prefix' => '',
        )
      )
    );

    여기서 hostport는 Postgres 서버 Postgres는 연결에 포트 5432를 사용합니다.

  6. tar 기반 포털에서 Postgres 드라이버를 설치합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. Yum을 사용하여 드라이버를 설치합니다.
      yum install php-pdo_pgsql
    2. /etc/php.ini을 수정하여 파일의 아무 곳에나 다음 줄을 추가합니다.
      extension=pgsql.so
    3. Apache를 다시 시작합니다.
      service httpd restart
  7. tar 기반 포털에서 포털 데이터베이스를 RPM 기반 포털로 이전합니다. 포털: <ph type="x-smartling-placeholder">
      </ph>
    1. 관리자로 포털에 로그인합니다.
    2. Drupal 메뉴에서 Structure->Migrator를 선택합니다.
    3. tar 기반 포털 default에서 원본 데이터베이스를 선택하고 표시된 settings.php 파일을 기반으로 하는 대상 데이터베이스, custom 참조하세요.
    4. 이전을 클릭합니다. tar 기반 데이터베이스는 RPM 기반 데이터베이스입니다.
  8. tar 기반 서버에서 RPM 기반 서버로 sites 디렉터리를 복사합니다. 이 경로는 기본 경로를 기반으로 합니다. 필요에 따라 설치해야 합니다
    1. tar 기반 포털에서 /var/www/html/sites 디렉터리를 번들로 묶습니다.
      cd /var/www/html/sites
      tar -cvzf /tmp/sites.tar.gz .
    2. /tmp/sites.tar.gz 복사 대상 RPM 기반 서버의 /opt/apigee/apigee-drupal/wwwroot/sites
    3. 사이트 디렉터리를 번들 해제하지만 중요한 파일은 덮어쓰지 않습니다.
      1. settings.php 파일을 백업합니다.
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. 기존 files 디렉터리를 백업합니다.
        sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files
          /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. 기존 sites 디렉터리를 백업합니다.
        tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. tar 기반 서버에서 sites 디렉터리의 압축을 풀고 압축을 풉니다.
        gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
        tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. 복사된 파일에 적절한 소유권이 있는지 확인합니다.
        chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. settings.php 파일을 복원합니다.
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. 비공개 파일을 새 위치로 이동:
        cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devportal/private
        rm -rf /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private
        chown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
  9. tar 기반 포털(웹 루트 경로를 변경한 경우에만) /var/www/html의 기본 경로에서 tar 기반 포털의 디렉터리를 실행합니다. 다음을 실행합니다. drush status을 클릭하고 files 경로와 private files 경로를 확인합니다.
    cd /var/www/html
    drush status

    파일/비공개 파일이 sites 디렉터리 아래에 없는 경우 RPM 기반 서버를 지원합니다.

  10. RPM 기반 포털에서 /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php: 속성 설정 다음과 같습니다.
    vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php

    settings.php에서 기본 데이터베이스 설명을 설정합니다.

    $databases = array (
      'default' =>
      array (
        'default' =>
        array (
          'database' => 'newportaldb',
          'username' => 'apigee',
          'password' => 'postgres',
          'host' => 'localhost', 'port' => '5432',
          'driver' => 'pgsql',
          'prefix' => '',
        )
      )
    );

    여기서 database는 새로 만든 데이터베이스를 지정합니다. usernamepassword는 커스텀 데이터베이스에 정의된 대로입니다. tar 기반 포털에 있으며 prefix는 비어 있습니다.

  11. RPM 기반 포털에서는 RPM 기반 포털 버전에 더 적은 수의 tar 기반 버전보다 Drupal 모듈 RPM 기반 포털로 마이그레이션한 후에는 누락된 모듈이 있는지 확인하고 필요한 경우 설치해야 합니다.
    1. 누락된 모듈을 감지하는 데 사용되는 Drupal missing_module를 설치합니다.
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl missing_module
      drush en missing_module
    2. RPM 기반 포털에 관리자로 로그인합니다.
    3. 보고서 > Drupal 메뉴에서 상태 보고서를 사용하여 누락된 모듈을 선택합니다.
    4. 이 보고서를 사용하여 누락된 모듈을 설치하거나 다음 명령어를 사용합니다.
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl <moduleA> <moduleB> ...
      drush en <moduleA> <moduleB> ...
    5. 모든 모듈을 사용 설정한 후 이 파일이 Apigee 사용자의 소유인지 확인하세요.
      chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      파일 권한에 대한 자세한 내용은 다음을 참조하세요. https://www.drupal.org/node/244924.

  12. RPM 기반 포털의 브라우저에서 update.php를 실행하여 오류를 삭제합니다. 살펴봤습니다 <ph type="x-smartling-placeholder">
      </ph>
    1. RPM 기반 포털에 관리자로 로그인합니다.
    2. 브라우저에서 다음 URL로 이동합니다.
      http://portal_IP_or_DNS:8079/update.php

      여기서 portal_IP_or_DNS는 RPM 기반 IP 주소 또는 도메인 이름입니다. 있습니다.

    3. 화면의 안내를 따릅니다.
  13. 새 RPM 기반 포털을 가리키도록 DNS 항목을 업데이트합니다.

    포털의 RPM 기반 버전은 기본적으로 포트 8079를 사용하지만 tar 기반 버전은 포트 80을 사용합니다. DNS 항목의 올바른 포트 번호를 사용해야 합니다. 자세한 내용은 다음에 대한 자세한 내용은 포털에서 사용하는 HTTP 포트 설정을 참조하세요. 다른 포트 사용

변환이 완료되었습니다.