Developer Services Portal 4.17.05 版
本程序說明如何升級現有的 Apigee Developer Channel Services 地端部署安裝。
判斷正確的更新程序
更新入口網站的程序取決於目前的安裝方式:
- 如果安裝作業使用 Apache/MySQL 或 Apache/MariaDB,且系統已更新至 4.17.01,請參閱「使用 .tar 檔案升級入口網站」一節。
- 如果安裝作業使用新 4.17.01 安裝作業中的 Nginx/Postgres,請參閱「使用 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)
預設安裝目錄
升級程序假設開發人員入口網站安裝在:
- /opt/apigee/apigee-drupal (Nginx)
- /var/www/html (Apache)
如果您未在預設目錄中安裝入口網站,請修改下方程序中的路徑,改用安裝目錄。
如果您不知道安裝目錄,可以按照「常用的 Drush 指令」一文中的說明找出目錄。
從新的 4.17.01 安裝作業更新 Nginx/Postgres 後,新的預設安裝目錄
更新使用 Nginx/Postgres 的 4.17.01 新安裝版本後,根目錄會從以下位置變更:
/opt/apigee/apigee-drupal
改為下列程式碼:
/opt/apigee/apigee-drupal/wwwroot
支援的升級版本
下列入口網站版本支援這項升級程序:
- pantheon-14.02.x
- pantheon-14.03.x
- pantheon-14.04.x
- pantheon-14.07.x
- pantheon-15-01.x
- OPDK-15-04.x
- OPDK-15-07.x
- OPDK-16-01.x
- OPDK-16-05.x
- OPDK-16-09.x
- OPDK-17-01.x
如要判斷入口網站版本,請在瀏覽器中開啟下列網址:
http://yourportal.com/buildInfo
更新前
如果已安裝 Drupal,且曾修改 Drupal 核心或任何非自訂模組中的程式碼,系統會覆寫您所做的修改。包括您對 .htaccess 所做的任何變更。請假設 /sites 目錄以外的所有內容都屬於 Drupal。robots.txt 是這項規則的例外狀況;如果這個檔案位於網頁根目錄中,系統會為您保留。
繼續安裝前,請先備份整個 Drupal 網頁根目錄。執行下列安裝步驟後,即可從備份還原自訂項目。
使用 .tar 檔案升級入口網站
- 備份 Drupal MySQL/MariaDB 執行個體。
詳情請參閱 http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/- 方法 1:使用 Drush
Drush 指令 sql-dump 會建立資料庫副本。在 Drupal 目錄 (預設為 /var/www/html) 中執行下列指令:
> drush sql-dump > /path/to/backup_dir/database-backup.sql
如需更多資訊,請使用 drush help sql-dump。 - 方法 2:使用 MySQLdump
使用 mysqldump 指令建立資料庫副本:
mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql
-p 選項和密碼之間不應有空格。如果密碼含有特殊字元,則必須在密碼前後加上單引號。
您在安裝入口網站時設定了 USERNAME 和 DATABASENAME。兩者預設皆為 devportal。
- 方法 1:使用 Drush
- 備份整個 Drupal 網站根目錄。預設安裝位置為 /var/www/html,但您可能在安裝時變更了這個位置。
- 從 ftp.apigee.com 下載開發人員入口網站服務 DeveloperServices_x.y.z.tar 檔案,其中 x.y.z 對應至入口網站版本號碼。出現提示時,請輸入從 Apigee 取得的憑證。
您可以在瀏覽器中,透過 Apigee 傳送給您的連結下載檔案,也可以複製連結,然後將連結新增至下列 cURL 指令:
> curl -kOL <paste link here>
注意:如果入口網站位於未連上外部網際網路連線的伺服器,請在可存取網際網路連線的伺服器上執行這個步驟。
前往 Apigee Edge 支援,然後選取「Login to your Support Portal」,要求開發人員管道服務升級 .tar 檔案。如果您沒有支援入口網站帳戶,請選取 「Login to your Support Portal」(登入支援入口網站),然後在登入頁面選取 「In a hurry?」(趕時間嗎?)在這裡提交支援單。 -
如要升級已連上網際網路連線的伺服器:
- 擷取入口網站升級檔案:
> tar -xvf <tar file>
這個指令擷取作業會建立名為 DeveloperServices-4.x.y.z 的新目錄。 - 切換至 DeveloperServices-4.x.y.z 目錄。
- 使用下列指令下載最新版 Drupal:
> drush dl drupal
這個指令會建立名為 drupal-x.y 的目錄,其中 x.y 對應至目前的 Drupal 版本。 - 執行 networked-update.sh 指令碼:
> ./networked-update.sh
視檔案權限而定,您可能需要使用 sudo 執行這個指令,或以管理員身分執行。 - 如要接收 Drupal 更新通知,請確認已啟用 Drupal Update Manager 模組。在 Drupal 選單中選取「Modules」,然後向下捲動至「Update manager」模組。如果尚未啟用,請啟用。
啟用後,您可以使用「Reports」>「Available Updates」選單項目查看可用的更新。
依序點選「Reports」>「Available Updates」>「Settings」選單項目,即可設定模組在有可用更新時傳送電子郵件給您,以及設定檢查更新的頻率。
- 擷取入口網站升級檔案:
-
如要升級未連上網際網路連線的伺服器:
- 在下載開發人員管道服務 DeveloperServices_x.y.z.tar 檔案的伺服器上,解壓縮入口網站升級檔案:
> tar -xvf <tar file>
這個指令會建立名為 DeveloperServices-4.x.y.z 的新目錄。 - 切換至 DeveloperServices-4.x.y.z 目錄。
- 執行 non-networked-update.sh 指令碼:
> ./non-networked-update.sh
視檔案權限而定,您可能需要使用 sudo 執行這個指令,或以管理員身分執行。
這個指令會下載所有必要的更新檔案,並將這些檔案封裝成名為 devportal-update.tgz 的單一檔案,然後將檔案寫入您選擇的位置。 - 將 devportal-update.tgz 複製到執行入口網站的目標伺服器。
注意:請勿將 devportal-update.tgz 複製到目標伺服器的網頁根目錄。 - 將 devportal-update.tgz 檔案解壓縮至目前目錄:
> tar -xzf /path/to/devportal-update.tgz - 切換至 developer-update 目錄。
- 執行下列指令來安裝更新:
> ./install-update.sh - 回答提示訊息中的問題。
- 在下載開發人員管道服務 DeveloperServices_x.y.z.tar 檔案的伺服器上,解壓縮入口網站升級檔案:
升級完成。
使用 RPM 升級入口網站
請按照下列程序更新節點上的入口網站 RPM:
- 變更為 Drupal 目錄,預設為 /opt/apigee/apigee-drupal:
> cd /opt/apigee/apigee-drupal - 備份 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 中的檔案。
- 按照「安裝 Edge apigee-setup 公用程式」中的說明停用 SELinux。
-
如要升級已連上網際網路連線的伺服器:
- 下載 Edge 4.17.05 bootstrap_4.17.05.sh 檔案至 /tmp/bootstrap_4.17.05.sh:
> curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh - 安裝 Edge 4.17.05 apigee-service 公用程式和依附元件:
> sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord
其中 uName:pWord 是您從 Apigee 取得的使用者名稱和密碼。如果省略 pWord,系統會提示您輸入。
根據預設,安裝程式會檢查您是否已安裝 Java 1.8。您可以使用「C」選項繼續操作,不需安裝 Java。
- 下載 Edge 4.17.05 bootstrap_4.17.05.sh 檔案至 /tmp/bootstrap_4.17.05.sh:
-
如要升級未連上網際網路連線的伺服器:
- 按照「安裝 Edge apigee-setup 公用程式」一文中的「建立本機 Apigee 存放區」一節所述,建立本機 4.17.05 存放區。
注意:如果您已有 4.17.01 存放區,可以按照「安裝 Edge apigee-setup 公用程式」一文中的「更新本機 Apigee 存放區」一節所述,將 4.17.05 存放區新增至該存放區。 -
如要從 .tar 檔案安裝 apigee-service:
- 在本機存放區的節點上,使用下列指令將本機存放區封裝成單一 .tar 檔案,名為 /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package - 將 .tar 檔案複製到要更新 Edge 的節點。例如,將其複製到新節點上的 /tmp 目錄。
- 在新節點上,將檔案解壓縮至 /tmp 目錄:
> tar -xzf apigee-4.17.05.tar.gz
這個指令會在包含 .tar 檔案的目錄中建立名為 repos 的新目錄。例如 /tmp/repos。 - 從 /tmp/repos 安裝 Edge apigee-service 公用程式和依附元件:
> sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
請注意,您在這個指令中加入了 repos 目錄的路徑。
- 在本機存放區的節點上,使用下列指令將本機存放區封裝成單一 .tar 檔案,名為 /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
-
如要使用 Nginx 網路伺服器安裝 apigee-service:
- 按照「安裝 Edge apigee-setup 公用程式」一文中的「使用 Nginx 網路伺服器從存放區安裝」一節所述,設定 Nginx 網路伺服器。
- 在遠端節點上,將 Edge bootstrap_4.17.05.sh 檔案下載至 /tmp/bootstrap_4.17.05.sh:
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
其中 uName:pWord 是您在上方為存放區設定的使用者名稱和密碼,而 remoteRepo 是存放區節點的 IP 位址或 DNS 名稱。 - 在遠端節點上,安裝 Edge apigee-service 公用程式和依附元件:
> sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
其中 uName:pWord 是存放區使用者名稱和密碼。
- 按照「安裝 Edge apigee-setup 公用程式」一文中的「建立本機 Apigee 存放區」一節所述,建立本機 4.17.05 存放區。
- 使用 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」使用者必須能存取或讀取設定檔。
請注意,更新後的根目錄現在為:
/opt/apigee/apigee-drupal/wwwroot
升級完成。