Developer Services Portal 4.17.09 版
本程序說明如何升級現有的 Apigee Developer Channel Services 地端部署安裝。
判斷正確的更新程序
更新入口網站的程序取決於目前的安裝方式:
- 如果安裝作業使用 Nginx/Postgres,請按照下方「使用 RPM 升級入口網站」一節的說明操作。
- 如果安裝作業使用 Apache/MySQL 或 Apache/MariaDB,請參閱「將 tar 型入口網站轉換為 RPM 型入口網站」。
判斷目前的安裝類型
如果不確定目前的安裝類型,請使用下列指令判斷:
ls /opt
如果您使用的是 Nginx/Postgres,會看到下列目錄:
/opt/apigee和/opt/nginx。如果您使用的是 Apache/MySQL 或 Apache/MariaDB,則不應出現這些目錄。
/opt/apigee/apigee-service/bin/apigee-all status
如果您使用的是 Nginx/Postgres,會看到下列輸出內容:
+ 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如果您使用的是 Apache/MySQL 或 Apache/MariaDB,這個指令應會傳回入口網站的網路根目錄,格式如下:
*:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)
預設安裝目錄
升級程序假設開發人員入口網站安裝在:
- 4.17.05 以上版本:
/opt/apigee/apigee-drupal/wwwroot - 4.17.05 之前:
/opt/apigee/apigee-drupal(Nginx) 或/var/www/html(Apache)
如果您未在預設目錄中安裝入口網站,請修改下方程序中的路徑,改用安裝目錄。
支援的升級版本
下列入口網站版本支援這項升級程序:
- OPDK-17-01.x
- OPDK-17-05.x
如要判斷入口網站版本,請在瀏覽器中開啟下列網址:
http://your_portal.com/buildInfo
更新前
如果已安裝 Drupal,且曾修改 Drupal 核心或任何非自訂模組中的程式碼,系統會覆寫您所做的修改。包括您對 .htaccess 所做的任何變更。請假設 /sites 目錄以外的所有內容都屬於 Drupal。這項規則的例外狀況是 robots.txt;如果這個檔案存在於網頁根目錄中,系統會為您保留。
繼續安裝前,請先備份整個 Drupal 網頁根目錄。執行下列安裝步驟後,即可從備份還原自訂項目。
使用 RPM 升級入口網站
請按照下列程序更新節點上的入口網站 RPM:
-
切換至 Drupal 目錄。例如
/opt/apigee/apigee-drupal/wwwroot。cd /opt/apigee/apigee-drupal/wwwroot
如要瞭解產品版本的預設目錄,請參閱「預設安裝目錄」。
- 備份 Drupal 資料庫執行個體。
pg_dump指令會建立資料庫副本:pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp
其中:
dbname指定入口網站安裝設定檔中PG_NAME屬性指定的資料庫名稱。host指定入口網站節點的 IP 位址。username指定入口網站用來存取資料庫的 Postgres 使用者名稱,如入口網站安裝設定檔中的DRUPAL_PG_USER屬性所指定。- 系統會提示您輸入 Postgres 使用者密碼,該密碼是由入口網站安裝設定檔中的
DRUPAL_PG_PASS屬性定義。
如果之後需要從備份還原,請使用下列指令:
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- 備份整個 Drupal 網站根目錄。預設安裝位置為 /opt/apigee/apigee-drupal,但您可能已變更。
如果不確定這個目錄的位置,請使用drush status指令,或在 Drupal 選單中依序點選「Configuration」>「Media」>「File」項目,判斷公開檔案系統和私人檔案系統路徑的位置 (用於下一個步驟)。 - 備份
/opt/apigee/data/apigee-drupal-devportal/private中的檔案。 - 將 Drupal 設為維護模式:
- 在 Drupal 選單中選取「Configuration」。
- 在「Configuration」(設定) 頁面中,選取「Development」(開發) 下方的「Maintenance mode」(維護模式)。
- 勾選「Put site into maintenance mode」方塊。
- 輸入使用者在維護期間看到的訊息。
- 選取「儲存設定」。
- 按照「安裝 Edge apigee-setup 公用程式」中的說明停用 SELinux。
- 切換至
/opt目錄:cd /opt
-
如要升級已連上網際網路連線的伺服器:
- 將 Edge 4.17.09
bootstrap_4.17.09.sh檔案下載至/tmp/bootstrap_4.17.09.sh:curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
- 安裝 Edge 4.17.09
apigee-service公用程式和依附元件:sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord
其中 uName:pWord 是您從 Apigee 取得的使用者名稱和密碼。如果省略 pWord,系統會提示您輸入。
根據預設,安裝程式會檢查您是否已安裝 Java 1.8。您可以使用「C」選項繼續操作,不需安裝 Java。
- 將 Edge 4.17.09
-
如要升級未連上網際網路連線的伺服器:
- 按照「安裝 Edge apigee-setup 公用程式」一文中的「建立本機 Apigee 存放區」一節所述,建立本機 4.17.09 存放區。
-
如要從 .tar 檔案安裝 apigee-service:
- 在本機存放區所在的節點上,使用下列指令將本機存放區封裝成名為
/opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz的單一 .tar 檔案:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- 將 .tar 檔案複製到要更新 Edge 的節點。例如,將其複製到新節點上的 /tmp 目錄。
- 在新節點上,將檔案解壓縮至 /tmp 目錄:
tar -xzf apigee-4.17.09.tar.gz
這個指令會在含有 .tar 檔案的目錄中,建立名為 repos 的新目錄。例如 /tmp/repos。
- 從
/tmp/repos安裝 Edgeapigee-service公用程式和依附元件:sudo bash /tmp/repos/bootstrap_4.17.09.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
請注意,您在這個指令中加入了 repos 目錄的路徑。
- 在本機存放區所在的節點上,使用下列指令將本機存放區封裝成名為
-
如要使用 Nginx 網路伺服器安裝 apigee-service:
- 按照「安裝 Edge apigee-setup 公用程式」一文中的「使用 Nginx 網路伺服器從存放區安裝」一節所述,設定 Nginx 網路伺服器。
- 在遠端節點上,將 Edge
bootstrap_4.17.09.sh檔案下載至/tmp/bootstrap_4.17.09.sh:/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
其中 uName:pWord 是您在上方為存放區設定的使用者名稱和密碼,remoteRepo 則是存放區節點的 IP 位址或 DNS 名稱。
- 在遠端節點上,安裝 Edge
apigee-service公用程式和依附元件:sudo bash /tmp/bootstrap_4.17.09.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
其中 uName:pWord 是存放區使用者名稱和密碼。
- 使用
apigee-service更新apigee-setup公用程式:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- 在節點上執行更新公用程式,更新 Postgres 資料庫:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
其中 configFile 是您用來安裝 Postgres 資料庫的設定檔。設定檔的唯一要求是「apigee」使用者必須能夠存取或讀取設定檔。
- 啟動 Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
- 在節點上執行更新公用程式,更新入口網站:
/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
其中 configFile 是您用來安裝入口網站的設定檔。設定檔的唯一要求是「apigee」使用者必須能夠存取或讀取設定檔。
- 在瀏覽器視窗中開啟下列網址,執行 Drupal 的
update.php指令碼:http://portalIP_DNS:8079/update.php
- 停用 Drupal 並進入維護模式:
- 在 Drupal 選單中選取「Configuration」。
- 在「Configuration」(設定) 頁面中,選取「Development」(開發) 下方的「Maintenance mode」(維護模式)。
- 取消勾選「將網站設為維護模式」方塊。
- 選取「儲存設定」。
請注意,更新後的根目錄為:
/opt/apigee/apigee-drupal/wwwroot
升級完成。