如需在节点上安装 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
- 在 Linux 6.x 操作系统上:
- 要永久停用 SELinux 或将其设为宽容模式,请执行以下操作:
- 在编辑器中打开
/etc/sysconfig/selinux
。 - 设置
SELINUX=disabled
或SELINUX=permissive
- 保存所做的修改。
- 重启节点。
- 如有必要,请在 Edge 安装后重新启用 SELinux,方法是重复此过程来设置
SELINUX=enabled
。
- 在编辑器中打开
前提条件:启用 EPEL 代码库
您必须启用适用于企业 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,请在执行安装之前执行以下步骤:
- 启用适用于企业 Linux (EPEL) 的额外软件包:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
- 停用 Postgres 和 Nginx:
sudo dnf module disable postgresql
sudo dnf module disable nginx
- 安装 Python 2 并创建符号链接:
sudo dnf install -y python2
sudo ln -s /usr/bin/python2 /usr/bin/python
在具有外部互联网连接的节点上安装 Edge apigee-setup 实用程序
如需在具有外部互联网连接的节点上安装 Edge,请执行以下操作:
- 从 Apigee 获取用于访问 Apigee 代码库的用户名和密码。 如果您已有 Apigee FTP 站点的 username:password,则可以使用这些凭据。
- 以根用户身份登录您的节点以安装 Edge RPM
- 安装
yum-utils
和yum-plugin-priorities
。sudo yum install yum-utils
sudo yum install yum-plugin-priorities
- 停用 SELinux。
- 启用 EPEL 代码库。
- 检查您的
libdb4
版本。 - 如果要在 RHEL 8 上安装,请按照 RHEL 8 前提条件中的步骤操作。
- 如果要在 Oracle 7.x 上安装,请运行以下命令:
sudo yum-config-manager --enable ol7_optional_latest
- 如果要在 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
- 将 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
- 安装 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*'
- 使用 apigee-service 安装 apigee-setup 实用程序:
/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- 使用 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 密码中使用特殊字符。 |
连接问题 | 执行以下 nc -v software.apigee.com 443 您应该会看到类似如下所示的消息: Connection to software.apigee.com 443 port [tcp/https] succeeded! 如果您未安装 telnet software.apigee.com 443 如果命令成功,您可以使用 CTRL+C 取消打开的连接。 如果任一命令失败,则表示您的网络连接有限或没有网络连接。请与您的网络管理员联系。 |
凭据不正确 | 确保您的用户名和密码正确无误。 例如,检查您是否在尝试使用以下命令搭配 Apigee 用户名和密码时收到错误: curl -i -u username:password https://software.apigee.com/apigee-repo.rpm |
代理问题 | 您的本地配置使用出站流量 HTTP 代理,并且您没有将同一配置扩展到 yum 软件包管理器。检查您的环境变量:
echo $http_proxy
对于出站 HTTP 代理,您应该使用以下选项之一:
|
在没有外部互联网连接的节点上安装 Edge apigee-setup 实用程序
如果您的 Edge 节点设有防火墙,或者以其他方式被禁止访问互联网,那么您必须创建多个代码库或镜像,其中包含安装期间所需的文件。然后,所有节点都必须可以访问这些镜像。创建后,节点可以访问这些本地镜像以安装 Edge。
没有互联网连接的节点的 Apigee Edge 安装过程需要访问以下本地代码库:
- Apigee Edge 代码库:如创建本地 Apigee 代码库中所述。
- Yum repo(适用于
yum-utils
和yum-plugin-priorities
等实用程序):您的运维团队应该能够为您进行设置。 - 适用于企业 Linux(或 EPEL)的额外软件包:您的运营团队应该能够为您设置。
创建本地 Apigee 代码库
如需创建内部 Apigee 代码库,您需要一个具有外部互联网访问权限的节点才能下载 Edge RPM 和依赖项。创建内部代码库后,您可以将其移动到另一个节点,或使该节点可供 Edge 节点访问,以便进行安装。
创建本地 Apigee 代码库后,您稍后可能必须使用最新的 Edge 版本文件对其进行更新。以下部分介绍了如何创建本地 Apigee 代码库以及如何更新该代码库。
如需创建本地 Apigee 代码库,请执行以下操作:
- 从 Apigee 获取用于访问 Apigee 代码库的用户名和密码。 如果您已有 Apigee FTP 网站的“username:password”,则可以使用这些凭据。
- 以根用户身份登录节点以安装 Edge RPM。
- 按上述方法停用 SELinux。
- 将 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
- 安装 Edge apigee-service 实用程序和依赖项:
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
其中,uName:pWord 是您从 Apigee 收到的用户名和密码。如果省略 pWord,系统会提示您输入。
- 在节点上安装
apigee-mirror
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror install
- 使用
apigee-mirror
实用程序将 Apigee 代码库同步到/opt/apigee/data/apigee-mirror/repos/
目录。为了最大限度地缩减代码库的大小,请添加
--only-new-rpms
以仅下载最新的 RPM。 -
(可选)如果要将来自本地代码库的 Edge 安装到托管本地代码库的同一节点上,则需要先运行以下命令:
- 从本地代码库运行
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
- 使用
apigee-service
安装apigee-setup
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- 使用
apigee-setup
在节点上安装和配置 Edge 组件。如需了解详情,请参阅在节点上安装 Edge 组件。
- 从本地代码库运行
从本地代码库的远程节点上安装 apigee-setup
您可以通过两种方法从本地代码库安装 Edge。您可以选择以下任一解决办法:
- 创建代码库的 .tar 文件,将 .tar 文件复制到节点,然后从 .tar 文件安装 Edge。
- 在具有本地代码库的节点上安装 Web 服务器,以便其他节点可以访问该服务器。Apigee 提供 Nginx Web 服务器供您使用,您也可以使用自己的 Web 服务器。
通过 .tar 文件安装
如需通过 .tar 文件进行安装,请执行以下操作:
- 在包含本地代码库的节点上,使用以下命令将本地代码库打包到名为
/opt/apigee/data/apigee-mirror/apigee-4.52.01.tar.gz
的单个 .tar 文件中:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- 将 .tar 文件复制到您要安装 Edge 的节点。例如,将其复制到新节点上的
/tmp
目录。 - 在新节点上,如上所述停用 SELinux。
- 在新节点上,确保您可以访问本地 Yum 实用程序代码库和 EPEL 代码库。
- 仔细检查所有外部互联网代码库是否已停用(这种情况的原因是您安装在无法访问互联网的机器上):
sudo yum repolist
所有外部代码库都应停用,但本地 Apigee 代码库和内部代码库应启用。
- 在新节点上,从本地代码库安装
yum-utils
和yum-plugin-priorities
。sudo yum install yum-utils
sudo yum install yum-plugin-priorities
您的运维团队或组织中的其他团队必须设置本地代码库,您才能安装 Yum 工具。
- 在新节点上,按上文所述检查您的
libdb4
版本。 - 如果要在 Oracle 7.x 上安装,请运行以下命令:
sudo yum-config-manager --enable ol7_optional_latest
- 如果您要在 AWS 上安装,请运行以下
yum-configure-manager
命令:sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
- 在新节点上,将文件解压缩到 /tmp 目录:
tar -xzf apigee-4.52.01.tar.gz
此命令会在包含 .tar 文件的目录中创建一个名为 repos 的新目录。例如
/tmp/repos.
- 从
/tmp/repos
安装 Edge apigee-service 实用程序和依赖项:sudo bash /tmp/repos/bootstrap_4.52.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
请注意,您在此命令中添加了 repos 目录的路径。
- 使用
apigee-service
安装apigee-setup
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- 使用
apigee-setup
在节点上安装和配置 Edge 组件。如需了解详情,请参阅在节点上安装 Edge 组件。
使用 Nginx Web 服务器从代码库安装
如需使用 Nginx Web 服务器从代码库进行安装,请执行以下操作:
- 在代码库节点上安装 Nginx Web 服务器:
/opt/apigee/apigee-service/bin/apigee-service apigee-mirror nginxconfig
- 默认情况下,Nginx 配置为使用本地主机作为服务器名称和端口 3939。如需更改这些值,请执行以下操作:
- 在编辑器中打开
/opt/apigee/customer/application/mirror.properties
。 如果该文件不存在,请创建一个。 - 根据需要设置以下值:
conf_apigee_mirror_listen_port=3939 conf_apigee_mirror_server_name=localhost
- 重启 Nginx:
/opt/nginx/scripts/apigee-nginx restart
- 在编辑器中打开
- 默认情况下,代码库要求“用户名:密码”为
admin:admin
。如需更改这些凭据,请设置以下环境变量:MIRROR_USERNAME=uName MIRROR_PASSWORD=pWord
- 在新节点上,安装
yum-utils
和yum-plugin-priorities
。sudo yum install yum-utils
sudo yum install yum-plugin-priorities
- 在新节点上,如上所述停用 SELinux。
- 在新节点上,确保已启用本地 EPEL 代码库。
- 在新节点上,按上文所述检查您的
libdb4
版本。 - 在远程节点上,将 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 名称。
- 在远程节点上,安装 Edge
apigee-service
实用程序和依赖项:sudo bash /tmp/bootstrap_4.52.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
其中,uName:pWord 是代码库用户名和密码。
- 在远程节点上,使用
apigee-service
安装apigee-setup
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- 使用
apigee-setup
在远程节点上安装和配置 Edge 组件。如需了解详情,请参阅在节点上安装 Edge 组件。
更新本地 Apigee 代码库
如需更新代码库,您必须下载最新的 bootstrap_4.52.01.sh 文件,然后执行新的同步。
如需更新代码库,请执行以下操作:
- 将 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
- 运行 Edge
bootstrap_4.52.01.sh
文件:sudo bash/tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
其中,uName:pWord 是您从 Apigee 收到的用户名和密码。如果省略 pWord,系统会提示您输入。
- 更新
apigee-mirror
:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror update
- 执行同步:
/opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms
- 如果您要整个代码库:
/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 代码库中,请执行以下操作:
- 确保您已安装 4.52.01 版本的
apigee-mirror
实用程序:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror version
您应该会看到如下形式的结果,其中 xyz 是 build 号:
apigee-mirror-4.52.01-0.0.xyz
- 使用
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 代码库。
- 检查
/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 版本的单独目录。 - 如需将代码库打包到 .tar 文件中,请使用以下命令:
apigeereleasever=4.17.01 /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
此命令将所有 4.17.0x 和 4.16.0x 代码库打包到同一 .tar 文件中。您不能只打包代码库的一部分。
如需通过本地代码库或 .tar 文件安装 Edge,只需确保使用以下命令之一运行正确的引导文件即可。以下示例会安装 Edge 4.17.01:
- 如果通过 .tar 文件进行安装,请从代码库中运行正确的引导文件:
sudo bash /tmp/repos/bootstrap_4.17.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
如需完成安装,请按照上文“通过 .tar 文件安装”中的其余步骤进行操作。
- 如果使用 Nginx Web 服务器进行安装,请从代码库中下载,然后运行正确的引导文件:
/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 Web 服务器从代码库安装”中的其余步骤操作。