Installing Nautobot Dependencies on CentOS/RHEL¶
This installation guide assumes that you are running CentOS or RHEL version 8.2+ on your system.
Install System Packages¶
Install the prerequisite system libraries and utilities.
This will install:
- Git
- Python 3
- Pip
- PostgreSQL database server and client
- Redis server and client
$ sudo dnf check-update
$ sudo dnf install -y git python38 python38-devel python38-pip postgresql-server redis
Database Setup¶
In this step you'll setup PostgreSQL, create a database and database user for use by Nautobot, and verify your connection to the database.
Initialize Postgres¶
CentOS/RHEL requires a manual step to generate the initial configurations required by PostgreSQL.
$ sudo postgresql-setup --initdb
Configure Authentication¶
CentOS/RHEL configures PostgreSQL to use ident
host-based authentication by default. Because Nautobot will need to authenticate using a username and password, we must update pg_hba.conf
to support md5
password authentication.
As root, edit /var/lib/pgsql/data/pg_hba.conf
and change ident
to md5
for the lines below.
Before:
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
After:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Start PostgreSQL¶
Start the service and enable it to run at system startup:
$ sudo systemctl enable --now postgresql
Create a Database¶
At a minimum, we need to create a database for Nautobot and assign it a username and password for authentication. This is done with the following commands.
Danger
Do not use the password from the example. Choose a strong, random password to ensure secure database authentication for your Nautobot installation.
$ sudo -u postgres psql
psql (10.15)
Type "help" for help.
postgres=# CREATE DATABASE nautobot;
CREATE DATABASE
postgres=# CREATE USER nautobot WITH PASSWORD 'insecure_password';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE nautobot TO nautobot;
GRANT
postgres=# \q
Verify Service Status¶
You can verify that authentication works issuing the following command and providing the configured password. (Replace localhost
with your database server if using a remote database.)
If successful, you will enter a nautobot
prompt. Type \conninfo
to confirm your connection, or type \q
to exit.
$ psql --username nautobot --password --host localhost nautobot
Password for user nautobot:
psql (10.15)
Type "help" for help.
nautobot=> \conninfo
You are connected to database "nautobot" as user "nautobot" on host "localhost" (address "127.0.0.1") at port "5432".
nautobot=> \q
Redis Setup¶
Start Redis¶
Start the service and enable it to run at system startup:
$ sudo systemctl enable --now redis
Verify Service Status¶
Use the redis-cli
utility to ensure the Redis service is functional:
$ redis-cli ping
PONG
Deploy Nautobot¶
Now that Nautobot dependencies are installed and configured, you're ready to Install Nautobot!