Netbox je bezplatný a výkonný nástroj pro správu IP adres (IPAM) a infrastruktury datového centra (DCIM). Používá se k ukládání informací o vašich sítích, virtuálních počítačích, zásobách a mnoha dalších. Původně byl vyvinut týmem síťových inženýrů společnosti DigitalOcean. Tento nástroj je napsán v rámci Django Python a spoléhá na databázi PostgreSQL. Jeho cílem je fungovat jako doménově specifický zdroj pravdy pro síťové operace.
V tomto tutoriálu vysvětlíme, jak nainstalovat Netbox s Nginx jako reverzní proxy na Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Začínáme
Než začnete, budete muset nainstalovat některé závislosti požadované Netboxem. Všechny je můžete nainstalovat spuštěním následujícího příkazu:
apt-get install nginx git gcc správce python3 python3-dev python3-pip python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev -y zJakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Instalace a konfigurace databáze PostgreSQL
Netbox se při ukládání dat spoléhá na databázi PostgreSQL. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install postgresql postgresql-contrib -yJakmile je PostgreSQL nainstalován, přihlaste se k PostgreSQL pomocí následujícího příkazu:
su - postgres
[e-mail chráněný]:~$ psqlMěli byste získat následující výstup:
psql (12.2 (Ubuntu 12.2-4)) Chcete-li získat nápovědu, zadejte „help“.Dále vytvořte databázi a uživatele pro Netbox pomocí následujícího příkazu:
postgres=# VYTVOŘIT DATABÁZI netbox;
postgres=# VYTVOŘIT UŽIVATELSKÝ netbox S HESLEM 'heslo';Dále udělte všechna oprávnění databázi Netbox pomocí následujícího příkazu:
postgres=# UDĚLEJTE VŠECHNA OPRÁVNĚNÍ Z DATABÁZOVÉHO netboxu netboxu;Dále ukončete prostředí PostgreSQL pomocí následujícího příkazu:
postgres=# exit
[email protected]:~$ exitInstalace a konfigurace NetBox
Nejprve změňte adresář na /opt a stáhněte si nejnovější verzi Netboxu z úložiště Git Hub pomocí následujícího příkazu:
cd /opt/
git clone -b master https://github.com/digitalocean/netbox.gitDále vytvořte symbolický odkaz na binární Python pomocí následujícího příkazu:
ln -s /usr/bin/python3 /usr/bin/pythonDále změňte adresář na /opt/netbox/netbox/ a vygenerujte Django SECRET Key spuštěním následujícího příkazu:
cd /opt/netbox/netbox/
./generate_secret_key.pyMěli byste získat následující výstup:
[e-mail chráněný])eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7zDále změňte adresář na netbox a přejmenujte příklad konfiguračního souboru:
cd netbox
mv configuration.example.py configuration.pyDále upravte konfigurační soubor Netboxu a definujte svou databázi, tajný klíč a povolené hostitele:
nano configuration.pyProveďte následující změny:
ALLOWED_HOSTS =['ip-vašeho-serveru']# konfigurace databáze PostgreSQL. Úplný seznam dostupných parametrů naleznete v dokumentaci Django:# https://docs.djangoproject.com/en/stable/ref/settings/#databasesDATABASE ={ 'NAME':'netbox', # Název databáze 'USER':'netbox', # uživatelské jméno PostgreSQL 'PASSWORD':'password', # Heslo PostgreSQL 'HOST':'localhost', # Databázový server 'PORT':'', # Port databáze (ve výchozím nastavení ponechte prázdné) 'CONN_MAX_AGE':300 , # Maximální věk připojení k databázi}SECRET_KEY ='[e-mail chráněný])eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z'Uložte a zavřete soubor a poté nainstalujte všechny závislosti Pythonu pomocí následujícího příkazu:
pip3 install -r /opt/netbox/requirements.txtDále proveďte migraci databáze pomocí následujícího příkazu:
cd /opt/netbox/netbox/
python3 manage.py migrateDále vytvořte administrátora Netbox pomocí následujícího příkazu:
python3 manage.py vytváříuperuserBudete požádáni o zadání uživatelského jména a hesla, jak je uvedeno níže:
Uživatelské jméno (nechte prázdné, chcete-li použít 'root'):netboxadminE-mailová adresa:[e-mail chráněn]Heslo:Heslo (opět):Superuser úspěšně vytvořen.Dále shromážděte statický soubor pomocí následujícího příkazu:
python3 manage.py collectstaticMěli byste vidět následující výstup:
976 statických souborů bylo zkopírováno do '/opt/netbox/netbox/static'.Instalace a konfigurace Gunicorn
Netbox je aplikace založená na Django. Takže budete muset nainstalovat Gunicorn do vašeho systému. Můžete jej nainstalovat spuštěním následujícího příkazu:
pip3 nainstalovat gunicornPo instalaci Gunicornu vytvořte nový konfigurační soubor Gunicorn pro Netbox pomocí následujícího příkazu:
nano /opt/netbox/gunicorn_config.pyPřidejte následující řádky:
command ='/usr/local/bin/gunicorn'pythonpath ='/opt/netbox/netbox'bind ='ip-vas-server:8001'workers =3user ='www-data'Po dokončení uložte a zavřete soubor.
Instalace a konfigurace správce
Supervisor je systém klient/server, který vám umožňuje sledovat a ovládat službu NetBox. Nový konfigurační soubor správce pro Netbox můžete vytvořit pomocí následujícího příkazu:
nano /etc/supervisor/conf.d/netbox.confPřidejte následující řádky:
[program:netbox]command =gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgidirectory =/opt/netbox/netbox/user =www-dataPo dokončení uložte a zavřete soubor. Potom restartujte službu Supervisor pomocí následujícího příkazu:
Správce restartu systemctlStav služby Supervisor můžete také ověřit pomocí následujícího příkazu:
Správce stavu systemctlMěli byste získat následující výstup:
? Supervisor.service - Systém pro řízení procesů supervizora pro UNIX Načteno:načteno (/lib/systemd/system/supervisor.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od So 2020-05-30 05:49:08 UTC; Před 14s Dokumenty:http://supervisord.org Hlavní PID:550606 (supervisord) Úkoly:5 (limit:4691) Paměť:184,3M CGroup:/system.slice/supervisor.service ??550606 /usr/bin/python3 usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf ??550626 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi ??550628 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi ??550629 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox /gunicorn_config.py netbox.wsgi ??550630 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgiMay 30 05:49:08 ubuntu2004 systemd[1]:Spuštěno Systém řízení procesů Supervisor pro UNIX. 30. května 05:49:08 ubuntu2004 Supervisord[550606]:2020-05-30 05:49:08,664 CRIT Supervisor běží jako root. Oprávnění nebyla zrušena, protože>30. května 05:49:08 ubuntu2004 Supervisord[550606]:2020-05-30 05:49:08,664 INFO Zahrnuto zvláštní soubor "/etc/supervisor/conf.d/pnetbox>.conf" 30. května 05:49:08 ubuntu2004 supervizor[550606]:2020-05-30 05:49:08,671 Inicializováno INFO rozhraní 'supervisor' RPC 30. května 05:49:08 ubuntu2005:506-40305] 055240305 :08,671 CRIT Server 'unix_http_server' běží bez jakékoli HTTP autentizace>30. května 05:49:08 ubuntu2004 supervizor[550606]:2020-05-30 05:49:08,672 INFO supervizord:054063May05ub spuštěn s 0540603May05ub [550606]:2020-05-30 05:49:09,676 INFO vytvořeno:'netbox' s pid 550626 30. května 05:49:11 ubuntu2004 netbox[550606]:2020-055:060 vložen:2020-055:060 Stav RUNNING, proces zůstal aktivní po dobuKonfigurace Nginx pro NetBox
Je dobré nakonfigurovat Nginx jako reverzní proxy pro přístup k Netboxu na portu 80. Novou konfiguraci virtuálního hostitele Nginx můžete vytvořit pomocí následujícího příkazu:
nano /etc/nginx/sites-available/netbox.confPřidejte následující řádky:
server { poslouchat 80; server_name your-server-ip; client_max_body_velikost 25m; umístění /static/ { alias /opt/netbox/netbox/static/; } umístění / { proxy_pass http://ip-vaseho-serveru:8001; }}Uložte a zavřete soubor. Poté vytvořte symbolický odkaz na adresář /etc/nginx/sites-enabled/:
ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/Dále ověřte Nginx, zda neobsahuje chybu syntaxe, pomocí následujícího příkazu:
nginx -tPokud je vše v pořádku, měli byste získat následující výstup:
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšnýNakonec restartujte službu Nginx a implementujte změny.
systemctl restart nginxNginx můžete také ověřit pomocí následujícího příkazu:
stav systemctl nginxMěli byste získat následující výstup:
? nginx.service – HTTP a reverzní proxy server nginx Načteno:načteno (/usr/lib/systemd/system/nginx.service; zakázáno; přednastaveno dodavatelem:zakázáno) Aktivní:aktivní (běží) od So 2020-05-30 22:28:13 EST; před 4min 14s Proces:984 ExecStart=/usr/sbin/nginx (kód=ukončeno, stav=0/ÚSPĚCH) Proces:982 ExecStartPre=/usr/sbin/nginx -t (kód=ukončeno, stav=0/ÚSPĚCH) Proces :980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:985 (nginx) Úkoly:3 (limit:25028) Paměť:5,5M CGroup:/system.slice/nginx.service 985 nginx:hlavní proces /usr/sbin/nginx 986 nginx:pracovní proces 987 nginx:pracovní proces 30. května 21:28:12 ubuntu2004 systemd[1]:Spouštění nginx HTTP a reverzní proxy server...30. března 21:28:12 ubuntu2004 nginx[982]:nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je v pořádku 30. března 21:28:12 ubuntu2004 nginx[982]:ng :konfigurační soubor /etc/nginx/nginx.conf test je úspěšný 30. března 21:28:13 ubuntu2004 systemd[1]:Spuštěn nginx HTTP a reverzní proxy server.V tomto okamžiku je webový server Nginx nakonfigurován tak, aby obsluhoval Netbox na portu 80. Nyní můžete přistoupit k webovému rozhraní Netbox.
Přístup k webovému rozhraní Netbox
Otevřete webový prohlížeč a navštivte adresu URL http://ip-vaseho-serveru. Budete přesměrováni na následující stránku:
Klikněte na Protokol v knoflík. Na následující obrazovce byste měli vidět přihlašovací stránku Netbox:
Zadejte své uživatelské jméno, heslo správce Netbox a klikněte na přihlášení knoflík. Výchozí řídicí panel Netboxu byste měli vidět na následující stránce:
Závěr
V této příručce jste se naučili, jak nainstalovat Netbox na Ubuntu 20.04 s Nginx. Nyní můžete začít dokumentovat svou síťovou infrastrukturu. Další informace najdete v oficiální dokumentaci Netboxu. Pokud máte nějaké dotazy, neváhejte se mě zeptat.
Jak nainstalovat a nakonfigurovat Apache Hadoop na Ubuntu 20.04 Jak zkompilovat ONLYOFFICE Document Server ze zdrojového kódu na UbuntuUbuntu