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:
- Jika penginstalan Anda menggunakan Nginx/Postgres, gunakan Mengupgrade portal menggunakan RPM di bawah.
- Jika penginstalan Anda menggunakan Apache/MySQL atau Apache/MariaDB, lihat Mengonversi portal berbasis tar ke portal berbasis RPM.
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:
- Ubah ke direktori Drupal,
/opt/apigee/apigee-drupal
secara default:cd /opt/apigee/apigee-drupal
- 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
- devportal adalah nama database seperti yang ditentukan oleh properti
- 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). - Buat cadangan file di
/opt/apigee/data/apigee-drupal-devportal/private
. - Siapkan Drupal ke mode pemeliharaan:
- Pilih Configuration di menu Drupal.
- Di halaman Configuration, pilih Pemeliharaan mode di bagian Development.
- Pilih kotak Setel situs ke mode pemeliharaan.
- Masukkan pesan yang akan dilihat pengguna selama pemeliharaan.
- Pilih Simpan konfigurasi.
- Nonaktifkan SELinux seperti yang dijelaskan dalam Menginstal utilitas penyiapan Edge apigee.
- Ubah ke direktori
/opt
:cd /opt
- Untuk upgrade di server dengan koneksi Internet:
- 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
- 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.
- Download file
- Untuk upgrade di server tanpa koneksi Internet:
- Buat repo 4.19.06 lokal seperti yang dijelaskan dalam Membuat repositori Apigee lokal.
- Untuk menginstal apigee-service dari file .tar:
- 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
- Salin file .tar ke node tempat Anda ingin mengupdate Edge. Misalnya, salin ke direktori
/tmp
pada node baru. - 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.
- 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.
- Pada node yang berisi repo lokal, gunakan perintah berikut untuk memaketkan repositori lokal
ke dalam satu file .tar bernama
- Untuk menginstal apigee-service menggunakan server web Nginx:
- Konfigurasikan server web Nginx seperti yang dijelaskan di "Menginstal dari repo menggunakan server web Nginx" di Menginstal utilitas penyiapan apigee Edge.
- 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.
- 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.
- Gunakan
apigee-service
untuk mengupdate utilitasapigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- 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".
- 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.
- 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".
- Jalankan skrip
update.php
Drupal dengan membuka URL berikut di jendela browser:http://portal_IP_DNS:8079/update.php
- Nonaktifkan mode pemeliharaan:
- Pilih Configuration di menu Drupal.
- Di halaman Configuration, pilih Pemeliharaan mode di bagian Development.
- Hapus centang pada kotak Masukkan situs ke mode pemeliharaan.
- 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:
- Anda menjalankan Edge untuk Private Cloud versi 4.18.05, yang menyertakan Drupal 7.59.
- Anda mengupgrade Drupal ke 7.64 karena update keamanan yang diperlukan.
- 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.