安裝 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=disabled 或 SELINUX=permissive
    3. 儲存編輯內容。
    4. 重新啟動節點。
    5. 如有需要,請在安裝 Edge 後重新啟用 SELinux,方法是重複這項程序,將 SELINUX=enabled 設為 1。

必要條件:啟用 EPEL 存放區

您必須啟用 Extra Packages for 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 身分登入節點,安裝 Edge RPM
  3. 安裝 yum-utils 和 yum-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.00.sh 檔案下載至 /tmp/bootstrap_4.52.00.sh:
    curl https://software.apigee.com/bootstrap_4.52.00.sh -o /tmp/bootstrap_4.52.00.sh
  11. 安裝 Edge apigee-service 公用程式和依附元件:
    sudo bash /tmp/bootstrap_4.52.00.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 公用程式時,系統會建立 /etc/yum.repos.d/apigee.repo 檔案,用於定義 Apigee 存放區。如要查看定義檔,請使用下列指令:

    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 存放區,您必須使用具備外部網際網路存取權的節點,才能下載 Edge RPM 和依附元件。建立內部存放區後,您可以將其移至其他節點,或讓 Edge 節點可以存取該節點以進行安裝。

建立本機 Apigee 存放區後,您可能需要使用最新的 Edge 版本檔案進行更新。以下各節說明如何建立及更新本機 Apigee 存放區。

建立本機 Apigee 存放區:

  1. 從 Apigee 取得您用來存取 Apigee 存放區的使用者名稱和密碼。如果您已有 Apigee FTP 網站的使用者名稱和密碼,可以使用這些憑證。
  2. 以 root 身分登入節點,安裝 Edge RPM。
  3. 按照上述步驟停用 SELinux。
  4. 將 Edge bootstrap_4.52.00.sh 檔案下載至 /tmp/bootstrap_4.52.00.sh:
    curl https://software.apigee.com/bootstrap_4.52.00.sh -o /tmp/bootstrap_4.52.00.sh
  5. 安裝 Edge apigee-service 公用程式和依附元件:
    sudo bash /tmp/bootstrap_4.52.00.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.00.sh,安裝 apigee-service 公用程式:
      sudo bash /opt/apigee/data/apigee-mirror/repos/bootstrap_4.52.00.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.00.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-utils 和 yum-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.00.tar.gz

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

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

    請注意,您在這個指令中加入了 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-utils 和 yum-plugin-priorities。
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities
  5. 按照上述步驟,在新節點上停用 SELinux。
  6. 在新節點上,確認已啟用本機 EPEL 存放區。
  7. 按照上述步驟,在新節點上檢查 libdb4 版本。
  8. 在遠端節點上,將 Edge bootstrap_4.52.00.sh 檔案下載至 /tmp/bootstrap_4.52.00.sh:
    curl http://uName:pWord@remoteRepo:3939/bootstrap_4.52.00.sh -o /tmp/bootstrap_4.52.00.sh

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

  9. 在遠端節點上,安裝 Edge apigee-service 公用程式和依附元件:
    sudo bash /tmp/bootstrap_4.52.00.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.00.sh 檔案,然後執行新的同步作業。

如要更新存放區,請按照下列步驟操作:

  1. 將 Edge bootstrap_4.52.00.sh 檔案下載至 /tmp/bootstrap_4.52.00.sh:
    curl https://software.apigee.com/bootstrap_4.52.00.sh -o /tmp/bootstrap_4.52.00.sh
  2. 執行 Edge bootstrap_4.52.00.sh 檔案:
    sudo bash/tmp/bootstrap_4.52.00.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.00 存放區中新增或更新 Edge 4.16.0x/4.17.0x

如要在 4.52.00 存放區中維護 Edge 4.16.0x 或 4.17.0x 的安裝作業,您可以維護包含所有版本的存放區。接著,您就可以從該存放區安裝任何版本的 Edge。

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

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

    您應該會看到以下格式的結果,其中 xyz 是版本號碼:

    apigee-mirror-4.52.00-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 都有一個啟動檔案。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 網路伺服器安裝,請從存放區下載並執行正確的啟動檔案:
    /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 網路伺服器從存放區安裝」一節中的其餘步驟操作。