Edge for Private Cloud v4.19.01
To install Edge on a node, you first install the Edge apigee-setup utility. If you are in an environment where your nodes do not have an external internet connection, you must also install a local copy of the Apigee repo.
Default installation directory: /opt/apigee
Edge installs all files in the /opt/apigee
directory. You cannot change this
directory. However, if desired, you can create a symlink to map /opt/apigee
to
another location. See Installation Requirements for more information.
Prerequisite: Disable SELinux
You must disable SELinux, or set it to permissive mode, before you can install Edge
apigee-setup
utility or any Edge
components. If necessary, after installing Edge, you can re-enable SELinux.
- To temporarily set SELinux to permissive mode, execute the following
command:
- On a Linux 6.x operating system:
sudo echo 0 > /selinux/enforce
To re-enable SELinux after installing Edge:
sudo echo 1 > /selinux/enforce
- On a Linux 7.x operating system:
sudo setenforce 0
To re-enable SELinux after installing Edge:
sudo setenforce 1
- On a Linux 6.x operating system:
- To permanently disable SELinux or set it to permissive mode:
- Open
/etc/sysconfig/selinux
in an editor. - Set
SELINUX=disabled
orSELINUX=permissive
- Save your edits.
- Restart the node.
- If necessary, re-enable SELinux after Edge installation by repeating this procedure to
set
SELINUX=enabled
.
- Open
Prerequisite: Enable EPEL repo
You must enable Extra Packages for Enterprise Linux (or EPEL) to install or update Edge, or to create a local repo. The command you use depends on your version of RedHat/CentOS:
- For RedHat/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
- For RedHat/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
Prerequisite: Check libdb4 library version on RedHat 7.4 and CentOS 7.4
On RedHat 7.4 and CentOS 7.4, check the version of the libdb4
RPMs before you install. Edge
requires version 4.8 and some versions of RedHat 7.4 and CentOS 7.4 ship with a
later version. If you have a later version, uninstall it and the Edge installer will
then install version 4.8.
You can use the following command to check your version:
rpm -qa | grep libdb4
If you see that the libdb4
RPM version is later than version 4.8, uninstall
it.
Install Edge apigee-setup utility on a node with an external internet connection
To install Edge on a node with an external internet connection:
- Obtain the username and password from Apigee that you use to access the Apigee repository. If you have an existing username:password for the Apigee ftp site, you can use those credentials.
- Log in to your node as root to install the Edge RPMs
- Install
yum-utils
andyum-plugin-priorities
:sudo yum install yum-utils
sudo yum install yum-plugin-priorities
- Disable SELinux as described above.
- Enable EPEL repo as described above.
- Check your version of
libdb4
as described above. - If you are installing on Oracle 7.x, run the following command:
sudo yum-config-manager --enable ol7_optional_latest
- If you are installing on AWS, run the following
yum-configure-manager
commands:yum update rh-amazon-rhui-client.noarch
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
- Download the Edge
bootstrap_4.19.01.sh
file to/tmp/bootstrap_4.19.01.sh
:curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
- Install the Edge apigee-service utility and dependencies:
sudo bash /tmp/bootstrap_4.19.01.sh apigeeuser=uName apigeepassword=pWord
Where uName:pWord are the username and password you received from Apigee. If you omit pWord, you will be prompted to enter it.
By default, the installer checks to see that you have Java 1.8 installed. If you do not, it installs it for you. Use the
JAVA_FIX
option to specify how to handle Java installation.JAVA_FIX
takes the following values:- I: Install OpenJDK 1.8 (default)
- C: Continue without installing Java
- Q: Quit. For this option, you have to install Java yourself.
The installation of the apigee-service utility creates the /etc/yum.repos.d/apigee.repo file that defines the Apigee repository. To view the definition file, use the command:
cat /etc/yum.repos.d/apigee.repo
To view the repo contents, use the command:
sudo yum -v repolist 'apigee*'
- Use apigee-service to install the apigee-setup utility:
/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Use apigee-setup to install and configure Edge components on the node. See Install Edge components on a node for more.
Install Edge apigee-setup utility on a node with no external internet connection
If your Edge nodes are behind a firewall, or in some other way are prohibited from accessing the internet, then you must create several repositories, or mirrors, that contain files you'll need during the install. Those mirrors must then be accessible to all nodes. Once created, nodes can then access these local mirrors to install Edge.
The Apigee Edge installation process for nodes with no internet connections requires access to the following local repos:
- Apigee Edge repo: As described in Create a local Apigee repository.
- Yum repo (for utilities such as
yum-utils
andyum-plugin-priorities
): Your ops team should be able to set this up for you. - Extra Packages for Enterprise Linux (or EPEL): Your ops team should be able to set this up for you.
Create a local Apigee repository
To create the internal Apigee repository, you do require a node with an external internet access to be able to download the Edge RPMs and dependencies. Once you have created the internal repo, you can then move it to another node or make that node accessible to the Edge nodes for installation.
After you create a local Apigee repository, you might later have to update it with the latest Edge release files. The following sections describe how to create a local Apigee repository, and how to update it.
To create a local Apigee repo:
- Obtain the username and password from Apigee that you use to access the Apigee repository. If you have an existing username:password for the Apigee ftp site, you can use those credentials.
- Log in to your node as root to install the Edge RPMs.
- Disable SELinux as described above.
- Download the Edge
bootstrap_4.19.01.sh
file to/tmp/bootstrap_4.19.01.sh
:curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
- Install the Edge apigee-service utility and dependencies:
sudo bash /tmp/bootstrap_4.19.01.sh apigeeuser=uName apigeepassword=pWord
Where uName:pWord are the username and password you received from Apigee. If you omit pWord, you will be prompted to enter it.
- Install the
apigee-mirror
utility on the node:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror install
- Use the
apigee-mirror
utility to sync the Apigee repo to the/opt/apigee/data/apigee-mirror/repos/
directory.To minimize the size of the repo, include the
--only-new-rpms
to download just the latest RPMs. You need approximately 1.6 GB of disk space for the download:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms
If you want to download the entire repo, including older RPMs, omit
--only-new-rpms
. You need approximately 6 GB of disk space for the full download:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync
You now have a local copy of the Apigee repo. The next section describes how to install the Edge
apigee-setup
utility from the local repo. -
(Optional) If you want to install Edge from the local repo onto the same
node that hosts the local repo, then you need to first run the following commands:
- Run
bootstrap_4.19.01.sh
from the local repo to install theapigee-service
utility:sudo bash /opt/apigee/data/apigee-mirror/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/opt/apigee/data/apigee-mirror/repos
- Use
apigee-service
to install theapigee-setup
utility:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Use
apigee-setup
to install and configure Edge components on the node. See Install Edge components on a node for more.
- Run
Install apigee-setup on a remote node from the local repo
You have two options for installing Edge from the local repo. You can either:
- Create a .tar file of the repo, copy the .tar file to a node, and then install Edge from the .tar file.
- Install a webserver on the node with the local repo so that other nodes can access it. Apigee provides the Nginx webserver for you to use, or you can use your own webserver.
Install from the .tar file
To install from the .tar file:
- On the node with the local repo, use the following command to package the local repo into a
single .tar file named
/opt/apigee/data/apigee-mirror/apigee-4.19.01.tar.gz
:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- Copy the .tar file to the node where you want to install Edge. For example, copy it to the
/tmp
directory on the new node. - On the new node, disable SELinux as described above.
- On the new node, be sure that you can access the local Yum utility repo and the EPEL repo.
- Double check that all external internet repos are disabled (this should be the case because
you are installing on a machine without internet access):
sudo yum repolist
All external repos should be disabled, but the local Apigee repo and your internal repos should be enabled.
- On the new node, install
yum-utils
andyum-plugin-priorities
from your local repo:sudo yum install yum-utils
sudo yum install yum-plugin-priorities
Your ops team or other group within your organization must set up a local repo for you to be able to install the Yum tools.
- On the new node, check your version of
libdb4
as described above. - If you are installing on Oracle 7.x, run the following command:
sudo yum-config-manager --enable ol7_optional_latest
- If you are installing on AWS, run the following
yum-configure-manager
command:sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
- On the new node, untar the file to the /tmp directory:
tar -xzf apigee-4.19.01.tar.gz
This command creates a new directory, named repos, in the directory containing the .tar file. For example
/tmp/repos.
- Install the Edge apigee-service utility and dependencies from
/tmp/repos
:sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
Notice that you include the path to the repos directory in this command.
- Use
apigee-service
to install theapigee-setup
utility:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Use
apigee-setup
to install and configure Edge components on the node. See Install Edge components on a node for more.
Install from the repo using the Nginx webserver
To install from the repo using the Nginx webserver:
- Install the Nginx webserver on the repo node:
opt/apigee/apigee-service/bin/apigee-service apigee-mirror nginxconfig
- By default, Nginx is configured to use localhost as the server name and port 3939. To
change these values:
- Open
/opt/apigee/customer/application/mirror.properties
in an editor. Create the file if it does not exist. - Set the following values as necessary:
conf_apigee_mirror_listen_port=3939 conf_apigee_mirror_server_name=localhost
- Restart Nginx:
/opt/nginx/scripts/apigee-nginx restart
- Open
- By default, the repo requires a username:password of
admin:admin
. To change these credentials, set the following environment variables:MIRROR_USERNAME=uName MIRROR_PASSWORD=pWord
- On the new node, install
yum-utils
andyum-plugin-priorities
:sudo yum install yum-utils
sudo yum install yum-plugin-priorities
- On the new node, disable SELinux as described above.
- On the new node, ensure that the local EPEL repo is enabled.
- On the new node, check your version of
libdb4
as described above. - On the remote node, download the Edge bootstrap_4.19.01.sh file to
/tmp/bootstrap_4.19.01.sh
:curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
Where uName:pWord are the username and password you set above for the repo, and remoteRepo is the IP address or DNS name of the repo node.
- On the remote node, install the Edge
apigee-service
utility and dependencies:sudo bash /tmp/bootstrap_4.19.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
Where uName:pWord are the repo username and password.
- On the remote node, use
apigee-service
to install theapigee-setup
utility:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Use
apigee-setup
to install and configure Edge components on the remote node. See Install Edge components on a node for more.
Update a local Apigee repository
To update the repo, you must download the latest bootstrap_4.19.01.sh file and then perform a new sync.
To update the repo:
- Download the Edge bootstrap_4.19.01.sh file to
/tmp/bootstrap_4.19.01.sh
:curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
- Run the Edge
bootstrap_4.19.01.sh
file:sudo bash/tmp/bootstrap_4.19.01.sh apigeeuser=uName apigeepassword=pWord
Where uName:pWord are the username and password you received from Apigee. If you omit pWord, you will be prompted to enter it.
- Update
apigee-mirror
:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror update
- Perform the sync:
/opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms
- If you want to entire repo:
/opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync
Clean a local Apigee repo
Cleaning the local repo deletes /opt/apigee/data/apigee-mirror and /var/tmp/yum-apigee-*.
To clean the local repo, use:
/opt/apigee/apigee-service/bin/apigee-service apigee-mirror clean
Add or update Edge 4.16.0x/4.17.0x in a 4.19.01 repo
If you have to maintain installations for Edge 4.16.0x or 4.17.0x in a 4.19.01 repo, you can maintain a repo that contains all versions. From that repo, you can then install any version of Edge.
To add 4.16.0x/4.17.0x to a 4.19.01 repo:
- Ensure that you have installed the 4.19.01 version of the
apigee-mirror
utility:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror version
You should see a result in the form below, where xyz is the build number:
apigee-mirror-4.19.01-0.0.xyz
- Use the
apigee-mirror
utility to download Edge 4.16.0x/4.17.0x to your repo. Notice how you prefix the command with the desired version:apigeereleasever=4.17.01 /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms
Use this same command to later update the 4.16.0x/4.17.0x repos by specifying the required version numbers.
- Examine the
/opt/apigee/data/apigee-mirror/repos
directory to see the file structure:ls /opt/apigee/data/apigee-mirror/repos
You should see the following files and directories:
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
Notice how you have a bootstrap file for all versions of Edge. The
apigee
directory also contains separate directories for each version of Edge. - To package the repo into a .tar file, use the following command:
apigeereleasever=4.17.01 /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
This command packages all the 4.17.0x and 4.16.0x repos into the same .tar file. You cannot package only part of the repo.
To install Edge from the local repo or .tar file, just make sure to run the correct bootstrap file by using one of the following commands. This example installs Edge 4.17.01:
- If installing from a .tar file, run the correct bootstrap file from the repo:
sudo bash /tmp/repos/bootstrap_4.17.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
To complete the installation, follow the remaining steps from "Install from the .tar file" above.
- If installing using the Nginx webserver, download and then run the correct bootstrap file
from the repo:
/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://
To complete the installation, follow the remaining steps from "Install from the repo using the Nginx webserver" above.