Nâng cấp cổng Dịch vụ dành cho nhà phát triển

Cổng dịch vụ dành cho nhà phát triển phiên bản 4.17.05

Quy trình này mô tả cách nâng cấp một bản cài đặt hiện có của Dịch vụ kênh dành cho nhà phát triển Apigee tại cơ sở.

Xác định quy trình cập nhật chính xác

Quy trình bạn sử dụng để cập nhật cổng thông tin dựa trên bản cài đặt hiện tại của bạn:

Xác định loại cài đặt hiện tại của bạn

Nếu bạn không chắc chắn về loại cài đặt hiện tại, hãy dùng lệnh sau để xác định:

  • ls /opt
    Nếu đang sử dụng Nginx/Postgres, bạn sẽ thấy các thư mục sau: /opt/apigee và /opt/nginx.

    Nếu bạn đang sử dụng Apache/MySQL hoặc Apache/MariaDB, thì các thư mục này không được xuất hiện.
  • /opt/apigee/apigee-service/bin/apigee-all status
    Nếu đang sử dụng Nginx/Postgres, bạn sẽ thấy kết quả sau:

    + 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
    Nếu bạn đang sử dụng Apache/MySQL hoặc Apache/MariaDB, thì lệnh này sẽ trả về thư mục gốc của cổng thông tin, ở dạng:

    *:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)

Thư mục cài đặt mặc định

Quá trình nâng cấp giả định rằng Cổng thông tin cho nhà phát triển đã được cài đặt tại:

  • /opt/apigee/apigee-drupal (Nginx)
  • /var/www/html (Apache)

Nếu bạn không cài đặt cổng thông tin trong thư mục mặc định, hãy sửa đổi các đường dẫn trong quy trình dưới đây để sử dụng thư mục cài đặt của bạn.

Nếu không biết thư mục cài đặt, bạn có thể xác định thư mục đó như mô tả trong phần Các lệnh Drush thường dùng.

Thư mục cài đặt mặc định mới sau khi cập nhật Nginx/Postgres từ bản cài đặt 4.17.01 mới

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

/opt/apigee/apigee-drupal

tới:

/opt/apigee/apigee-drupal/wwwroot

Các phiên bản nâng cấp được hỗ trợ

Quy trình nâng cấp này được hỗ trợ cho các phiên bản cổng thông tin sau:

  • 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

Để xác định phiên bản cổng thông tin, hãy mở URL sau trong trình duyệt:

http://yourportal.com/buildInfo

Trước khi bạn cập nhật

Đối với các bản cài đặt hiện có, nếu bạn đã sửa đổi bất kỳ mã nào trong lõi Drupal hoặc trong bất kỳ mô-đun không tuỳ chỉnh nào, thì các nội dung sửa đổi của bạn sẽ bị ghi đè. Điều này bao gồm, trong số những thứ khác, mọi thay đổi bạn có thể đã thực hiện đối với .htaccess. Bạn nên giả định rằng mọi nội dung bên ngoài thư mục /sites đều thuộc sở hữu của Drupal. Ngoại lệ duy nhất cho quy tắc này là robots.txt; nếu tệp này tồn tại trong thư mục gốc của trang web, thì tệp này sẽ được giữ lại cho bạn.

Trước khi tiến hành cài đặt, hãy sao lưu toàn bộ thư mục gốc của trang web Drupal. Sau khi thực hiện các bước cài đặt được mô tả dưới đây, bạn có thể khôi phục các tuỳ chỉnh của mình từ bản sao lưu.

Nâng cấp cổng thông tin bằng tệp .tar

  1. Sao lưu phiên bản Drupal MySQL/MariaDB.
    Để biết thêm thông tin, hãy xem http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/
    1. Cách 1: Sử dụng Drush

      Lệnh Drush sql-dump tạo một bản sao của cơ sở dữ liệu. Trong thư mục Drupal, theo mặc định là /var/www/html, hãy chạy lệnh:
      > drush sql-dump > /path/to/backup_dir/database-backup.sql

      Sử dụng drush help sql-dump để biết thêm thông tin.
    2. Cách 2: Sử dụng MySQLdump
      Sử dụng lệnh mysqldump để tạo bản sao của cơ sở dữ liệu:
      mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      Không được có dấu cách giữa tuỳ chọn -p và mật khẩu. Bạn phải đặt mật khẩu trong dấu nháy đơn nếu mật khẩu chứa ký tự đặc biệt.

      Bạn đặt USERNAME và DATABASENAME khi cài đặt cổng thông tin. Theo mặc định, cả hai đều là devportal.
  2. Sao lưu toàn bộ thư mục gốc của trang web Drupal. Vị trí cài đặt mặc định là /var/www/html, nhưng bạn có thể đã thay đổi vị trí này tại thời điểm cài đặt.
  3. Tải tệp DeveloperServices_x.y.z.tar của Developer Channel Services xuống từ ftp.apigee.com, trong đó x.y.z tương ứng với số phiên bản của cổng thông tin. Khi được nhắc, hãy nhập thông tin đăng nhập mà bạn nhận được từ Apigee.

    Bạn có thể tải tệp xuống từ đường liên kết mà Apigee gửi cho bạn trong trình duyệt hoặc bằng cách sao chép đường liên kết đó rồi thêm vào lệnh cURL sau:
    > curl -kOL <paste link here>

    Lưu ý: Nếu cổng thông tin của bạn nằm trên một máy chủ không có kết nối Internet bên ngoài, hãy thực hiện bước này trên một máy chủ có quyền truy cập.

    Chuyển đến phần Hỗ trợ Apigee Edge rồi chọn Đăng nhập vào Cổng hỗ trợ để yêu cầu tệp .tar nâng cấp Dịch vụ kênh dành cho nhà phát triển. Nếu bạn chưa có tài khoản trên Cổng hỗ trợ, hãy chọn Đăng nhập vào Cổng hỗ trợ, sau đó trên trang đăng nhập, hãy chọn Bạn đang vội? Gửi phiếu yêu cầu hỗ trợ tại đây.
  4. Để nâng cấp trên máy chủ có kết nối Internet:
    1. Trích xuất tệp nâng cấp cổng thông tin:
      > tar -xvf <tar file>

      Lệnh trích xuất này sẽ tạo một thư mục mới có tên là DeveloperServices-4.x.y.z.
    2. Thay đổi thành thư mục DeveloperServices-4.x.y.z.
    3. Tải phiên bản Drupal mới nhất xuống bằng cách sử dụng lệnh sau:
      > drush dl drupal

      Lệnh này tạo một thư mục có tên drupal-x.y, trong đó x.y tương ứng với phiên bản Drupal hiện tại.
    4. Chạy tập lệnh networked-update.sh:
      > ./networked-update.sh

      Tuỳ thuộc vào quyền truy cập tệp, bạn có thể phải dùng sudo để chạy lệnh này hoặc chạy lệnh này với tư cách quản trị viên.
    5. Để nhận thông báo về các bản cập nhật Drupal, hãy đảm bảo rằng bạn đã bật mô-đun Trình quản lý cập nhật Drupal. Trên trình đơn Drupal, hãy chọn Modules (Mô-đun) rồi di chuyển xuống mô-đun Update manager (Trình quản lý cập nhật). Nếu API chưa bật, hãy bật API đó.

      Sau khi bật, bạn có thể xem các bản cập nhật hiện có bằng cách sử dụng mục trong trình đơn Reports > Available Updates (Báo cáo > Bản cập nhật hiện có).

      Sử dụng mục trong trình đơn Reports > Available Updates > Settings (Báo cáo > Bản cập nhật có sẵn > Cài đặt) để định cấu hình mô-đun gửi email cho bạn khi có bản cập nhật và đặt tần suất kiểm tra bản cập nhật.
  5. Để nâng cấp trên máy chủ không có kết nối Internet:
    1. Trên máy chủ mà bạn đã tải tệp DeveloperServices_x.y.z.tar của Developer Channel Services xuống, hãy giải nén tệp nâng cấp cổng thông tin:
      > tar -xvf <tar file>

      Lệnh giải nén này sẽ tạo một thư mục mới có tên là DeveloperServices-4.x.y.z.
    2. Thay đổi thành thư mục DeveloperServices-4.x.y.z.
    3. Chạy tập lệnh non-networked-update.sh:
      > ./non-networked-update.sh

      Tuỳ thuộc vào quyền truy cập tệp, bạn có thể phải dùng sudo để chạy lệnh này hoặc chạy lệnh này với tư cách quản trị viên.

      Lệnh này tải tất cả các tệp cập nhật cần thiết xuống và đóng gói chúng vào một tệp duy nhất có tên devportal-update.tgz rồi ghi tệp đó vào một vị trí mà bạn chọn.
    4. Sao chép devportal-update.tgz vào máy chủ đích, tức là máy chủ đang chạy cổng thông tin.
      Lưu ý: Không sao chép tệp devportal-update.tgz vào thư mục gốc của máy chủ đích.
    5. Giải nén tệp devportal-update.tgz vào thư mục hiện tại:
      > tar -xzf /path/to/devportal-update.tgz
    6. Chuyển sang thư mục developer-update.
    7. Chạy lệnh sau để cài đặt bản cập nhật:
      > ./install-update.sh
    8. Trả lời các câu hỏi.

Quá trình nâng cấp hiện đã hoàn tất.

Nâng cấp cổng thông tin bằng RPM

Hãy làm theo quy trình sau để cập nhật RPM của cổng thông tin trên một nút:

  1. Thay đổi thành thư mục Drupal, /opt/apigee/apigee-drupal theo mặc định:
    > cd /opt/apigee/apigee-drupal
  2. Sao lưu phiên bản cơ sở dữ liệu Drupal. Lệnh pg_dump tạo một bản sao của cơ sở dữ liệu:

    pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp

    trong đó:
    • dbname chỉ định tên cơ sở dữ liệu như được chỉ định bởi thuộc tính PG_NAME trong tệp cấu hình cài đặt cổng thông tin.
    • host chỉ định địa chỉ IP của nút cổng.
    • username chỉ định tên người dùng Postgres mà cổng thông tin sử dụng để truy cập vào cơ sở dữ liệu, như được chỉ định bởi thuộc tính DRUPAL_PG_USER trong tệp cấu hình cài đặt cổng thông tin.
    • Bạn sẽ được nhắc nhập mật khẩu người dùng Postgres như được xác định bằng thuộc tính DRUPAL_PG_PASS trong tệp cấu hình cài đặt cổng thông tin.

    Nếu sau này bạn phải khôi phục từ bản sao lưu, hãy sử dụng lệnh sau:
    pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
  3. Sao lưu toàn bộ thư mục gốc của trang web Drupal. Vị trí cài đặt mặc định là /opt/apigee/apigee-drupal, nhưng bạn có thể đã thay đổi vị trí này.

    Nếu bạn không chắc chắn về vị trí của thư mục này, hãy sử dụng lệnh drush status hoặc mục Configuration > Media > File (Cấu hình > Nội dung nghe nhìn > Tệp) trong trình đơn Drupal để xác định vị trí của hệ thống tệp công khai và đường dẫn hệ thống tệp riêng tư (cho bước tiếp theo).
  4. Tạo bản sao lưu các tệp trong /opt/apigee/data/apigee-drupal-devportal/private.
  5. Tắt SELinux như mô tả trong phần Cài đặt tiện ích apigee-setup của Edge.
  6. Để nâng cấp trên máy chủ có kết nối Internet:
    1. Tải tệp Edge 4.17.05 bootstrap_4.17.05.sh xuống /tmp/bootstrap_4.17.05.sh:
      > curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
    2. Cài đặt tiện ích apigee-service Edge 4.17.05 và các phần phụ thuộc:
      > sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord

      trong đó uName:pWord là tên người dùng và mật khẩu bạn nhận được từ Apigee. Nếu bỏ qua pWord, bạn sẽ được nhắc nhập mật khẩu.

      Theo mặc định, trình cài đặt sẽ kiểm tra để đảm bảo bạn đã cài đặt Java 1.8. Bạn có thể sử dụng tuỳ chọn "C" để tiếp tục mà không cần cài đặt Java.
  7. Để nâng cấp trên máy chủ không có kết nối Internet:
    1. Tạo kho lưu trữ 4.17.05 cục bộ như mô tả trong phần "Tạo kho lưu trữ Apigee cục bộ" tại phần Cài đặt tiện ích apigee-setup của Edge.
      Lưu ý: Nếu đã có kho lưu trữ 4.17.01, bạn có thể thêm kho lưu trữ 4.17.05 vào kho lưu trữ đó như mô tả trong phần "Cập nhật kho lưu trữ Apigee cục bộ" tại Cài đặt tiện ích apigee-setup của Edge.
    2. Cách cài đặt apigee-service từ tệp .tar:
      1. Trên nút có kho lưu trữ cục bộ, hãy sử dụng lệnh sau để đóng gói kho lưu trữ cục bộ thành một tệp .tar duy nhất có tên là /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
        > /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Sao chép tệp .tar vào nút mà bạn muốn cập nhật Edge. Ví dụ: sao chép tệp đó vào thư mục /tmp trên nút mới.
      3. Trên nút mới, hãy giải nén tệp vào thư mục /tmp:
        > tar -xzf apigee-4.17.05.tar.gz

        Lệnh này sẽ tạo một thư mục mới có tên là repos trong thư mục chứa tệp .tar. Ví dụ: /tmp/repos.
      4. Cài đặt tiện ích apigee-service của Edge và các phần phụ thuộc từ /tmp/repos:
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Lưu ý rằng bạn phải đưa đường dẫn đến thư mục kho lưu trữ vào lệnh này.
    3. Cách cài đặt apigee-service bằng máy chủ web Nginx:
      1. Định cấu hình máy chủ web Nginx như mô tả trong phần "Cài đặt từ kho lưu trữ bằng máy chủ web Nginx" tại Cài đặt tiện ích apigee-setup của Edge.
      2. Trên nút từ xa, hãy tải tệp bootstrap_4.17.05.sh của Edge xuống /tmp/bootstrap_4.17.05.sh:
        > /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh

        trong đó uName:pWord là tên người dùng và mật khẩu bạn đặt ở trên cho kho lưu trữ, còn remoteRepo là địa chỉ IP hoặc tên DNS của nút kho lưu trữ.
      3. Trên nút từ xa, hãy cài đặt tiện ích apigee-service của Edge và các phần phụ thuộc:
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        trong đó uName:pWord là tên người dùng và mật khẩu của kho lưu trữ.
  8. Sử dụng apigee-service để cập nhật tiện ích apigee-setup:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  9. Chạy tiện ích cập nhật trên nút để cập nhật cơ sở dữ liệu Postgres:
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    trong đó configFile là tệp cấu hình mà bạn đã dùng để cài đặt cơ sở dữ liệu Postgres. Yêu cầu duy nhất đối với tệp cấu hình là người dùng "apigee" phải truy cập hoặc đọc được tệp cấu hình.
  10. Bắt đầu Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. Chạy tiện ích cập nhật trên nút để cập nhật cổng thông tin:
    > /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    trong đó configFile là tệp cấu hình mà bạn đã dùng để cài đặt cổng thông tin. Yêu cầu duy nhất đối với tệp cấu hình là tệp cấu hình phải có thể truy cập hoặc đọc được bởi người dùng "apigee".

Lưu ý rằng thư mục gốc sau khi cập nhật hiện là:

/opt/apigee/apigee-drupal/wwwroot

Quá trình nâng cấp hiện đã hoàn tất.