> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.itential.com/itential-gateway/4/rhel-8-install-20233-20232/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server. # Gateway 2023.3 and 2023.2 RHEL 8 install > Step-by-step guide for installing Itential Gateway on RHEL 8 for Gateway versions 2023.2 and 2023.3. The following is a step-by-step guide for installing Itential Gateway on RHEL 8. * If you're installing Gateway on a different platform, you need to install or compile Python 3.9. * After installing Python 3.9, follow the steps starting with [Set up directory and virtual environment](#set-up-directory-and-virtual-environment). > **Note** > > Refer to the [Gateway system requirements](/itential-gateway/4/system-requirements) for information on the software repository and registry credentials available for each Gateway installation method. #### Python packages for integration #### 2023.2.7 and later Starting with 2023.2.7, Gateway automatically installs the necessary Python packages for the following integrations: * GRPC * HashiCorp Vault * LDAP * Netconf * Netmiko * Nornir * Ansible No additional steps are required. #### 2023.2.0–2023.2.6 In releases 2023.2.0–2023.2.6, Gateway doesn't install Python packages for the following optional integrations. You must install them manually. > **Note** > > This doesn't affect upgrades, as the required packages should already be installed. For new installs, if you enable one of the following integrations without installing the required package, Gateway won't start and displays an error message listing the missing packages. Install the required package in the virtual environment that Gateway is running in. ### GRPC ```bash python3 -m pip install pygnmi==0.8.9 grpcio==1.53.0 ``` ### HashiCorp Vault ```bash python3 -m pip install hvac==1.0.2 ``` ### LDAP ```bash python3 -m pip install ldap3==2.9.1 flask-ldap3-login==0.9.18 ``` ### Netconf ```bash python3 -m pip install ncclient==0.6.10 ``` ### Netmiko ```bash python3 -m pip install netmiko==4.1.2 ``` ### Nornir ```bash python3 -m pip install nornir==3.3.0 nornir-netmiko==0.2.0 nornir-utils==0.2.0 ``` If you try to enable an integration that hasn't been installed, Gateway displays an error message. #### Root access This method requires root access on the server where you're installing Gateway. ```bash sudo su ``` #### Install system packages ```bash dnf -y install python39 python39-devel make gcc-c++ ``` #### Set up directory and virtual environment ```bash mkdir /opt/automation-gateway cd /opt/automation-gateway python3.9 -m venv .venv ``` Activate the virtual environment for your current session. ```bash source /opt/automation-gateway/.venv/bin/activate ``` > **Warning** > > All following commands must be run in the virtual environment. #### Include the virtual environment in default shell This step is optional but recommended. It activates the virtual environment for every shell you open. ```bash echo source /opt/automation-gateway/.venv/bin/activate > /etc/profile.d/venv.sh ``` #### Install Itential Gateway Work with your Itential account manager to obtain the `whl` file and place it in `/tmp` on the Gateway server. Replace `` with the version of Gateway you're installing. For example: `pip install /tmp/automation_gateway-3.198.19+2022.1.8-py3-none-any.whl` ```bash pip install /tmp/automation_gateway--py3-none-any.whl ``` #### Install Ansible ```bash pip install ansible==2.10.7 ``` #### Install Terraform (optional) ```bash yum install -y yum-utils yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo yum -y install terraform ``` If the above commands don't work on your platform, download Terraform directly: [Install Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli). #### Configure the service The following configurations can be adjusted for your environment. By default, Gateway runs using [gunicorn](https://gunicorn.org/). You can add a front-end HTTP server such as [NGINX](https://www.nginx.com/) or [HAProxy](https://www.haproxy.org/) in front of this service configuration. Configurations for NGINX and HAProxy are outside the scope of this documentation. ### Create user Create a user to run automation-gateway with gunicorn. ```bash useradd itential ``` ### Set up folders ```bash mkdir /var/lib/automation-gateway mkdir /etc/automation-gateway chown itential /var/lib/automation-gateway ``` #### Configure Itential Gateway Copy the configuration file included in the release and modify it for your environment. ```bash cp \ /opt/automation-gateway/.venv/lib64/python3.9/site-packages/automation_gateway/properties.yml \ /etc/automation-gateway/properties.yml ``` Open the following file in a text editor and update any settings that differ from the defaults for your environment. ```bash /etc/automation-gateway/properties.yml ``` #### Configure systemd Create the following file in a text editor. ```bash /etc/systemd/system/automation-gateway.service ``` Add the following default configuration. ```ini [Unit] Description=Itential Gateway After=network.target [Service] User=itential Restart=always Type=simple ExecStart=/opt/automation-gateway/.venv/bin/automation-gateway --properties-file=/etc/automation-gateway/properties.yml WorkingDirectory=/tmp Environment=MAX_EVENT_RES=15000000 Environment=PATH=/opt/automation-gateway/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [Install] WantedBy=multi-user.target ``` Enable automation-gateway on boot and start the service. ```bash systemctl enable automation-gateway systemctl daemon-reload systemctl start automation-gateway ``` ### Check service status ```bash systemctl status automation-gateway ``` ### Open Gateway in a browser Replace `server` with the hostname of the server where you installed Gateway. | | | | ---------------- | --------------------- | | URL | `http://server:8083/` | | Default username | `admin@itential` | | Default password | `admin` | ### Install additional content Install custom content, playbooks, and scripts to use with Gateway. ```bash # Create the custom content directories to match your configuration (below is default) mkdir -p /usr/share/automation-gateway/ansible/inventory \ /usr/share/automation-gateway/ansible/modules \ /usr/share/automation-gateway/ansible/roles \ /usr/share/automation-gateway/ansible/collections \ /usr/share/automation-gateway/ansible/playbooks \ /usr/share/automation-gateway/nornir/modules \ /usr/share/automation-gateway/scripts \ /usr/share/automation-gateway/terraform chown -R itential /usr/share/automation-gateway/ ``` ## Folders and files By default, Gateway uses the following folders and files. ```text | ├── /etc/automation-gateway/ │ └── properties.yaml # Main configuration | (most settings are configured in UI after initial startup) ├── /opt/automation-gateway/ | └── .venv/ # Python virtual environment | └── lib/python3.9/site-packages/ | └── automation_gateway/ # Where automation gateway source is installed | ├── /var/lib/automation-gateway/ | ├── automation-gateway.db # Main SQLite database | ├── automation-gateway_audit.db # Audit logs | ├── automation-gateway_exec_history.db # Exec history logs | └── automation-gateway.log # Server logs | └── /usr/share/automation-gateway/ ├── ansible/ # Custom Ansible content ├── nornir/ # Custom Nornir content ├── scripts/ # Custom scripts content └── terraform/ # Custom Terraform content ``` > Step-by-step guide for installing Itential Gateway on RHEL 8 for Gateway versions 2023.2 and 2023.3.