Upgrade portal

Prosedur ini menjelaskan cara mengupgrade portal Layanan Developer Apigee yang sudah ada (atau cukup, portal) lokal.

Menentukan prosedur update yang benar

Prosedur yang Anda gunakan untuk memperbarui portal didasarkan pada penginstalan saat ini:

Menentukan jenis penginstalan saat ini

Jika tidak yakin dengan jenis penginstalan saat ini, gunakan perintah berikut untuk menentukannya:

  • ls /opt

    Jika menggunakan Nginx/Postgres, Anda akan melihat direktori berikut: /opt/apigee dan /opt/nginx.

    Jika Anda menggunakan Apache/MySQL atau Apache/MariaDB, direktori ini tidak boleh ada.

  • /opt/apigee/apigee-service/bin/apigee-all status

    Jika menggunakan Nginx/Postgres, Anda akan melihat output berikut:

    + 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

    Jika Anda menggunakan Apache/MySQL atau Apache/MariaDB, perintah ini akan menampilkan direktori utama web portal, dalam bentuk:

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

Direktori penginstalan default

Proses upgrade mengasumsikan bahwa portal diinstal di:

  • 4.17.05 dan yang lebih baru: /opt/apigee/apigee-drupal/wwwroot
  • Sebelum 4.17.05: /opt/apigee/apigee-drupal (Nginx) atau /var/www/html (Apache)

Jika Anda tidak menginstal portal di direktori default, ubah jalur dalam prosedur di bawah ini untuk menggunakan direktori penginstalan Anda.

Versi upgrade yang didukung

Prosedur upgrade ini didukung di versi portal OPDK-17-01.x dan yang lebih baru.

Untuk menentukan versi portal, buka URL berikut di browser:

http://yourportal.com/buildInfo

Sebelum memperbarui

Untuk penginstalan yang ada, jika Anda telah mengubah kode dalam inti Drupal atau dalam modul non-kustom, modifikasi tersebut akan ditimpa. Hal ini mencakup, antara lain, perubahan yang mungkin Anda lakukan pada .htaccess. Anda harus mengasumsikan bahwa apa pun di luar direktori /sites dimiliki oleh Drupal. Pengecualian untuk aturan ini adalah robots.txt; jika file ini ada dalam root web, file tersebut akan dipertahankan untuk Anda.

Sebelum melanjutkan penginstalan, cadangkan seluruh direktori root web Drupal Anda. Setelah melakukan langkah-langkah penginstalan yang dijelaskan di bawah, Anda dapat memulihkan penyesuaian dari cadangan.

Mengupgrade portal menggunakan RPM

Untuk mengupdate RPM portal pada node:

  1. Ubah ke direktori Drupal, /opt/apigee/apigee-drupal secara default:
    cd /opt/apigee/apigee-drupal
  2. Cadangkan instance database Drupal Anda. Perintah pg_dump membuat salinan database:
    pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin
      --password --format=c > /tmp/portal.dmp

    Dengan keterangan:

    • devportal adalah nama database seperti yang ditentukan oleh properti PG_NAME dalam file konfigurasi penginstalan portal.
    • host_IP_address adalah alamat IP node portal.
    • drupaladmin adalah nama pengguna Postgres yang digunakan oleh portal untuk mengakses database seperti yang ditentukan oleh properti DRUPAL_PG_USER di file konfigurasi penginstalan portal.

    Anda akan diminta untuk memasukkan sandi pengguna Postgres seperti yang ditetapkan oleh properti DRUPAL_PG_PASS dalam file konfigurasi penginstalan portal.

    Jika nanti Anda ingin memulihkan dari cadangan, gunakan perintah berikut:

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. Buat cadangan seluruh direktori root web Drupal Anda. Lokasi penginstalan default adalah /opt/apigee/apigee-drupal, tetapi Anda mungkin telah mengubahnya.

    Jika Anda tidak yakin dengan lokasi direktori ini, gunakan perintah drush status atau entri Configuration > Media > File di menu Drupal untuk menentukan lokasi sistem file publik dan jalur sistem file pribadi (untuk langkah berikutnya).

  4. Buat cadangan file di /opt/apigee/data/apigee-drupal-devportal/private.
  5. Setel Drupal ke mode pemeliharaan:
    1. Pilih Configuration di menu Drupal.
    2. Di halaman Configuration, pilih Maintenance mode di bagian Development.
    3. Centang kotak Put site into pemeliharaan mode.
    4. Masukkan pesan yang akan dilihat pengguna selama pemeliharaan.
    5. Pilih Save configuration.
  6. Nonaktifkan SELinux seperti yang dijelaskan dalam Menginstal utilitas apigee-setup Edge.
  7. Ubah ke direktori /opt:
    cd /opt
  8. Untuk upgrade pada server yang memiliki koneksi Internet:
    1. Download file bootstrap_4.19.06.sh Edge 4.19.06 ke /tmp/bootstrap_4.19.06.sh:
      curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
    2. Instal utilitas dan dependensi apigee-service Edge 4.19.06:
      sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord

      Dengan uName dan pWord adalah nama pengguna dan sandi yang Anda terima dari Apigee. Jika menghapus pWord, Anda akan diminta untuk memasukkannya.

      Secara default, penginstal memeriksa untuk melihat bahwa Anda telah menginstal Java 1.8. Anda dapat menggunakan opsi "C" untuk melanjutkan tanpa menginstal Java.

  9. Untuk upgrade pada server tanpa koneksi Internet:
    1. Buat repo 4.19.06 lokal seperti yang dijelaskan dalam Membuat repositori Apigee lokal.
    2. Untuk menginstal apigee-service dari file .tar:
      1. Pada node dengan repo lokal, gunakan perintah berikut untuk memaketkan repo lokal menjadi satu file .tar bernama /opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Salin file .tar ke node tempat Anda ingin mengupdate Edge. Misalnya, salin ke direktori /tmp pada node baru.
      3. Pada node baru, untar file ke direktori /tmp:
        tar -xzf apigee-4.19.06.tar.gz

        Perintah ini membuat direktori baru, yang bernama repo, di direktori yang berisi file .tar. Misalnya, /tmp/repo.

      4. Instal utilitas dan dependensi Edge apigee-service dari /tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Perhatikan bahwa Anda menyertakan jalur ke direktori repositori dalam perintah ini.

    3. Untuk menginstal layanan apigee menggunakan server web Nginx:
      1. Konfigurasikan server web Nginx seperti yang dijelaskan dalam "Instal dari repo menggunakan server web Nginx" pada Menginstal utilitas apigee-setup Edge.
      2. Pada node jarak jauh, download file Edge bootstrap_4.19.06.sh ke /tmp/bootstrap_4.19.06.sh:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.06.sh
          -o /tmp/bootstrap_4.19.06.sh

        Dengan uName dan pWord adalah nama pengguna dan sandi yang Anda tetapkan di atas untuk repo, dan remoteRepo adalah alamat IP atau nama DNS node repo.

      3. Pada node jarak jauh, instal utilitas dan dependensi apigee-service Edge:
        sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        Dengan uName dan pWord adalah nama pengguna dan sandi repo.

  10. Gunakan apigee-service untuk mengupdate utilitas apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. Jalankan utilitas update pada node Postgres Anda:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    Dengan configFile adalah file konfigurasi yang Anda gunakan untuk menginstal database Postgres. Satu-satunya persyaratan pada file konfigurasi adalah file konfigurasi harus dapat diakses atau dibaca oleh pengguna "apigee".

  12. Hapus RPM PHP, tetapi bukan dependensi RPM Devportal Apigee Drupal dengan menjalankan perintah berikut:
    rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')

    Perintah ini akan melakukan hal berikut:

    • rpm -ev --nodeps menghapus RPM, tetapi tidak menghapus dependensinya.
    • rpm -qa membuat daftar RPM yang akan dihapus.
    • grep php menelusuri semua RPM PHP.
    • awk '{printf "%s ", $1}' akan mencetak nama RPM.
  13. Jalankan utilitas update pada node Anda untuk mengupdate portal:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    Dengan configFile adalah file konfigurasi yang Anda gunakan untuk menginstal portal. Satu-satunya persyaratan pada file konfigurasi adalah file konfigurasi harus dapat diakses atau dibaca oleh pengguna "apigee".

  14. Jalankan skrip update.php Drupal dengan membuka URL berikut di jendela browser:
    http://portal_IP_DNS:8079/update.php
  15. Nonaktifkan mode pemeliharaan:
    1. Pilih Configuration di menu Drupal.
    2. Di halaman Configuration, pilih Maintenance mode di bagian Development.
    3. Batalkan pilihan kotak Masukkan situs ke mode pemeliharaan.
    4. Pilih Save configuration.

Perhatikan, direktori utama setelah pembaruan adalah:

/opt/apigee/apigee-drupal/wwwroot

Upgrade kini telah selesai. Jika utilitas update Apigee mendowngrade versi Drupal Anda, Anda mungkin perlu menjalankan ulang utilitas upgrade Drupal. Untuk informasi selengkapnya, lihat Menjalankan kembali upgrade Drupal.

Menjalankan kembali upgrade Drupal

Jika menjalankan utilitas update Apigee guna mengupgrade Edge untuk Private Cloud sebenarnya menghasilkan downgrade versi Drupal Anda, instal ulang upgrade Drupal. Hal ini mungkin terjadi jika Anda hanya mengupgrade Drupal di antara update Private Cloud.

Contoh:

  1. Anda menjalankan Edge untuk Private Cloud versi 4.18.05, yang mencakup Drupal 7.59.
  2. Anda telah mengupgrade Drupal ke versi 7.64 karena update keamanan yang diperlukan.
  3. Anda sekarang mengupgrade Private Cloud ke 4.19.01, yang mencakup Drupal 7.61.

Seperti yang diilustrasikan dalam kasus ini, versi Drupal yang digunakan oleh utilitas update Apigee mungkin tidak merujuk ke upgrade Drupal terbaru. Akibatnya, sekarang Anda harus menjalankan kembali upgrade Drupal untuk mengembalikan penginstalan Drupal ke versi terbaru.