Установка NetBox · 6 min read · Nov 19, 2025
Как установить инструмент документации и управления сетью NetBox на Ubuntu 20.04 LTS

Netbox — это бесплатный и мощный инструмент управления IP-адресами (IPAM) и инфраструктурой дата-центров (DCIM). Он используется для хранения информации о ваших сетях, виртуальных машинах, инвентаризациях и многом другом. Он был изначально разработан командой сетевых инженеров в DigitalOcean. Этот инструмент написан на фреймворке Django Python и использует базу данных PostgreSQL. Его цель — функционировать как специализированный источник правды для сетевых операций.
В этом руководстве мы объясним, как установить Netbox с Nginx в качестве обратного прокси на Ubuntu 20.04.
Предварительные требования
- Сервер с установленной Ubuntu 20.04.
- Пароль root, настроенный на вашем сервере.
Начало работы
Перед началом вам нужно будет установить некоторые зависимости, необходимые для Netbox. Вы можете установить их все, выполнив следующую команду:
apt-get install nginx git gcc supervisor python3 python3-dev python3-pip python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-dev -yПосле установки всех пакетов вы можете перейти к следующему шагу.
Установка и настройка базы данных PostgreSQL
Netbox использует базу данных PostgreSQL для хранения данных. Вы можете установить ее с помощью следующей команды:
apt-get install postgresql postgresql-contrib -yПосле установки PostgreSQL войдите в систему PostgreSQL с помощью следующей команды:
su - postgres
postgres@ubuntu2004:~$ psqlВы должны получить следующий вывод:
psql (12.2 (Ubuntu 12.2-4))
Type "help" for help.
Далее создайте базу данных и пользователя для Netbox с помощью следующей команды:
postgres=# CREATE DATABASE netbox;
postgres=# CREATE USER netbox WITH PASSWORD 'password';Затем предоставьте все привилегии базе данных Netbox с помощью следующей команды:
postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;Затем выйдите из оболочки PostgreSQL с помощью следующей команды:
postgres=# exit
postgres@ubuntu2004:~$ exitУстановка и настройка NetBox
Сначала измените каталог на /opt и загрузите последнюю версию Netbox из репозитория Git Hub с помощью следующей команды:
cd /opt/
git clone -b master https://github.com/digitalocean/netbox.gitЗатем создайте символическую ссылку на бинарный файл Python с помощью следующей команды:
ln -s /usr/bin/python3 /usr/bin/pythonДалее измените каталог на /opt/netbox/netbox/ и сгенерируйте секретный ключ Django, выполнив следующую команду:
cd /opt/netbox/netbox/
./generate_secret_key.pyВы должны получить следующий вывод:
wcq@L2)eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z
Далее измените каталог на netbox и переименуйте файл конфигурации примера:
cd netbox
mv configuration.example.py configuration.pyЗатем отредактируйте файл конфигурации Netbox и определите вашу базу данных, секретный ключ и разрешенные хосты:
nano configuration.pyВнесите следующие изменения:
ALLOWED_HOSTS = ['your-server-ip']
# Конфигурация базы данных PostgreSQL. См. документацию Django для полного списка доступных параметров:
# https://docs.djangoproject.com/en/stable/ref/settings/#databases
DATABASE = {
'NAME': 'netbox', # Имя базы данных
'USER': 'netbox', # Имя пользователя PostgreSQL
'PASSWORD': 'password', # Пароль PostgreSQL
'HOST': 'localhost', # Сервер базы данных
'PORT': '', # Порт базы данных (оставьте пустым для значения по умолчанию)
'CONN_MAX_AGE': 300, # Максимальный возраст соединения с базой данных
}
SECRET_KEY = 'wcq@L2)eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z'
Сохраните и закройте файл, затем установите все зависимости Python с помощью следующей команды:
pip3 install -r /opt/netbox/requirements.txtДалее выполните миграцию базы данных с помощью следующей команды:
cd /opt/netbox/netbox/
python3 manage.py migrateЗатем создайте административного пользователя Netbox с помощью следующей команды:
python3 manage.py createsuperuserВам будет предложено ввести имя пользователя и пароль, как показано ниже:
Username (leave blank to use 'root'): netboxadmin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
Далее соберите статические файлы с помощью следующей команды:
python3 manage.py collectstaticВы должны увидеть следующий вывод:
976 static files copied to '/opt/netbox/netbox/static'.
Установка и настройка Gunicorn
Netbox — это приложение на основе Django. Поэтому вам нужно будет установить Gunicorn в вашу систему. Вы можете установить его, выполнив следующую команду:
pip3 install gunicornПосле установки Gunicorn создайте новый файл конфигурации Gunicorn для Netbox с помощью следующей команды:
nano /opt/netbox/gunicorn_config.pyДобавьте следующие строки:
command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = 'your-server-ip:8001'
workers = 3
user = 'www-data'
Сохраните и закройте файл, когда закончите.
Установка и настройка Supervisor
Supervisor — это клиент/серверная система, которая позволяет вам контролировать и управлять службой NetBox. Вы можете создать новый файл конфигурации Supervisor для Netbox с помощью следующей команды:
nano /etc/supervisor/conf.d/netbox.confДобавьте следующие строки:
[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-data
Сохраните и закройте файл, когда закончите. Затем перезапустите службу Supervisor с помощью следующей команды:
systemctl restart supervisorВы также можете проверить статус службы Supervisor, используя следующую команду:
systemctl status supervisorВы должны получить следующий вывод:
? supervisor.service - Supervisor process control system for UNIX
Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-05-30 05:49:08 UTC; 14s ago
Docs: http://supervisord.org
Main PID: 550606 (supervisord)
Tasks: 5 (limit: 4691)
Memory: 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.wsgi
May 30 05:49:08 ubuntu2004 systemd[1]: Started Supervisor process control system for UNIX.
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,664 CRIT Supervisor is running as root. Privileges were not dropped becau>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,664 INFO Included extra file "/etc/supervisor/conf.d/netbox.conf" during p>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,671 INFO RPC interface 'supervisor' initialized
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,671 CRIT Server 'unix_http_server' running without any HTTP authentication>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,672 INFO supervisord started with pid 550606
May 30 05:49:09 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:09,676 INFO spawned: 'netbox' with pid 550626
May 30 05:49:11 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:11,060 INFO success: netbox entered RUNNING state, process has stayed up for
Настройка Nginx для NetBox
Хорошей идеей будет настроить Nginx в качестве обратного прокси для доступа к Netbox на порту 80. Вы можете создать новую конфигурацию виртуального хоста Nginx, используя следующую команду:
nano /etc/nginx/sites-available/netbox.confДобавьте следующие строки:
server {
listen 80;
server_name your-server-ip;
client_max_body_size 25m;
location /static/ {
alias /opt/netbox/netbox/static/;
}
location / {
proxy_pass http://your-server-ip:8001;
}
}
Сохраните и закройте файл. Затем создайте символическую ссылку в директории /etc/nginx/sites-enabled/:
ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/Далее проверьте Nginx на наличие синтаксических ошибок с помощью следующей команды:
ginx -tЕсли все в порядке, вы должны получить следующий вывод:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Наконец, перезапустите службу Nginx, чтобы применить изменения.
systemctl restart nginxВы также можете проверить Nginx с помощью следующей команды:
systemctl status nginxВы должны получить следующий вывод:
? nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2020-05-30 22:28:13 EST; 4min 14s ago
Process: 984 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 982 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 985 (nginx)
Tasks: 3 (limit: 25028)
Memory: 5.5M
CGroup: /system.slice/nginx.service
??985 nginx: master process /usr/sbin/nginx
??986 nginx: worker process
??987 nginx: worker process
May 30 21:28:12 ubuntu2004 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 30 21:28:12 ubuntu2004 nginx[982]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 30 21:28:12 ubuntu2004 nginx[982]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 30 21:28:13 ubuntu2004 systemd[1]: Started The nginx HTTP and reverse proxy server.
На этом этапе веб-сервер Nginx настроен для обслуживания Netbox на порту 80. Теперь вы можете перейти к доступу к веб-интерфейсу Netbox.
Доступ к веб-интерфейсу Netbox
Откройте ваш веб-браузер и перейдите по адресу http://your-server-ip. Вы будете перенаправлены на следующую страницу:

Нажмите на кнопку Войти. Вы должны увидеть страницу входа в Netbox на следующем экране:

Введите ваше имя пользователя администратора Netbox, пароль и нажмите кнопку войти. Вы должны увидеть панель управления по умолчанию Netbox на следующей странице:

Заключение
В этом руководстве вы узнали, как установить Netbox на Ubuntu 20.04 с Nginx. Теперь вы можете начать документировать вашу сетевую инфраструктуру. Для получения дополнительной информации посетите официальную документацию Netbox. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.
Get new posts in your inbox
No spam. Unsubscribe anytime.