GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer l'outil de documentation et de gestion du réseau NetBox sur Ubuntu 18.04 LTS

NetBox est un logiciel d'application Web gratuit et open source qui peut être utilisé pour gérer et documenter les réseaux informatiques. Il est spécialement conçu pour gérer l'adresse IP et l'infrastructure du centre de données via un navigateur Web. NetBox est écrit dans le framework Django Python et utilise PostgreSQL pour la base de données. Avec NetBox, vous pouvez facilement gérer et documenter les machines virtuelles et les clusters, les circuits de données, le réseau, la console et les connexions d'alimentation à partir d'un emplacement central.

Dans ce tutoriel, nous expliquerons comment installer NetBox sur le serveur Ubuntu 18.04.

Exigences

  • Un serveur exécutant Ubuntu 18.04.
  • Un mot de passe root est configuré sur votre serveur.

Mise en route

Tout d'abord, mettez à jour le package de votre système vers la dernière version avec la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois tous les packages mis à jour, redémarrez votre système pour appliquer toutes les modifications de configuration.

Ensuite, vous devrez installer les dépendances requises pour exécuter NetBox. Vous pouvez tous les installer avec la commande suivante :

apt-get install wget ca-certificates nginx supervisor git gcc python3 python3-dev python3-pip python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-dev unzip -y

Une fois toutes les dépendances installées, vous pouvez passer à l'étape suivante.

Installer et configurer PostgreSQL

Ensuite, vous devrez installer PostgreSQL sur votre serveur. Par défaut, la dernière version de PostgreSQL n'est pas disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous devrez donc ajouter le référentiel PostgreSQL à votre système.

Tout d'abord, téléchargez et ajoutez la clé GPG avec la commande suivante :

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

Ensuite, ajoutez le référentiel avec la commande suivante :

nano /etc/apt/sources.list.d/postgres.list

Ajoutez la ligne suivante :

deb http://apt.postgresql.org/pub/repos/apt/ xanial-pgdg main

Enregistrez et fermez le fichier. Ensuite, mettez à jour le référentiel et installez PostgreSQL avec la commande suivante :

apt-get update -y
apt-get install postgresql postgresql-contrib -y

Une fois installé, vérifiez l'état de PostgreSQL avec la commande suivante :

systemctl status postgresql

Vous devriez voir le résultat suivant :

? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2019-08-07 07:00:51 UTC; 23s ago
 Main PID: 13552 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 1098)
   CGroup: /system.slice/postgresql.service

Aug 07 07:00:50 hitesh systemd[1]: Starting PostgreSQL RDBMS...
Aug 07 07:00:51 hitesh systemd[1]: Started PostgreSQL RDBMS.

Ensuite, vous devrez créer une base de données et un utilisateur pour NetBox. Tout d'abord, connectez-vous au shell PostgreSQL avec la commande suivante :

su - postgres
[email protected]:~$ psql

Sortie :

psql (11.4 (Ubuntu 11.4-1.pgdg18.04+1))
Type "help" for help.

Ensuite, créez une base de données et un utilisateur pour NetBox avec la commande suivante :

postgres=# CREATE DATABASE netbox;
postgres=# CREATE USER netbox WITH PASSWORD 'password';

Ensuite, accordez tous les privilèges à la NetBox avec la commande suivante :

postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;

Enfin, quittez le shell PostgreSQL avec la commande suivante :

postgres=#exit

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer et configurer NetBox

Vous pouvez télécharger la dernière version de NetBox dans le répertoire /opt avec la commande suivante :

cd /opt
git clone -b master https://github.com/digitalocean/netbox.git

Ensuite, changez le répertoire en netbox et générez Django SECRET Key :

cd /opt/netbox/netbox/netbox/
./generate_secret_key.py

Vous devriez voir la clé générée dans la sortie suivante :

+XHR3o&7K6isFk^DLc2%[email protected](jwN#tfGbV=O1hgMU$

Ensuite, renommez le fichier de configuration par défaut avec la commande suivante :

mv configuration.example.py configuration.py

Ensuite, ouvrez le fichier de configuration et définissez les détails de votre base de données et votre clé secrète :

nano configuration.py

Effectuez les modifications suivantes :

#Replace your-server-ip with your server IP address:
# Example: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']
ALLOWED_HOSTS = ['your-server-ip']

# PostgreSQL database configuration.
DATABASE = {
    'NAME': 'netbox',         # Database name
    'USER': 'netbox',               # PostgreSQL username
    'PASSWORD': 'password',           # PostgreSQL password
    'HOST': 'localhost',      # Database server
    'PORT': '',               # Database port (leave blank for default)
}
SECRET_KEY = '+XHR3o&7K6isFk^DLc2%[email protected](jwN#tfGbV=O1hgMU$'

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, installez toutes les dépendances requises par NetBox avec la commande suivante :

pip3 install -r /opt/netbox/requirements.txt

Une fois installé, migrez la base de données avec la commande suivante :

cd /opt/netbox/netbox/
python3 manage.py migrate

Une fois la migration réussie, vous devriez voir le résultat suivant :

  Applying secrets.0004_tags... OK
  Applying secrets.0005_change_logging... OK
  Applying secrets.0006_custom_tag_models... OK
  Applying ipam.0021_vrf_ordering... OK
  Applying ipam.0022_tags... OK
  Applying ipam.0023_change_logging... OK
  Applying ipam.0024_vrf_allow_null_rd... OK
  Applying ipam.0025_custom_tag_models... OK
  Applying dcim.0067_device_type_remove_qualifiers... OK
  Applying dcim.0068_rack_new_fields... OK
  Applying dcim.0069_deprecate_nullablecharfield... OK
  Applying dcim.0070_custom_tag_models... OK
  Applying extras.0020_tag_data... OK
  Applying extras.0021_add_color_comments_changelog_to_tag... OK
  Applying dcim.0071_device_components_add_description... OK
  Applying dcim.0072_powerfeeds... OK
  Applying dcim.0073_interface_form_factor_to_type... OK
  Applying extras.0022_custom_links... OK
  Applying extras.0023_fix_tag_sequences... OK
  Applying ipam.0026_prefix_ordering_vrf_nulls_first... OK
  Applying ipam.0027_ipaddress_add_dns_name... OK
  Applying sessions.0001_initial... OK
  Applying taggit.0003_taggeditem_add_unique_index... OK
  Applying users.0001_api_tokens_squashed_0002_unicode_literals... OK
  Applying users.0003_token_permissions... OK

Ensuite, vous devrez créer un compte administrateur pour NetBox. Vous pouvez le faire avec la commande suivante :

python3 manage.py createsuperuser

Fournissez votre nom d'utilisateur et votre mot de passe d'administrateur et appuyez sur Entrée, vous devriez voir le résultat suivant :

Username (leave blank to use 'root'): netboxadmin
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.

Déplacez ensuite les fichiers statiques et chargez les données initiales avec la commande suivante :

python3 manage.py collectstatic
python3 manage.py loaddata initial_data

Installer et configurer Gunicorn pour NetBox

Ensuite, vous devrez installer Gunicorn pour NetBox. Vous pouvez l'installer avec la commande pip comme indiqué ci-dessous :

pip3 install gunicorn

Ensuite, créez un fichier de configuration Gunicorn pour NetBox avec la commande suivante :

nano /opt/netbox/gunicorn_config.py

Ajoutez les lignes suivantes :

command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = 'your-server-ip:8001'
workers = 3
user = 'www-data'

Enregistrez et fermez le fichier lorsque vous avez terminé.

Configurer le superviseur pour Netbox

Ensuite, vous devrez configurer Supervisor pour gérer le service NetBox. Vous pouvez le faire avec la commande suivante :

nano /etc/supervisor/conf.d/netbox.conf

Ajoutez les lignes suivantes :

[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-data

Enregistrez et fermez le fichier, puis redémarrez le service superviseur et activez-le après le redémarrage du système avec la commande suivante :

systemctl restart supervisor
systemctl enable supervisor

Vous pouvez également vérifier le service Superviseur avec la commande suivante :

systemctl status supervisor

Sortie :

? supervisor.service - Supervisor process control system for UNIX
   Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-07 07:13:26 UTC; 8s ago
     Docs: http://supervisord.org
  Process: 15013 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=0/SUCCESS)
 Main PID: 15015 (supervisord)
    Tasks: 5 (limit: 1098)
   CGroup: /system.slice/supervisor.service
           ??15015 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
           ??15037 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
           ??15042 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
           ??15043 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
           ??15044 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi

Aug 07 07:13:26 hitesh systemd[1]: Started Supervisor process control system for UNIX.
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,087 CRIT Supervisor running as root (no user in config file)
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,089 INFO Included extra file "/etc/supervisor/conf.d/netbox.conf" during parsing
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,117 INFO RPC interface 'supervisor' initialized
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,117 CRIT Server 'unix_http_server' running without any HTTP authentication check
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,118 INFO supervisord started with pid 15015
Aug 07 07:13:28 hitesh supervisord[15015]: 2019-08-07 07:13:28,123 INFO spawned: 'netbox' with pid 15037
Aug 07 07:13:29 hitesh supervisord[15015]: 2019-08-07 07:13:29,610 INFO success: netbox entered RUNNING state, process has st

Configurer Nginx pour NetBox

Ensuite, vous devrez configurer Nginx pour accéder à NetBox en utilisant le port 80. Pour ce faire, créez un fichier de configuration d'hôte virtuel avec la commande suivante :

nano /etc/nginx/sites-available/netbox

Ajoutez les lignes suivantes :

server {
    listen 80;
    server_name your-domain-name;
    client_max_body_size 25m;

    location /static/ {
        alias /opt/netbox/netbox/static/;
    }

    location / {
        proxy_pass http://your-server-ip:8001;
    }
}

Enregistrez et fermez le fichier. Ensuite, activez l'hôte virtuel avec la commande suivante :

ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/

Enfin, redémarrez le service Nginx pour appliquer toutes les modifications de configuration avec la commande suivante :

systemctl restart nginx

Accéder à l'interface Web NetBox

NetBox est maintenant installé et configuré, il est temps d'accéder à l'interface Web de NetBox.

Ouvrez votre navigateur Web et saisissez l'URL http://votre-domaine.com. Vous serez redirigé vers la page suivante :

Maintenant, cliquez sur Connexion bouton dans le coin supérieur droit. Vous devriez voir la page suivante :

Maintenant, fournissez votre nom d'utilisateur et votre mot de passe d'administrateur, puis cliquez sur Journal Dans bouton. Vous devriez voir le tableau de bord par défaut de NetBox sur la page suivante :

Toutes nos félicitations! vous avez installé et configuré avec succès NetBox sur le serveur Ubuntu 18.04. Vous pouvez maintenant gérer et documenter votre réseau et votre adresse IP à partir de l'emplacement central. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment installer l'outil de gestion de serveur Foreman sur Ubuntu 18.04 LTS

  2. Comment installer Postgresql et phpPgAdmin sur Ubuntu 15.04

  3. Comment installer Libreoffice 4.3 sur Ubuntu 12.04 et 14.04 LTS

  4. Comment installer Libreoffice 4.4 sur Ubuntu 15.04 et 14.04 LTS

  5. Comment installer Wireshark sur Ubuntu 16.04 LTS

Comment installer PHP 5.6, PHP 8.0 et PHP 8.1 sur Ubuntu 20.04 LTS

Comment installer uTorrent dans Ubuntu 16.04 LTS et Ubuntu 17.10

Comment installer et configurer PostgreSQL sur Ubuntu

Comment installer et configurer PostgreSQL avec phpPgAdmin sur Ubuntu 20.04 LTS

Comment installer PostgreSQL sur Ubuntu 18.04 LTS

Comment installer PostgreSQL sur Ubuntu 20.04 LTS