In this tutorial, we will guide you through the process of installing Netbox on a Fedora Server Latest.
Before proceeding with the installation, make sure that you have the following prerequisites:
It's a good practice to update the system before installing any new package. Run the following command to update the system:
sudo dnf update
Use the following command to install the packages required for Netbox.
sudo dnf install -y git vim-enhanced nginx postgresql-server postgresql-devel postgresql-contrib python3-pip supervisor
Clone the Netbox repository from Github using Git:
git clone -b master https://github.com/digitalocean/netbox.git
Once the repository is cloned, cd into the netbox directory and install the required packages using pip:
cd netbox
sudo pip3 install -r requirements.txt
Start the PostgreSQL service and create a new database and user for Netbox:
sudo systemctl start postgresql.service
sudo -u postgres psql
CREATE DATABASE netbox;
CREATE USER netboxuser WITH PASSWORD 'password123';
GRANT ALL PRIVILEGES ON DATABASE netbox TO netboxuser;
The username and password can be changed based on your preference.
Copy the sample configuration file to the actual configuration file:
cd netbox/netbox
cp configuration.example.py configuration.py
Edit the configuration file and change the following values:
ALLOWED_HOSTS = ['your_domain_or_ip_address']
DATABASE = {
'NAME': 'netbox',
'USER': 'netboxuser',
'PASSWORD': 'password123',
'HOST': 'localhost',
'PORT': '',
'CONN_MAX_AGE': 300,
}
Run the following command to initialize the database:
python3 manage.py migrate
Run the following command to create a superuser:
python3 manage.py createsuperuser
Create a Systemd service file for Netbox and Nginx:
sudo nano /etc/systemd/system/netbox.service
Add the following configuration:
[Unit]
Description=Netbox
After=network.target
[Service]
User=root
WorkingDirectory=/opt/netbox/netbox
Environment="DJANGO_SETTINGS_MODULE=netbox.settings"
ExecStart=/bin/bash -c '/usr/bin/python3 /opt/netbox/netbox/manage.py runserver 0.0.0.0:8000'
Restart=always
[Install]
WantedBy=multi-user.target
Save and close the file.
Create another service file for Nginx:
sudo nano /etc/systemd/system/nginx.service
Add the following configuration:
[Unit]
Description=nginx
After=network.target
[Service]
User=root
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
Save and close the file.
Finally, start the services:
sudo systemctl daemon-reload
sudo systemctl enable netbox.service nginx.service supervisord.service
sudo systemctl start netbox.service nginx.service supervisord.service
Open your web browser and go to http://your_domain_or_ip_address:8000. You should see the Netbox login page. Use the superuser credentials that you created earlier to log in.
Congratulations! You have successfully installed Netbox on a Fedora Server Latest. You can now start using Netbox to manage your network infrastructure.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!