安裝 Edge apigee-setup 公用程式

如要在節點中安裝 Edge,請先安裝 Edge apigee-setup 公用程式。如果您所在環境中的節點沒有外部網際網路連線,您也必須安裝 Apigee 存放區的本機副本。

預設安裝目錄:/opt/apigee

Edge 會安裝 /opt/apigee 目錄中的所有檔案。您無法變更這個目錄。不過,您可以視需要建立符號連結,將 /opt/apigee 對應至其他位置。詳情請參閱安裝需求

必備條件:停用 SELinux

您必須先停用 SELinux 或將其設為寬容模式,才能安裝 Edge apigee-setup 公用程式或任何 Edge 元件。如有需要,您可以在安裝 Edge 後重新啟用 SELinux。

  • 如要「暫時」將 SELinux 設為寬鬆模式,請執行下列指令:
    • Linux 6.x 作業系統
      sudo echo 0 > /selinux/enforce

      如何在安裝 Edge 後重新啟用 SELinux:

      sudo echo 1 > /selinux/enforce
    • 在 Linux 7.x 作業系統上
      sudo setenforce 0

      如何在安裝 Edge 後重新啟用 SELinux:

      sudo setenforce 1
  • 如要「永久」停用 SELinux 或將其設為寬鬆模式:
    1. 在編輯器中開啟 /etc/sysconfig/selinux
    2. 設定 SELINUX=disabledSELINUX=permissive
    3. 儲存修改過的內容。
    4. 重新啟動節點。
    5. 如有需要,請在 Edge 安裝後重新啟用此程序來設定 SELINUX=enabled,以重新啟用 SELinux。

必備條件:啟用 EPEL 存放區

您必須啟用適用於 Enterprise Linux (或 EPEL) 的額外套件,才能安裝或更新 Edge,或是建立本機存放區。您使用的指令取決於您的 RedHat/CentOS 版本:

  • 如果是 Red Hat Enterprise Linux (RHEL) 8.0,請參閱 RHEL 8 的必要條件

  • 適用於 Red Hat/CentOS/Oracle 7.x:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    sudo rpm -ivh epel-release-latest-7.noarch.rpm
  • 適用於 Red Hat/CentOS/Oracle 6.x:
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
    sudo rpm -ivh epel-release-latest-6.noarch.rpm
  • 如為 AWS-2:
    sudo amazon-linux-extras install epel -y
    sudo yum-config-manager --enable epel

事前準備:檢查 RedHat 7.4 和 CentOS 7.4 上的 libdb4 程式庫版本

如果使用 RedHat 7.4 和 CentOS 7.4,請先檢查 libdb4 RPM 的版本,再進行安裝。Edge 需要 4.8 版,某些版本的 RedHat 7.4 和 CentOS 7.4 也會搭載較新版本。如果您使用的是較新版本,請解除安裝該版本,Edge 安裝程式則會安裝 4.8 版。

您可以使用下列指令檢查版本:

rpm -qa | grep libdb4

如果看到 libdb4 RPM 版本低於 4.8 版,請將其解除安裝。

RHEL 8 的必要條件

如要在執行 Red Hat Enterprise Linux (RHEL) 8 的伺服器上安裝 Edge,請在執行安裝之前執行下列步驟:

  1. 啟用「Extra Packages for Enterprise Linux (EPEL)」
    sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
  2. 停用 Postgres 和 Nginx:
    sudo dnf module disable postgresql
    sudo dnf module disable nginx
  3. 安裝 Python 2 並建立符號連結:
    sudo dnf install -y python2
    sudo ln -s /usr/bin/python2 /usr/bin/python

在具有外部網際網路連線的節點中安裝 Edge apigee-setup 公用程式

如何在有外部網際網路連線的節點上安裝 Edge:

  1. 從 Apigee 中取得用來存取 Apigee 存放區的使用者名稱和密碼。 如果您已有 Apigee ftp 網站適用的 username:password,可以使用這些憑證。
  2. 以 Root 權限登入節點來安裝邊緣 RPM
  3. 安裝 yum-utilsyum-plugin-priorities
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities
  4. 停用 SELinux
  5. 啟用 EPEL 存放區
  6. 檢查 libdb4 版本
  7. 如要在 RHEL 8 上安裝,請按照 RHEL 8 的必要條件中的步驟操作。
  8. 如果是在 Oracle 7.x 上安裝,請執行下列指令:
    sudo yum-config-manager --enable ol7_optional_latest
  9. 如果您要在 AWS 上安裝,請執行下列 yum-configure-manager 指令:
    yum update rh-amazon-rhui-client.noarch
    sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
  10. 將 Edge bootstrap_4.52.01.sh 檔案下載至 /tmp/bootstrap_4.52.01.sh
    curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh
  11. 安裝 Edge apigee-service 公用程式和依附元件:
    sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    其中 uName:pWord 是您從 Apigee 收到的使用者名稱和密碼。如果省略 pWord,系統會提示您輸入該驗證碼。

    根據預設,安裝程式會檢查您是否安裝了 Java 1.8。如果沒有,則會自動安裝。使用 JAVA_FIX 選項指定處理 Java 安裝的方式。JAVA_FIX 採用下列值:

    • I:安裝 OpenJDK 1.8 (預設)
    • C:繼續但不安裝 Java
    • 問:退出。如要使用這個選項,您必須自行安裝 Java。

    安裝 apigee-service 公用程式會建立定義 Apigee 存放區的 /etc/yum.repos.d/apigee.repo 檔案。如要查看定義檔案,請使用下列指令:

    cat /etc/yum.repos.d/apigee.repo

    如要查看存放區內容,請使用下列指令:

    sudo yum -v repolist 'apigee*'
  12. 使用 apigee-service 安裝 apigee-setup 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  13. 使用 apigee-setup,在節點上安裝及設定 Edge 元件。詳情請參閱「在節點上安裝 Edge 元件」。

疑難排解

嘗試在有外部網際網路連線的節點上安裝時,可能會遇到下列一或多項錯誤:

Cannot open: https:// : @ software.apigee.com//apigee-repo-version.rpm

bootstrap.sh: Error: Repo configuration failed

error: package package_name is not installed

下表列出這些錯誤的一些可能解決方法:

錯誤類型 可能的解決方法
密碼含有無效字元 請勿在 Apigee 密碼中使用特殊字元。
連線問題

執行下列 ncat 指令,測試網路連線:

nc -v software.apigee.com 443

您應該會看到類似下列內容的訊息:

Connection to software.apigee.com 443 port [tcp/https] succeeded!

如果您未安裝 nc,可以執行下列 telnet 指令:

telnet software.apigee.com 443

如果指令成功,請使用 CTRL+C 鍵取消已開啟的連線。

如果任一指令失敗,表示您的網路連線能力受限,或是沒有網路連線。請洽詢您的網路管理員。

憑證不正確

請確認您的使用者名稱和密碼正確無誤。

舉例來說,嘗試透過 Apigee 使用者名稱和密碼使用下列指令時,是否收到錯誤訊息:

curl -i -u username:password https://software.apigee.com/apigee-repo.rpm
Proxy 問題 您的本機設定使用輸出 HTTP Proxy,而且您尚未將相同的設定擴充至 yum 套件管理員。檢查您的環境變數:
echo $http_proxy
echo $https_proxy

如果是輸出 HTTP Proxy,則應使用下列其中一個選項:

  • /etc/yum.conf 中新增 HTTP Proxy 設定
  • /etc/environment 中新增全域 HTTP Proxy 設定

在沒有外部網際網路連線的節點中安裝 Edge apigee-setup 公用程式

如果您的 Edge 節點在防火牆後面,或透過其他方式禁止存取網際網路,您就必須建立幾個存放區 (或鏡射),這些存放區包含安裝期間所需的檔案。接著,所有節點都必須能夠存取這些鏡像。建立完成後,節點就能存取這些本機鏡像來安裝 Edge。

沒有網際網路連線的節點須存取下列本機存放區,才能透過 Apigee Edge 安裝程序:

建立本機 Apigee 存放區

如要建立內部 Apigee 存放區,您必須具備具備外部網際網路存取權的節點才能下載邊緣 RPM 和依附元件。建立內部存放區後,您可以將其移至其他節點,或是開放該節點供邊緣節點存取進行安裝。

建立本機 Apigee 存放區後,您可能需要使用最新的 Edge 發布檔案更新這個存放區。以下各節將說明如何建立本機 Apigee 存放區及更新方式。

如要建立本機 Apigee 存放區:

  1. 從 Apigee 中取得用來存取 Apigee 存放區的使用者名稱和密碼。 如果您已有 Apigee ftp 網站的使用者名稱:密碼,可以使用這些憑證。
  2. 以 Root 權限登入節點,安裝邊緣 RPM。
  3. 按照上述說明停用 SELinux。
  4. 將 Edge bootstrap_4.52.01.sh 檔案下載至 /tmp/bootstrap_4.52.01.sh
    curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh
  5. 安裝 Edge apigee-service 公用程式和依附元件:
    sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    其中 uName:pWord 是您從 Apigee 收到的使用者名稱和密碼。如果省略 pWord,系統會提示您輸入該驗證碼。

  6. 在節點上安裝 apigee-mirror 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror install
  7. 使用 apigee-mirror 公用程式,將 Apigee 存放區同步到 /opt/apigee/data/apigee-mirror/repos/ 目錄。

    如要最小化存放區的大小,請加入 --only-new-rpms 以只下載最新的 RPM。

  8. (選用) 如要將 Edge 從本機存放區安裝到代管本機存放區的同一個節點中,請先執行下列指令:
    1. 在本機存放區中執行 bootstrap_4.52.01.sh,即可安裝 apigee-service 公用程式:
      sudo bash /opt/apigee/data/apigee-mirror/repos/bootstrap_4.52.01.sh apigeeprotocol="file://" apigeerepobasepath=/opt/apigee/data/apigee-mirror/repos
    2. 使用 apigee-service 安裝 apigee-setup 公用程式:
      /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    3. 使用 apigee-setup 在節點上安裝及設定 Edge 元件。詳情請參閱「在節點上安裝 Edge 元件」。

從本機存放區的遠端節點中安裝 apigee-setup

有兩種方法可以從本機存放區安裝 Edge。你可以採取下列其中一種做法:

  • 建立存放區的 .tar 檔案、將 .tar 檔案複製到節點,然後從 .tar 檔案安裝 Edge。
  • 透過本機存放區在節點中安裝網路伺服器,讓其他節點存取該伺服器。Apigee 會提供 Nginx 網路伺服器供您使用,您也可以使用自己的網路伺服器。

從 .tar 檔案安裝

如何透過 .tar 檔案安裝:

  1. 在含有本機存放區的節點上,使用下列指令將本機存放區封裝成名為 /opt/apigee/data/apigee-mirror/apigee-4.52.01.tar.gz 的單一 .tar 檔案:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
  2. 將 .tar 檔案複製到要安裝 Edge 的節點。舉例來說,請將其複製到新節點的 /tmp 目錄。
  3. 在新節點上,按照上述說明停用 SELinux。
  4. 確認您可以在新節點上存取本機 Yum 公用程式存放區和 EPEL 存放區。
  5. 請仔細確認所有外部網際網路存放區是否都已停用 (因為您要安裝在沒有網際網路連線的機器上,應該會出現這種情況):
    sudo yum repolist

    建議您停用所有外部存放區,但應該啟用本機 Apigee 存放區和內部存放區。

  6. 在新節點上,從本機存放區安裝 yum-utilsyum-plugin-priorities
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities

    您的營運團隊或貴機構的其他群組必須設定本機存放區,您才能安裝 Yum 工具。

  7. 在新節點上,按照上述方式檢查「libdb4」的版本。
  8. 如果您是在 Oracle 7.x 上安裝,請執行下列指令:
    sudo yum-config-manager --enable ol7_optional_latest
  9. 如果您是在 AWS 上安裝,請執行下列 yum-configure-manager 指令:
    sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
  10. 在新節點上,將檔案解壓縮至 /tmp 目錄:
    tar -xzf apigee-4.52.01.tar.gz

    這個指令會在包含 .tar 檔案的目錄中,建立名為「repo」的新目錄。例如 /tmp/repos.

  11. /tmp/repos 安裝 Edge apigee-service 公用程式和依附元件:
    sudo bash /tmp/repos/bootstrap_4.52.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

    請注意,您會在這個指令中加入存放區目錄的路徑。

  12. 使用 apigee-service 安裝 apigee-setup 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  13. 使用 apigee-setup 在節點上安裝及設定 Edge 元件。詳情請參閱「在節點上安裝 Edge 元件」。

使用 Nginx 網路伺服器從存放區安裝

如何使用 Nginx 網路伺服器從存放區安裝:

  1. 在存放區節點中安裝 Nginx 網路伺服器:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror nginxconfig
  2. 根據預設,Nginx 會設定為使用 localhost 做為伺服器名稱和通訊埠 3939。如要變更這些值:
    1. 在編輯器中開啟 /opt/apigee/customer/application/mirror.properties。 建立檔案 (如果不存在)。
    2. 視需要設定以下值:
      conf_apigee_mirror_listen_port=3939
      conf_apigee_mirror_server_name=localhost
    3. 重新啟動 Nginx:
      /opt/nginx/scripts/apigee-nginx restart
  3. 根據預設,存放區需要 admin:admin 的使用者名稱:密碼。如要變更這些憑證,請設定下列環境變數:
    MIRROR_USERNAME=uName
    MIRROR_PASSWORD=pWord
  4. 在新節點上安裝 yum-utilsyum-plugin-priorities
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities
  5. 在新節點上,按照上述說明停用 SELinux。
  6. 在新節點上,確認已啟用本機 EPEL 存放區。
  7. 在新節點上,按照上述方式檢查「libdb4」的版本。
  8. 在遠端節點上,將 Edge bootstrap_4.52.01.sh 檔案下載至 /tmp/bootstrap_4.52.01.sh
    curl http://uName:pWord@remoteRepo:3939/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh

    其中 uName:pWord 是您之前為存放區設定的使用者名稱和密碼,remoteRepo 則是存放區節點的 IP 位址或 DNS 名稱。

  9. 在遠端節點上安裝 Edge apigee-service 公用程式和依附元件:
    sudo bash /tmp/bootstrap_4.52.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

    其中 uName:pWord 是存放區的使用者名稱和密碼。

  10. 在遠端節點上,使用 apigee-service 安裝 apigee-setup 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  11. 使用 apigee-setup 在遠端節點上安裝及設定 Edge 元件。詳情請參閱「在節點上安裝 Edge 元件」。

更新本機 Apigee 存放區

如要更新存放區,您必須下載最新的 bootstrap_4.52.01.sh 檔案,然後執行新的同步處理作業。

如何更新存放區:

  1. 將 Edge Bootstrap_4.52.01.sh 檔案下載至 /tmp/bootstrap_4.52.01.sh
    curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh
  2. 執行 Edge bootstrap_4.52.01.sh 檔案:
    sudo bash/tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    其中 uName:pWord 是您從 Apigee 收到的使用者名稱和密碼。如果省略 pWord,系統會提示您輸入該驗證碼。

  3. 更新「apigee-mirror」:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror update
  4. 執行同步處理作業:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms
  5. 如要整個存放區:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync

清除本機 Apigee 存放區

清理本機存放區會刪除 /opt/apigee/data/apigee-Mirror 和 /var/tmp/yum-apigee-*。

如要清除本機存放區,請使用:

/opt/apigee/apigee-service/bin/apigee-service apigee-mirror clean

在 4.52.01 存放區中新增或更新 Edge 4.16.0x/4.17.0x

如需在 4.52.01 存放區中維護 Edge 4.16.0x 或 4.17.0x 的安裝項目,您可以維護內含所有版本的存放區。然後透過該存放區安裝任何版本的 Edge。

如要將 4.16.0x/4.17.0x 新增至 4.52.01 存放區:

  1. 確認您已安裝 4.52.01 版的 apigee-mirror 公用程式:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mirror version

    您應該會看到下列形式的結果,其中 xyz 是版本編號:

    apigee-mirror-4.52.01-0.0.xyz
  2. 使用 apigee-mirror 公用程式將 Edge 4.16.0x/4.17.0x 下載到存放區。請注意,如何在指令前加上所需版本:
    apigeereleasever=4.17.01 /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms

    在稍後使用這項指令時,指定所需的版本號碼,藉此更新 4.16.0x/4.17.0x 存放區。

  3. 檢查 /opt/apigee/data/apigee-mirror/repos 目錄,查看檔案結構:
    ls /opt/apigee/data/apigee-mirror/repos

    您應該會看到下列檔案和目錄:

    apigee
    apigee-repo-1.0-6.x86_64.rpm
    bootstrap_4.16.01.sh
    bootstrap_4.16.05.sh
    bootstrap_4.17.01.sh
    bootstrap_4.17.05.sh
    bootstrap_4.17.09.sh
    bootstrap_4.18.01.sh
    bootstrap_4.18.05.sh
    bootstrap_4.19.01.sh
    thirdparty

    請注意,所有 Edge 版本都擁有 Bootstrap 檔案。apigee 目錄也包含每個 Edge 版本的獨立目錄。

  4. 如要將存放區封裝成 .tar 檔案,請使用下列指令:
    apigeereleasever=4.17.01 /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package

    這個指令會將所有 4.17.0x 和 4.16.0x 存放區封裝至同一個 .tar 檔案。您無法只封裝存放區的一部分。

如要從本機存放區或 .tar 檔案安裝 Edge,請務必透過下列其中一個指令執行正確的 Bootstrap 檔案。以下範例會安裝 Edge 4.17.01:

  • 如果是從 .tar 檔案安裝,請從存放區執行正確的 Bootstrap 檔案:
    sudo bash /tmp/repos/bootstrap_4.17.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

    如要完成安裝,請按照上方「從 .tar 檔案安裝檔案」中的步驟操作。

  • 如果您是使用 Nginx 網路伺服器進行安裝,請下載並執行存放區中的正確的 Bootstrap 檔案:
    /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.01.sh -o /tmp/bootstrap_4.17.01.sh
    sudo bash /tmp/bootstrap_4.17.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

    如要完成安裝,請按照上方「使用 Nginx 網路伺服器從存放區安裝」中的步驟操作。