升級開發人員入口網站

Developer Services Portal 4.17.05 版

這項程序說明如何升級現有的 Apigee 開發人員通路服務地端部署安裝。

決定正確的更新程序

您用來更新入口網站的程序會根據您目前的安裝版本而有所不同:

判斷目前的安裝類型

如果您不確定目前的安裝類型,請使用下列指令進行判斷:

  • ls /opt
    如果您使用 Nginx/Postgres,會看到下列目錄:/opt/apigee/opt/nginx

    如果您使用的是 Apache/MySQL 或 Apache/MariaDB,則不應出現這些目錄。
  • /opt/apigee/apigee-service/bin/apigee-all 狀態
    如果您使用 Nginx/Postgres,會看到下列輸出內容:

    + apigee-service apigee-drupal-devportal status
    ok: apigee-drupal-devportal status
    apigee-apigee-service apigee-post


  • 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 核心或任何非自訂模組中的任何程式碼,則修改內容會遭到覆寫。這包括您變更了 .htaccess 的任何變更。您應假設 /sites 目錄以外的內容均由 Drupal 所擁有。robots.txt 是例外狀況,如果這個檔案存在於網路根目錄,系統會為您保留該檔案。

繼續安裝之前,請先備份整個 Drupal 網路根目錄。執行以下安裝步驟後,您就可以從備份還原自訂內容。

使用 .tar 檔案升級入口網站

  1. 備份 Drupal MySQL/MariaDB 執行個體。
    詳情請參閱 http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/
    1. 選項 1:使用「Drush」

      「Drush」指令 sql-dump 會建立資料庫的副本。根據預設,在 Drupal 目錄中 /var/www/html 執行下列指令:
      > drush sql-dump > /path/to/backup_dir/database-backup.sql

      使用 drush help sql-dump 取得更多資訊。
    2. 選項 2:使用 MySQLdump
      使用 MySQLdump 指令建立資料庫副本:
      MySQLdump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      -p 選項和密碼之間不應有空格。如果密碼含有特殊字元,就必須用單引號括住密碼。

      您會在安裝入口網站時設定 USERNAMEDATABASENAME,根據預設,兩者皆為偵錯狀態。
  2. 備份整個 Drupal 網路根目錄。預設的安裝位置為 /var/www/html,但您可能在安裝時變更了位置。
  3. ftp.apigee.com 下載開發人員 Channel Services DeveloperServices_x.y.z.tar 檔案,其中 x.y.z 與入口網站版本號碼相應。出現提示時,輸入從 Apigee 取得的憑證。






    前往「Apigee Edge 支援」頁面,然後選取「登入您的支援入口網站」,要求升級開發人員通路服務 .tar 檔案。如果支援入口網站上沒有帳戶,請選取登入支援入口網站,然後在登入頁面選取「等不及了嗎?」。請按這裡提交支援單
  4. 在需要網際網路連線的伺服器中升級:
    1. 擷取入口網站升級檔案:
      > tar -xvf <tar file>

      這個指令會擷取為 DeveloperServices-4.x.y.z 的新目錄。
    2. 變更為 DeveloperServices-4.x.y.z 目錄。
    3. 使用下列指令下載最新版 Drupal:
      > drush dl drupal

      這個指令會建立名為 drupal-x.y 的目錄,其中 x.y 會對應至目前的 Drupal 版本。
    4. 執行 networked-update.sh 指令碼:
      > ./networked-update.sh

      視檔案權限而定,您可能需要使用 sudo 執行這個指令,或是以管理員身分執行這個指令。
    5. 如要接收 Drupal 更新通知,請確認已啟用 Drupal Update Manager 模組。在 Drupal 選單中選取「Modules」,然後向下捲動至「Update Manager」模組。如果尚未啟用,請啟用。

      啟用後,您可以前往「報表」>「可用的更新」選單項目,查看可用的更新。

      依序點選「報表」>「可用更新」>「設定」選單項目,即可設定模組,讓系統在有更新時寄送電子郵件通知您,以及設定更新頻率。
  5. 在沒有網際網路連線的伺服器中升級:
    1. 在下載 Developer Channel Services DeveloperServices_x.y.z.tar 檔案的伺服器上,擷取入口網站升級檔案:
      > tar -xvf <tar file>

      這個指令會擷取並建立名為 DeveloperServices-4.x.y.z 的新目錄。
    2. 變更為 DeveloperServices-4.x.y.z 目錄。
    3. 執行 non-networked-update.sh 指令碼:
      > ./non-networked-update.sh

      視檔案權限而定,您可能必須透過 sudo 執行這個指令,或是以管理員身分執行指令。

      這個指令會下載所有必要的更新檔案並封裝至名為 devportal-update.tgz 的單一檔案,然後將檔案寫入您選擇的位置。
    4. devportal-update.tgz 複製到目標伺服器,也就是執行入口網站的目標伺服器。
      注意:請勿devportal-update.tgz 複製到目標伺服器的網路根目錄。
    5. devportal-update.tgz 檔案解壓縮至目前的目錄:
      > tar -xzf /path/to/devportal-update.tgz
    6. 變更為 developer-update 目錄。
    7. 執行下列指令來安裝更新:
      > ./install-update.sh
    8. 回答提示問題。

升級完成。

使用 RPM 升級入口網站

請按照下列程序更新節點上的入口網站 RPM:

  1. 預設變更為 Drupal 目錄 (/opt/apigee/apigee-drupal
    > cd /opt/apigee/apigee-drupal
  2. 備份 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
  3. 備份整個 Drupal 網路根目錄。預設安裝位置為 /opt/apigee/apigee-drupal,但你可能變更了該位置。

    如果無法確定這個目錄的位置,請使用「Drush status」指令或「Drupal」選單中的「Configuration」>「Media」>「File」項目,確定公開檔案系統的位置和私人檔案系統路徑 (請參閱下一個步驟)。
  4. 備份 /opt/apigee/data/apigee-drupal-devportal/private 中的檔案。
  5. 按照安裝 Edge apigee-setup 公用程式的說明,停用 SELinux。
  6. 在需要網際網路連線的伺服器中升級:
    1. 將 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.17.05
    2. 安裝 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。
  7. 在沒有網際網路連線的伺服器中升級:
    1. 按照安裝 Edge apigee-setup 公用程式,按照「建立本機 Apigee 存放區」中的說明建立本機 4.17.05 存放區。
      注意事項:如果您目前已有 4.17.01 存放區,可按照安裝 Edge apigee-setup 公用程式中的「更新本機 Apigee 存放區」所述,新增 4.17.05 存放區。
    2. 如要從 .tar 檔案安裝 apigee-service
      1. 在本機存放區的節點上,使用下列指令將本機存放區封裝至名為 /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz 的.tar 檔案:
        /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz
      2. 將 .tar 檔案複製到您要更新 Edge 的節點。例如,將其複製到新節點上的 /tmp 目錄。
      3. 在新節點上,解壓縮檔案至 /tmp 目錄:
        > tar -xzf apigee-4.17.05.tar.gz

        這個指令會在包含 .tar 檔案的目錄中建立名為「存放區」的新目錄,例如 /tmp/repos。
      4. /tmp/repos 安裝 Edge apigee-service 公用程式和依附元件:
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        請注意,你可以在這個指令中加入存放區目錄的路徑。
    3. 如要使用 Nginx 網路伺服器安裝 apigee-service:
      1. 按照安裝 Edge apigee-setup 公用程式,按照「使用 Nginx 網路伺服器從存放區安裝」的說明設定 Nginx 網路伺服器。
      2. 在遠端節點上,將 bootstrap_4.17.05.sh 的 Edge bootstrap_4.17.05.sh 檔案下載至 /tmp/bootstrap_4.17.05.sh:
        > /usr/bin/curl http://uName:

      3. 在遠端節點中,安裝 Edge apigee-service 公用程式和依附元件:
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeeuser=uName apigeeuser=pWord 是密碼。

  8. 使用 apigee-service 更新 apigee-setup 公用程式:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup 更新
  9. 在節點上執行更新公用程式,更新 Postgres 資料庫:
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    其中 configFile 是您用來安裝 Postgres 資料庫的設定檔。設定檔的唯一規定是,設定檔必須可供「apigee」使用者存取或讀取。
  10. 啟動 Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. 在節點上執行更新公用程式以更新入口網站:
    > /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    其中 configFile 是您用來安裝入口網站的設定檔。設定檔的唯一規定是,設定檔必須可供「apigee」使用者存取或讀取。

請注意,更新後的根目錄現在如下:

/opt/apigee/apigee-drupal/wwwroot

升級完成。