安裝 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 存放區

您必須啟用 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,請先執行下列步驟,再安裝 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-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.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. 以根權限登入節點,安裝邊緣 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。
  • 在節點上安裝本機存放區的 webserver,以便其他節點存取。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-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.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-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.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. 請確認您已安裝 apigee-mirror 公用程式的 4.52.00 版:
    /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 版本建立 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 網路伺服器從存放區安裝」中的步驟操作。