Prosedur ini menjelaskan cara mengupgrade penginstalan lokal portal Layanan Developer Apigee (atau cukup, portal) yang ada.
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 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/apigeedan/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 Anda, buka URL berikut di browser:
http://yourportal.com/buildInfo
Sebelum Anda mengupdate
Untuk penginstalan yang ada, jika Anda telah mengubah kode apa pun di inti Drupal atau di modul non-kustom, modifikasi Anda akan ditimpa. Hal ini mencakup, antara lain, perubahan apa pun
yang mungkin telah Anda buat pada .htaccess.
Anda harus berasumsi bahwa apa pun di luar direktori /sites dimiliki oleh Drupal. Pengecualian
untuk aturan ini adalah robots.txt; jika file ini ada di root web, file tersebut akan
dipertahankan 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 mengupdate RPM portal di node:
- Ubah ke direktori Drupal,
/opt/apigee/apigee-drupalsecara default:cd /opt/apigee/apigee-drupal
- Cadangkan instance database Drupal Anda. Perintah
pg_dumpmembuat salinan database:pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin --password --format=c > /tmp/portal.dmp
Dengan:
- devportal adalah nama database seperti yang ditentukan oleh properti
PG_NAMEdalam 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_USERdalam file konfigurasi penginstalan portal.
Anda akan diminta memasukkan sandi pengguna Postgres seperti yang ditentukan oleh properti
DRUPAL_PG_PASSdalam 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
- 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 statusatau 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. - Setel Drupal ke mode pemeliharaan:
- Pilih Configuration di menu Drupal.
- Di halaman Configuration, pilih Maintenance mode di bagian Development.
- Centang kotak Put site into maintenance mode.
- Masukkan pesan yang akan dilihat pengguna selama pemeliharaan.
- Pilih Save configuration.
- Nonaktifkan SELinux seperti yang dijelaskan dalam Menginstal utilitas apigee-setup Edge.
- Ubah ke direktori
/opt:cd /opt
- Untuk upgrade di server dengan koneksi internet:
- Download file
bootstrap_4.19.06.shEdge 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-serviceEdge 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 repositori 4.19.06 lokal seperti yang dijelaskan dalam Membuat repositori Apigee lokal.
- Untuk menginstal apigee-service dari file .tar:
- Pada node dengan repo lokal, gunakan perintah berikut untuk mengemas repo 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
/tmpdi node baru. - Pada node baru, ekstrak file ke direktori /tmp:
tar -xzf apigee-4.19.06.tar.gz
Perintah ini akan membuat direktori baru, bernama repos, di direktori yang berisi file .tar. Misalnya, /tmp/repos.
- Instal utilitas dan dependensi
apigee-serviceEdge 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 dengan repo lokal, gunakan perintah berikut untuk mengemas repo lokal ke dalam satu file .tar bernama
- Untuk menginstal apigee-service menggunakan server web Nginx:
- Konfigurasikan server web Nginx seperti yang dijelaskan dalam "Menginstal dari repo menggunakan server web Nginx" di Menginstal utilitas apigee-setup Edge.
- Di node jarak jauh, download file
bootstrap_4.19.06.shEdge 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.
- Pada node jarak jauh, instal utilitas dan dependensi
apigee-serviceEdge: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-serviceuntuk mengupdate utilitasapigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- Jalankan utilitas
updatedi node Postgres Anda:/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
Dengan configFile sebagai 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 bukan dependensi RPM Devportal Drupal Apigee dengan menjalankan
perintah berikut:
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
Perintah ini akan melakukan hal berikut:
rpm -ev --nodepsakan menghapus RPM, tetapi tidak menghapus dependensinya.rpm -qamembuat daftar RPM yang akan dihapus.grep phpmenelusuri semua RPM PHP.awk '{printf "%s ", $1}'akan mencetak nama RPM.
- Jalankan utilitas
updatedi node Anda untuk mengupdate portal:/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
Dengan configFile sebagai 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.phpDrupal 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 Maintenance mode di bagian Development.
- Batalkan pilihan kotak Put site into maintenance mode.
- Pilih Save configuration.
Perhatikan bahwa direktori root setelah update 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 mengetahui informasi selengkapnya, lihat
Menjalankan ulang upgrade Drupal.
Menjalankan kembali upgrade Drupal
Jika menjalankan utilitas update Apigee untuk mengupgrade Edge for Private Cloud justru
mengakibatkan 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 for 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 merujuk ke upgrade Drupal terbaru. Oleh karena itu, Anda sekarang harus menjalankan ulang upgrade Drupal untuk mengembalikan penginstalan Drupal ke versi yang lebih baru.