Chuyển đổi cổng dựa trên tar sang cổng dựa trên RPM

Edge for Private Cloud phiên bản 4.17.09

Bản phát hành 4.17.09 của cổng Dịch vụ cho nhà phát triển không cho phép bạn cập nhật phiên bản trước đó dựa trên tar của cổng này. Bạn chỉ có thể cập nhật trực tiếp phiên bản dựa trên RPM lên phiên bản 4.17.09.

Tuy nhiên, bạn có thể chuyển đổi phiên bản dựa trên tar của cổng thông tin thành phiên bản dựa trên 4.17.09 RPM của cổng. Trong quá trình này, bạn sẽ di chuyển MySQL/MariaDB của cổng thông tin hiện có sang cơ sở dữ liệu Postgres. Sau khi chuyển đổi, cổng của bạn vẫn là cổng dựa trên RPM.

Bạn có thể di chuyển nhiều phiên bản trước của cổng thông tin dựa trên tar sang cổng dựa trên RPM, bao gồm các phiên bản 4.16.09 và 4.17.01, chứ không chỉ phiên bản 4.17.05. Yêu cầu duy nhất là cổng thông tin đang chạy Drupal 7 trở lên. Để kiểm tra phiên bản Drupal của bạn, hãy chọn Báo cáo > Báo cáo trạng thái trong trình đơn Drupal. Phiên bản Drupal xuất hiện ở hàng đầu tiên của kết quả.

Sau đây là các bước tổng quát mà bạn sử dụng để di chuyển từ cổng thông tin dựa trên tar sang cổng thông tin dựa trên RPM:

  • Cài đặt phiên bản 4.17.09 dựa trên RPM của cổng Dịch vụ cho nhà phát triển trên một nút mới.
  • Tạo cơ sở dữ liệu Postgres mới trên cổng thông tin dựa trên RPM.
  • Di chuyển cơ sở dữ liệu cổng thông tin từ cổng thông tin dựa trên tar.
  • Sao chép tất cả tệp phụ kiện từ cổng thông tin dựa trên tar sang cổng dựa trên RPM.
  • Cập nhật các mục nhập DNS để trỏ đến cổng thông tin mới dựa trên RPM.

    Xin lưu ý rằng phiên bản dựa trên RPM sử dụng cổng 8079 theo mặc định, trong khi phiên bản dựa trên tar sử dụng cổng 80. Đảm bảo bạn sử dụng đúng số cổng trong mục nhập DNS của mình. Xem phần Đặt cổng HTTP mà cổng sử dụng để biết thông tin về cách sử dụng một cổng khác.

Thư mục cài đặt mặc định mới sau khi chuyển đổi

Sau khi cập nhật bản cài đặt hiện sử dụng Nginx/Postgres, thư mục gốc đã thay đổi từ:

/opt/apigee/apigee-drupal

thành:

/opt/apigee/apigee-drupal/wwwroot

Quy trình chuyển đổi cổng thông tin

Cách chuyển đổi cổng thông tin sang lượt cài đặt dựa trên RPM:

  1. Cài đặt phiên bản 4.17.09 dựa trên RPM của cổng Dịch vụ cho nhà phát triển trên một nút khác với cổng thông tin dựa trên tar của bạn.
  2. Trên cổng thông tin dựa trên RPM, hãy tạo một cơ sở dữ liệu Postgres mới. Sau đó, bạn sẽ di chuyển cơ sở dữ liệu từ cổng thông tin dựa trên tar sang cơ sở dữ liệu mới này:
    1. Đăng nhập vào psql:
      >psql -h localhost -p 5432 -U apigee

      Nhập mật khẩu Postgres của bạn như được xác định theo thuộc tính PG_PWD trong tệp cấu hình cổng.
    2. Tạo cơ sở dữ liệu Postgred mới:
      # CREATE DATABASE newCổngdb;
    3. Thoát psql:
      # \q
  3. Trên cổng thông tin dựa trên tar, hãy xoá các mô-đun cũ không còn được sử dụng:
    > cd /var/www/html
    > drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module-advertising';"
    > drush sql-query-query type = db-prefix DELETE from {sso_danh sách kiểm tra tên = "

  4. Trên cổng thông tin dựa trên tar, hãy cài đặt và định cấu hình mô-đun Migrator Drupal:

    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. Đăng nhập vào cổng thông tin với tư cách là quản trị viên.
    6. Chọn Mô-đun trong trình đơn Drupal.
    7. Bật mô-đun DBTNG Migrator (Trình di chuyển DBTNG).
    8. Lưu cấu hình.
  5. Trên cổng thông tin dựa trên tar, hãy chỉnh sửa /var/www/html/sites/default/settings.php để thêm cấu hình cơ sở dữ liệu thứ hai trỏ đến cơ sở dữ liệu mới tạo trên cổng thông tin dựa trên RPM. Cấu hình cơ sở dữ liệu hiện tại được đặt tên theo mặc định. Đặt tên tuỳ chỉnh cho cấu hình mới:
    $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' => '',
            )
          )
        );

    trong đó máy chủcổng chỉ định địa chỉ IP và cổng của máy chủ Postgres. Postgres sử dụng cổng 5432 cho các kết nối.
  6. Trên cổng thông tin dựa trên tar, hãy cài đặt trình điều khiển Postgres:
    1. Sử dụng Yum để cài đặt trình điều khiển:
      > yum cài đặt php-pdo_pgsql
    2. Chỉnh sửa /etc/php.ini để thêm dòng sau vào vị trí bất kỳ trong tệp:
      extension=pgsql.so
    3. Khởi động lại Apache:
      > service httpd khởi động lại
  7. Trên cổng thông tin dựa trên tar, hãy di chuyển cơ sở dữ liệu cổng sang cổng dựa trên RPM:
    1. Đăng nhập vào cổng với tư cách quản trị viên.
    2. Chọn Cấu trúc->Trình di chuyển trong trình đơn Drupal.
    3. Chọn cơ sở dữ liệu gốc trên cổng thông tin dựa trên tar, default và cơ sở dữ liệu đích, custom, dựa trên tệp settings.php hiển thị ở trên.
    4. Nhấp vào Di chuyển. Cơ sở dữ liệu dựa trên tar sẽ được di chuyển sang cơ sở dữ liệu dựa trên RPM.
  8. Sao chép thư mục sites từ máy chủ dựa trên tar sang máy chủ dựa trên RPM.
    Các đường dẫn hiển thị trong các bước sau đây dựa trên đường dẫn mặc định. Hãy sửa đổi các tuỳ chọn đó nếu cần cho quá trình cài đặt của bạn.
    1. Trên cổng thông tin dựa trên tar, hãy gói thư mục /var/www/html/sites:
      > cd /var/www/html/sites
      > tar -cvzf /tmp/sites.tar.gz .
    2. Sao chép /tmp/sites.tar.gz vào /opt/apigee/apigee-drupal/wwwroot/sites trên máy chủ dựa trên RPM.
    3. Bỏ gói thư mục trang web nhưng không ghi đè các tệp quan trọng.
      1. Sao lưu tệp settings.php:
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. Sao lưu thư mục tệp hiện có:
        > sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. Sao lưu thư mục sites hiện có:
        > tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. Giải nén và giải nén thư mục sites từ máy chủ dựa trên tar:
        > gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz

        > tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. Đảm bảo các tệp được sao chép có quyền sở hữu phù hợp:
        > chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. Khôi phục tệp settings.php:
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. Di chuyển các tệp riêng tư sang vị trí mới:
        > cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devgate/private

        > rm -rf /opt/apigee-devalsites/rootapie-root

  9. Trên cổng thông tin dựa trên tar, chỉ khi bạn đã thay đổi đường dẫn đến thư mục gốc của web trên cổng thông tin dựa trên tar từ đường dẫn mặc định /var/www/html: hãy chạy trạng thái drush và xem đường dẫn tệp và đường dẫn tệp riêng tư:
    > cd /var/www/html
    > trạng thái drush


    Trong phần tệp/trang web riêng tư mà tệp/trang web riêng tư không hiển thị dưới dạng thư mục riêng tư, hãy hiển thị tệp/trang web riêng tư trong thư mục riêng tư
  10. Trên cổng thông tin dựa trên RPM, hãy cập nhật /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php để đặt các thuộc tính của cơ sở dữ liệu mặc định:
    > vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settingsbased.php

    hãy đặt mô tả cơ sở dữ liệu mặc định trong cài đặt
    ,
    được xác định là
    $databases = array (
          'default' =>
          array (
            'default' =>
            array (
              'database' => 'newportaldb',
              'username' => 'apigee',
              'password' => 'postgres',
              'host' => 'localhost', 'port' => '5432',
              'driver' => 'pgsql',
              'prefix' => '',
            )
          )
        );
  11. Trên cổng dựa trên RPM, phiên bản dựa trên RPM chứa ít mô-đun Drupal hơn so với phiên bản dựa trên tar. Sau khi chuyển sang cổng thông tin dựa trên RPM, bạn phải kiểm tra xem có mô-đun bị thiếu nào không và cài đặt chúng nếu cần.
    1. Cài đặt missing_module của Drupal dùng để phát hiện mô-đun bị thiếu:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl missing_module
      > drush en missing_module
    2. Đăng nhập vào cổng thông tin dựa trên RPM với tư cách là quản trị viên.
    3. Chọn Báo cáo > Báo cáo trạng thái trong trình đơn Drupal và kiểm tra xem có mô-đun nào bị thiếu không.
    4. Hãy sử dụng báo cáo đó để cài đặt mọi mô-đun bị thiếu hoặc dùng các lệnh sau:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl <moduleA> <moduleB> ...
      > drush en <moduleA> <moduleB> ...
    5. Sau khi bạn bật tất cả các mô-đun, hãy đảm bảo các tệp đó thuộc quyền sở hữu của người dùng apigee:
      > chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      Để biết thêm về các quyền đối với tệp, hãy tham khảo https://www.drupal.org/node/244924.
  12. Trên cổng thông tin dựa trên RPM, hãy chạy update.php trong trình duyệt để loại bỏ mọi lỗi trên các mô-đun bị thiếu:
    1. Đăng nhập vào cổng thông tin dựa trên RPM với tư cách là quản trị viên.
    2. Trong trình duyệt, hãy chuyển đến URL sau:
      http://{portal_IP_or_DNS}:8079/update.php

      trong đó portal_IP_or_DNS là địa chỉ IP hoặc tên miền của cổng thông tin dựa trên RPM.
    3. Làm theo lời nhắc trên màn hình.
  13. Cập nhật các mục DNS để trỏ đến cổng thông tin mới dựa trên RPM.

    Xin lưu ý rằng phiên bản dựa trên RPM sử dụng cổng 8079 theo mặc định, trong khi phiên bản dựa trên tar sử dụng cổng 80. Đảm bảo bạn sử dụng đúng số cổng trong mục nhập DNS của mình. Xem phần Đặt cổng HTTP mà cổng sử dụng để biết thông tin về cách sử dụng một cổng khác.

Quá trình chuyển đổi đã hoàn tất.