GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare NetBox Network Documentation and Management Tool su Ubuntu 18.04 LTS

NetBox è un software applicativo web gratuito e opensource che può essere utilizzato per gestire e documentare reti di computer. È appositamente progettato per gestire l'indirizzo IP e l'infrastruttura del data center tramite un browser web. NetBox è scritto nel framework Django Python e utilizza PostgreSQL per il database. Con NetBox puoi gestire e documentare facilmente macchine virtuali e cluster, circuiti dati, rete, console e connessioni di alimentazione dalla posizione centrale.

In questo tutorial spiegheremo come installare NetBox sul server Ubuntu 18.04.

Requisiti

  • Un server che esegue Ubuntu 18.04.
  • È stata impostata una password di root sul tuo server.

Per iniziare

Innanzitutto, aggiorna il pacchetto del tuo sistema all'ultima versione con il seguente comando:

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

Una volta aggiornati tutti i pacchetti, riavvia il sistema per applicare tutte le modifiche alla configurazione.

Successivamente, dovrai installare le dipendenze necessarie per eseguire NetBox. Puoi installarli tutti con il seguente comando:

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

Una volta installate tutte le dipendenze, puoi procedere al passaggio successivo.

Installa e configura PostgreSQL

Successivamente, dovrai installare PostgreSQL sul tuo server. Per impostazione predefinita, l'ultima versione di PostgreSQL non è disponibile nel repository predefinito di Ubuntu 18.04. Quindi, dovrai aggiungere il repository PostgreSQL al tuo sistema.

Innanzitutto, scarica e aggiungi la chiave GPG con il seguente comando:

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

Successivamente, aggiungi il repository con il seguente comando:

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

Aggiungi la seguente riga:

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

Salva e chiudi il file. Quindi, aggiorna il repository e installa PostgreSQL con il seguente comando:

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

Una volta installato, controlla lo stato di PostgreSQL con il seguente comando:

systemctl status postgresql

Dovresti vedere il seguente output:

? 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.

Successivamente, dovrai creare un database e un utente per NetBox. Innanzitutto, accedi alla shell di PostgreSQL con il seguente comando:

su - postgres
[email protected]:~$ psql

Uscita:

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

Quindi, crea un database e un utente per NetBox con il seguente comando:

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

Quindi, concedi tutti i privilegi al NetBox con il seguente comando:

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

Infine, esci dalla shell di PostgreSQL con il seguente comando:

postgres=#exit

Una volta terminato, puoi procedere al passaggio successivo.

Installa e configura NetBox

È possibile scaricare l'ultima versione di NetBox nella directory /opt con il seguente comando:

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

Quindi, cambia la directory in netbox e genera Django SECRET Key:

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

Dovresti vedere la chiave generata nel seguente output:

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

Quindi, rinomina il file di configurazione predefinito con il seguente comando:

mv configuration.example.py configuration.py

Quindi, apri il file di configurazione e definisci i dettagli del database e la chiave segreta:

nano configuration.py

Apporta le seguenti modifiche:

#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$'

Salva e chiudi il file quando hai finito.

Quindi, installa tutte le dipendenze richieste da NetBox con il seguente comando:

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

Una volta installato, migra il database con il seguente comando:

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

Una volta eseguita correttamente la migrazione, dovresti vedere il seguente output:

  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

Successivamente, dovrai creare un account amministratore per NetBox. Puoi farlo con il seguente comando:

python3 manage.py createsuperuser

Fornisci il nome utente e la password dell'amministratore e premi Invio, dovresti vedere il seguente output:

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

Quindi sposta i file statici e carica i dati iniziali con il seguente comando:

python3 manage.py collectstatic
python3 manage.py loaddata initial_data

Installa e configura Gunicorn per NetBox

Successivamente, dovrai installare Gunicorn per NetBox. Puoi installarlo con il comando pip come mostrato di seguito:

pip3 install gunicorn

Quindi, crea un file di configurazione Gunicorn per NetBox con il seguente comando:

nano /opt/netbox/gunicorn_config.py

Aggiungi le seguenti righe:

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

Salva e chiudi il file quando hai finito.

Configura Supervisor per Netbox

Successivamente, sarà necessario configurare Supervisor per gestire il servizio NetBox. Puoi farlo con il seguente comando:

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

Aggiungi le seguenti righe:

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

Salvare e chiudere il file, quindi riavviare il servizio supervisore e consentirne l'avvio dopo il riavvio del sistema con il seguente comando:

systemctl restart supervisor
systemctl enable supervisor

Puoi anche verificare il servizio Supervisore con il seguente comando:

systemctl status supervisor

Uscita:

? 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

Configura Nginx per NetBox

Successivamente, dovrai configurare Nginx per accedere a NetBox utilizzando la porta 80. Per fare ciò, crea un file di configurazione dell'host virtuale con il seguente comando:

nano /etc/nginx/sites-available/netbox

Aggiungi le seguenti righe:

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;
    }
}

Salva e chiudi il file. Quindi, abilita l'host virtuale con il seguente comando:

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

Infine, riavvia il servizio Nginx per applicare tutte le modifiche alla configurazione con il seguente comando:

systemctl restart nginx

Accedi all'interfaccia Web di NetBox

NetBox è ora installato e configurato, è ora di accedere all'interfaccia web di NetBox.

Apri il tuo browser web e digita l'URL http://tuo-dominio.com. Verrai reindirizzato alla seguente pagina:

Ora, fai clic su Accedi pulsante nell'angolo in alto a destra. Dovresti vedere la seguente pagina:

Ora, fornisci il nome utente e la password dell'amministratore, quindi fai clic sul Registro In pulsante. Dovresti vedere la dashboard predefinita di NetBox nella pagina seguente:

Congratulazioni! hai installato e configurato con successo NetBox sul server Ubuntu 18.04. Ora puoi gestire e documentare la tua rete e l'indirizzo IP dalla posizione centrale. Sentiti libero di chiedermi se hai qualche domanda.


Ubuntu
  1. Come installare lo strumento di gestione del server Foreman su Ubuntu 18.04 LTS

  2. Come installare Postgresql e phpPgAdmin su Ubuntu 15.04

  3. Come installare Libreoffice 4.3 su Ubuntu 12.04 e 14.04 LTS

  4. Come installare Libreoffice 4.4 su Ubuntu 15.04 e 14.04 LTS

  5. Come installare Wireshark su Ubuntu 16.04 LTS

Come installare PHP 5.6, PHP 8.0 e PHP 8.1 su Ubuntu 20.04 LTS

Come installare uTorrent in Ubuntu 16.04 LTS e Ubuntu 17.10

Come installare e configurare PostgreSQL su Ubuntu

Come installare e configurare PostgreSQL con phpPgAdmin su Ubuntu 20.04 LTS

Come installare PostgreSQL su Ubuntu 18.04 LTS

Come installare PostgreSQL su Ubuntu 20.04 LTS