GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat NetBox Network Documentation and Management Tool na Ubuntu 18.04 LTS

NetBox je bezplatný a opensource webový aplikační software, který lze použít ke správě a dokumentaci počítačových sítí. Je speciálně navržen pro správu IP adresy a infrastruktury datového centra prostřednictvím webového prohlížeče. NetBox je napsán v rámci Django Python a pro databázi používá PostgreSQL. S NetBoxem můžete snadno spravovat a dokumentovat virtuální stroje a clustery, datové okruhy, síťová, konzolová a napájecí připojení z centrálního umístění.

V tomto tutoriálu vysvětlíme, jak nainstalovat NetBox na server Ubuntu 18.04.

Požadavky

  • Server se systémem Ubuntu 18.04.
  • Na vašem serveru je nastaveno heslo uživatele root.

Začínáme

Nejprve aktualizujte balíček vašeho systému na nejnovější verzi pomocí následujícího příkazu:

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

Jakmile jsou všechny balíčky aktualizovány, restartujte systém, aby se uplatnily všechny konfigurační změny.

Dále budete muset nainstalovat požadované závislosti ke spuštění NetBoxu. Všechny je můžete nainstalovat pomocí následujícího příkazu:

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

Jakmile jsou všechny závislosti nainstalovány, můžete přejít k dalšímu kroku.

Instalace a konfigurace PostgreSQL

Dále budete muset nainstalovat PostgreSQL na váš server. Ve výchozím nastavení není nejnovější verze PostgreSQL dostupná ve výchozím úložišti Ubuntu 18.04. Budete tedy muset do svého systému přidat úložiště PostgreSQL.

Nejprve si stáhněte a přidejte klíč GPG pomocí následujícího příkazu:

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

Dále přidejte úložiště pomocí následujícího příkazu:

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

Přidejte následující řádek:

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

Uložte a zavřete soubor. Poté aktualizujte úložiště a nainstalujte PostgreSQL pomocí následujícího příkazu:

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

Po instalaci zkontrolujte stav PostgreSQL pomocí následujícího příkazu:

systemctl status postgresql

Měli byste vidět následující výstup:

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

Dále budete muset vytvořit databázi a uživatele pro NetBox. Nejprve se přihlaste do prostředí PostgreSQL pomocí následujícího příkazu:

su - postgres
[email protected]:~$ psql

Výstup:

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

Dále vytvořte databázi a uživatele pro NetBox pomocí následujícího příkazu:

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

Dále udělte NetBoxu všechna oprávnění pomocí následujícího příkazu:

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

Nakonec ukončete prostředí PostgreSQL pomocí následujícího příkazu:

postgres=#exit

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Instalace a konfigurace NetBox

Nejnovější verzi NetBoxu si můžete stáhnout do adresáře /opt pomocí následujícího příkazu:

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

Dále změňte adresář na netbox a vygenerujte Django SECRET Key:

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

Vygenerovaný klíč byste měli vidět v následujícím výstupu:

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

Dále přejmenujte výchozí konfigurační soubor pomocí následujícího příkazu:

mv configuration.example.py configuration.py

Dále otevřete konfigurační soubor a definujte podrobnosti o databázi a tajný klíč:

nano configuration.py

Proveďte následující změny:

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

Po dokončení uložte a zavřete soubor.

Dále nainstalujte všechny závislosti požadované NetBoxem pomocí následujícího příkazu:

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

Po instalaci proveďte migraci databáze pomocí následujícího příkazu:

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

Po úspěšné migraci byste měli vidět následující výstup:

  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

Dále budete muset vytvořit účet správce pro NetBox. Můžete to udělat pomocí následujícího příkazu:

python3 manage.py createsuperuser

Zadejte své uživatelské jméno a heslo správce a stiskněte Enter, měli byste vidět následující výstup:

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

Dále přesuňte statické soubory a načtěte počáteční data pomocí následujícího příkazu:

python3 manage.py collectstatic
python3 manage.py loaddata initial_data

Instalace a konfigurace Gunicorn pro NetBox

Dále budete muset nainstalovat Gunicorn pro NetBox. Můžete jej nainstalovat pomocí příkazu pip, jak je znázorněno níže:

pip3 install gunicorn

Dále vytvořte konfigurační soubor Gunicorn pro NetBox pomocí následujícího příkazu:

nano /opt/netbox/gunicorn_config.py

Přidejte následující řádky:

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

Po dokončení uložte a zavřete soubor.

Konfigurovat správce pro Netbox

Dále budete muset nakonfigurovat správce pro správu služby NetBox. Můžete to udělat pomocí následujícího příkazu:

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

Přidejte následující řádky:

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

Uložte a zavřete soubor, restartujte službu dohledu a povolte její spuštění po restartování systému pomocí následujícího příkazu:

systemctl restart supervisor
systemctl enable supervisor

Službu Supervisor můžete také ověřit pomocí následujícího příkazu:

systemctl status supervisor

Výstup:

? 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

Konfigurace Nginx pro NetBox

Dále budete muset nakonfigurovat Nginx pro přístup k NetBoxu pomocí portu 80. Chcete-li tak učinit, vytvořte konfigurační soubor virtuálního hostitele pomocí následujícího příkazu:

nano /etc/nginx/sites-available/netbox

Přidejte následující řádky:

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

Uložte a zavřete soubor. Poté povolte virtuálního hostitele pomocí následujícího příkazu:

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

Nakonec restartujte službu Nginx a použijte všechny změny konfigurace pomocí následujícího příkazu:

systemctl restart nginx

Přístup k webovému rozhraní NetBox

NetBox je nyní nainstalován a nakonfigurován, je čas vstoupit do webového rozhraní NetBoxu.

Otevřete webový prohlížeč a zadejte adresu URL http://vase-domena.com. Budete přesměrováni na následující stránku:

Nyní klikněte na Přihlásit se tlačítko v pravém horním rohu. Měli byste vidět následující stránku:

Nyní zadejte své uživatelské jméno a heslo správce a klikněte na Protokol V knoflík. Výchozí řídicí panel NetBoxu byste měli vidět na následující stránce:

Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali NetBox na serveru Ubuntu 18.04. Nyní můžete spravovat a dokumentovat svou síť a IP adresu z centrálního umístění. Neváhejte se mě zeptat, pokud máte nějaké otázky.


Ubuntu
  1. Jak nainstalovat Postgresql a phpPgAdmin na Ubuntu 15.04

  2. Jak nainstalovat Libreoffice 4.3 na Ubuntu 12.04 a 14.04 LTS

  3. Jak nainstalovat Libreoffice 4.4 na Ubuntu 15.04 a 14.04 LTS

  1. Jak nainstalovat nástroj Foreman Server Management Tool na Ubuntu 18.04 LTS

  2. Jak nainstalovat PostgreSQL a phpPgAdmin na Ubuntu 16.04

  3. Jak nainstalovat Wireshark na Ubuntu 16.04 LTS

  1. Jak nainstalovat nástroj Trac Project Management Tool na Ubuntu 18.04 LTS

  2. Jak nainstalovat PostgreSQL a phpPgAdmin na Ubuntu 18.04 LTS

  3. Jak nainstalovat Redmine Project Management Tool na Ubuntu 18.04 LTS