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

NetBox — это бесплатное и открытое веб-приложение, которое можно использовать для управления и документирования компьютерных сетей. Оно специально разработано для управления IP-адресами и инфраструктурой дата-центров через веб-браузер. NetBox написан на фреймворке Django на Python и использует PostgreSQL в качестве базы данных. С помощью NetBox вы можете легко управлять и документировать виртуальные машины и кластеры, каналы передачи данных, сетевые, консольные и электрические соединения из центрального места.
В этом руководстве мы объясним, как установить NetBox на сервер Ubuntu 18.04.
Требования
- Сервер с установленной Ubuntu 18.04.
- Установлен пароль root на вашем сервере.
Начало работы
Сначала обновите пакеты вашей системы до последней версии с помощью следующей команды:
apt-get update -y
apt-get upgrade -yПосле обновления всех пакетов перезагрузите систему, чтобы применить все изменения конфигурации.
Далее вам нужно будет установить необходимые зависимости для запуска NetBox. Вы можете установить все из них с помощью следующей команды:
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После установки всех зависимостей вы можете перейти к следующему шагу.
Установка и настройка PostgreSQL
Далее вам нужно будет установить PostgreSQL на ваш сервер. По умолчанию последняя версия PostgreSQL недоступна в стандартном репозитории Ubuntu 18.04. Поэтому вам нужно будет добавить репозиторий PostgreSQL в вашу систему.
Сначала загрузите и добавьте GPG-ключ с помощью следующей команды:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -Затем добавьте репозиторий с помощью следующей команды:
nano /etc/apt/sources.list.d/postgres.listДобавьте следующую строку:
deb http://apt.postgresql.org/pub/repos/apt/ xanial-pgdg mainСохраните и закройте файл. Затем обновите репозиторий и установите PostgreSQL с помощью следующей команды:
apt-get update -y
apt-get install postgresql postgresql-contrib -yПосле установки проверьте статус PostgreSQL с помощью следующей команды:
systemctl status postgresqlВы должны увидеть следующий вывод:
? 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.
Далее вам нужно будет создать базу данных и пользователя для NetBox. Сначала войдите в оболочку PostgreSQL с помощью следующей команды:
su - postgres
postgres@hitesh:~$ psqlВывод:
psql (11.4 (Ubuntu 11.4-1.pgdg18.04+1))
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Когда вы закончите, вы можете перейти к следующему шагу.
Установка и настройка NetBox
Вы можете загрузить последнюю версию NetBox в каталог /opt с помощью следующей команды:
cd /opt
git clone -b master https://github.com/digitalocean/netbox.gitДалее измените каталог на netbox и сгенерируйте секретный ключ Django:
cd /opt/netbox/netbox/netbox/
./generate_secret_key.pyВы должны увидеть сгенерированный ключ в следующем выводе:
+XHR3o&7K6isFk^DLc2%rIqCanlE@zTB(jwN#tfGbV=O1hgMU$Далее переименуйте файл конфигурации по умолчанию с помощью следующей команды:
mv configuration.example.py configuration.pyДалее откройте файл конфигурации и определите данные вашей базы данных и секретный ключ:
nano configuration.pyВнесите следующие изменения:
#Замените your-server-ip на IP-адрес вашего сервера:
# Пример: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']
ALLOWED_HOSTS = ['your-server-ip']
# Конфигурация базы данных PostgreSQL.
DATABASE = {
'NAME': 'netbox', # Имя базы данных
'USER': 'netbox', # Имя пользователя PostgreSQL
'PASSWORD': 'password', # Пароль PostgreSQL
'HOST': 'localhost', # Сервер базы данных
'PORT': '', # Порт базы данных (оставьте пустым для по умолчанию)
}
SECRET_KEY = '+XHR3o&7K6isFk^DLc2%rIqCanlE@zTB(jwN#tfGbV=O1hgMU$'Сохраните и закройте файл, когда закончите.
Далее установите все зависимости, необходимые для NetBox, с помощью следующей команды:
pip3 install -r /opt/netbox/requirements.txtПосле установки выполните миграцию базы данных с помощью следующей команды:
cd /opt/netbox/netbox/
python3 manage.py migrateПосле успешной миграции вы должны увидеть следующий вывод:
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Далее вам нужно будет создать учетную запись администратора для NetBox. Вы можете сделать это с помощью следующей команды:
python3 manage.py createsuperuserУкажите имя пользователя и пароль администратора и нажмите Enter, вы должны увидеть следующий вывод:
Username (leave blank to use 'root'): netboxadmin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.Далее переместите статические файлы и загрузите начальные данные с помощью следующей команды:
python3 manage.py collectstatic
python3 manage.py loaddata initial_dataУстановка и настройка Gunicorn для NetBox
Далее вам нужно будет установить Gunicorn для NetBox. Вы можете установить его с помощью команды pip, как показано ниже:
pip3 install 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 для 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
systemctl enable 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 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
Настройка Nginx для NetBox
Далее вам нужно будет настроить Nginx для доступа к NetBox через порт 80. Для этого создайте файл конфигурации виртуального хоста с помощью следующей команды:
nano /etc/nginx/sites-available/netboxДобавьте следующие строки:
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;
}
}Сохраните и закройте файл. Затем включите виртуальный хост с помощью следующей команды:
ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/Наконец, перезапустите службу Nginx, чтобы применить все изменения конфигурации с помощью следующей команды:
systemctl restart nginxДоступ к веб-интерфейсу NetBox
NetBox теперь установлен и настроен, пришло время получить доступ к веб-интерфейсу NetBox.
Откройте ваш веб-браузер и введите URL http://your-domain.com. Вы будете перенаправлены на следующую страницу:

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

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

Поздравляем! вы успешно установили и настроили NetBox на сервере Ubuntu 18.04. Теперь вы можете управлять и документировать вашу сеть и IP-адреса из центрального места. Не стесняйтесь задавать вопросы, если у вас есть какие-либо вопросы.
Get new posts in your inbox
No spam. Unsubscribe anytime.