Upgrade portal

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

Menentukan prosedur update yang benar

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

Menentukan jenis penginstalan Anda saat ini

Jika Anda 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 Anda 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 root 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 untuk menggunakan direktori penginstalan Anda.

Versi upgrade yang didukung

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

Untuk menentukan versi portal, buka URL berikut di browser:

http://yourportal.com/buildInfo

Sebelum mengupdate

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

Sebelum melanjutkan penginstalan, buat cadangan 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 memperbarui RPM portal di 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 akan 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 dalam file konfigurasi penginstalan portal.

    Anda akan diminta untuk memasukkan sandi pengguna Postgres seperti yang ditentukan 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. Cadangkan 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. Siapkan Drupal ke mode pemeliharaan:
    1. Pilih Configuration di menu Drupal.
    2. Di halaman Configuration, pilih Pemeliharaan mode di bagian Development.
    3. Pilih kotak Setel situs ke mode pemeliharaan.
    4. Masukkan pesan yang akan dilihat pengguna selama pemeliharaan.
    5. Pilih Simpan konfigurasi.
  6. Nonaktifkan SELinux seperti yang dijelaskan dalam Menginstal utilitas penyiapan Edge apigee.
  7. Ubah ke direktori /opt:
    cd /opt
  8. Untuk upgrade di server dengan 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 Anda menghilangkan pWord, Anda akan diminta untuk memasukkannya.

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

  9. Untuk upgrade di 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 yang berisi repo lokal, gunakan perintah berikut untuk memaketkan repositori lokal ke dalam 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. Di node baru, ekstrak file ke direktori /tmp:
        tar -xzf apigee-4.19.06.tar.gz

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

      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 repos dalam perintah ini.

    3. Untuk menginstal apigee-service menggunakan server web Nginx:
      1. Konfigurasikan server web Nginx seperti yang dijelaskan di "Menginstal dari repo menggunakan server web Nginx" di Menginstal utilitas penyiapan apigee Edge.
      2. Di node jarak jauh, download file bootstrap_4.19.06.sh Edge 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. Di node jarak jauh, instal utilitas apigee-service Edge dan dependensinya:
        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 di 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 jangan dependensi RPM Apigee Drupal Devportal 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}' mencetak nama RPM.
  13. Jalankan utilitas update di 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 Pemeliharaan mode di bagian Development.
    3. Hapus centang pada kotak Masukkan situs ke mode pemeliharaan.
    4. Pilih Simpan konfigurasi.

Perhatikan bahwa direktori root setelah update adalah:

/opt/apigee/apigee-drupal/wwwroot

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

Menjalankan ulang upgrade Drupal

Jika menjalankan utilitas update Apigee untuk mengupgrade Edge for Private Cloud ternyata menyebabkan 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 menyertakan Drupal 7.59.
  2. Anda mengupgrade Drupal ke 7.64 karena update keamanan yang diperlukan.
  3. Anda kini mengupgrade Cloud Pribadi 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 mereferensikan upgrade Drupal terbaru. Akibatnya, Anda sekarang harus menjalankan ulang upgrade Drupal untuk mengembalikan penginstalan Drupal ke versi yang lebih baru.