Установка NetBox · 7 min read · Sep 12, 2025
Как установить NetBox IRM (Инструмент моделирования ресурсов инфраструктуры) на сервер Ubuntu 24.04

NetBox — это инструмент моделирования ресурсов инфраструктуры (IRM), предназначенный для автоматизации сетей и проектирования инфраструктуры. Изначально он был создан командой DigitalOcean, а теперь стал проектом с открытым исходным кодом, выпущенным под лицензией Apache 2.
NetBox был создан в веб-фреймворке Python Django с PostgreSQL в качестве базы данных по умолчанию, и установка NetBox довольно похожа на установку других веб-приложений на Python Django.
Этот учебник покажет вам, как установить Netbox IRM на сервер Ubuntu 24.04 с PostgreSQL в качестве базы данных и Apache в качестве обратного прокси. Вы также защитите Netbox с помощью HTTPS через Certbot и Letsencrypt.
Предварительные требования
Перед тем как продолжить, убедитесь, что у вас есть следующее:
- Сервер Ubuntu 24.04
- Пользователь без прав root с правами администратора
- Доменное имя, указывающее на IP-адрес сервера
Установка зависимостей
Чтобы установить Netbox, вы должны убедиться, что зависимости установлены на вашем сервере Ubuntu. Это включает Python3, сервер PostgreSQL, веб-сервер Apache, Redis и системные библиотеки. В этом разделе вы установите эти пакеты с помощью менеджера пакетов APT.
Сначала выполните следующую команду, чтобы обновить индекс пакетов Ubuntu.
sudo apt updateПосле обновления установите зависимости для Netbox с помощью следующей команды. В этом примере вы установите PostgreSQL, Apache, Python, Redis, Certbot, зависимости для сборки и некоторые библиотеки.
sudo apt install apache2 postgresql postgresql-common libpq-dev redis-server git certbot python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libssl-dev zlib1g-devВведите ‘ Y ‘, чтобы подтвердить установку.

После завершения установки выполните команду ‘systemctl’ ниже, чтобы проверить статус веб-сервера Apache.
sudo systemctl is-enabled apache2
sudo systemctl status apache2В следующем выводе вы можете увидеть, что Apache работает и включен.

Наконец, проверьте статус сервера PostgreSQL с помощью следующей команды:
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlВ выводе ниже вы можете увидеть, что PostgreSQL включен и работает со статусом exited (systemd не может найти службу для мониторинга).

Настройка PostgreSQL
После установки зависимостей вам нужно настроить сервер PostgreSQL, создав нового пользователя и базу данных, которые будет использовать Netbox.
Войдите в сервер PostgreSQL, используя команду ниже.
sudo -u postgres psqlТеперь выполните следующие запросы, чтобы создать нового пользователя ‘ netbox ‘ с паролем ‘ netboxpassword ‘ и новую базу данных ‘ netboxdb ‘.
CREATE USER netbox LOGIN CREATEDB PASSWORD 'netboxpassword';
CREATE DATABASE netboxdb OWNER netbox;После создания базы данных и пользователя проверьте список баз данных и пользователей в PostgreSQL с помощью следующей команды.
\l
\duВы можете увидеть ниже, что база данных ‘ netboxdb ‘ и пользователь ‘ netbox ‘ созданы.
Введите ‘ quit ‘, чтобы выйти из сервера PostgreSQL.


Скачивание и настройка Netbox
Теперь, когда база данных PostgreSQL готова, вы загрузите и установите Netbox на свой компьютер с Ubuntu. Вы настроите доменное имя, секретный ключ и базу данных для Netbox.
Сначала выполните команду ниже, чтобы создать нового пользователя ‘netbox’ на вашем компьютере с Ubuntu.
sudo useradd -r -d /opt/netbox -s /usr/sbin/nologin netboxТеперь выполните команду ниже, чтобы загрузить исходный код Netbox с помощью команды ‘ git ‘, и измените владельца на пользователя ‘ netbox ‘.
sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git /opt/netbox
sudo chown -R netbox:netbox /opt/netboxПерейдите в директорию ‘ /opt/netbox/netbox/netbox ‘ и выполните файл ‘ generate_secret_key.py ‘. Скопируйте секретный ключ в свои заметки.
cd /opt/netbox/netbox/netbox
sudo -u netbox python3 ../generate_secret_key.pyДалее скопируйте файл ‘ configuration.py ‘ и измените его с помощью редактора ‘ nano ‘.
sudo -u netbox cp configuration_example.py configuration.py
sudo -u netbox nano configuration.pyДобавьте свой локальный IP-адрес и доменное имя в ‘ ALLOWED_HOSTS ‘.
ALLOWED_HOSTS = ['netbox.howtoforge.local', '192.168.10.60']Введите имя вашей базы данных PostgreSQL, пользователя и пароль в разделе ‘ DATABASE ‘.
# конфигурация базы данных
DATABASE = {
'NAME': 'netboxdb', # Имя базы данных
'USER': 'netbox', # Имя пользователя PostgreSQL
'PASSWORD': 'netboxpassword', # Пароль PostgreSQL
'HOST': 'localhost', # Сервер базы данных
'PORT': '', # Порт базы данных (оставьте пустым для значения по умолчанию)
'CONN_MAX_AGE': 300, # Максимальный возраст соединения с базой данных (в секундах)
}Вставьте свой секретный ключ в раздел ‘ SECRET_KEY ‘.
SECRET_KEY = '98%D9uh8S%)T0QhQ@Z3zYf%Hik^CqWJ)Uwz%0J7TZUztmNiitG'Сохраните файл и выйдите из редактора, когда закончите.
Миграция Netbox и настройка администратора
Теперь, когда вы настроили Netbox с сервером PostgreSQL, вы готовы мигрировать базу данных и создать администратора для установки Netbox.
Выполните скрипт ‘ upgrade.sh ‘ с помощью команды ниже. Это создаст среду Python, установит зависимости для Netbox, мигрирует базу данных Netbox, подключится к Redis и затем сгенерирует статические файлы.
sudo -u netbox /opt/netbox/upgrade.sh
Ниже вы можете увидеть миграцию базы данных для Netbox.

И ниже, когда ‘ manage.py ‘ генерирует статические файлы.
После завершения процесса вам нужно создать нового администратора для Netbox через скрипт ‘ manage.py ‘.

Выполните следующую команду, чтобы активировать виртуальную среду Netbox. После активации ваша оболочка станет такой, как ‘ (venv) user@hostname ‘.
source /opt/netbox/venv/bin/activateПерейдите в директорию ‘ /opt/netbox/netbox ‘ и выполните скрипт ‘ manage.py ‘ следующим образом:
cd /opt/netbox/netbox
python3 manage.py createsuperuserВведите ваше имя пользователя, адрес электронной почты и пароль для администратора Netbox.

После завершения выполните команду ‘ deactivate ‘, чтобы выйти из виртуальной среды Netbox.
Запуск Netbox как службы
В этом разделе вы скопируете конфигурации Netbox, которые будут использоваться для запуска Netbox как службы systemd. Вам нужно убедиться, что Netbox работает под Gunicorn, а затем скопировать файлы службы Netbox в директорию ‘ /etc/systemd/system ‘.
Сначала скопируйте скрипт ‘ gunicorn.py ‘ в директорию ‘ /opt/netbox ‘. Этот скрипт содержит конфигурацию для запуска Netbox под сервером Python WSGI.
sudo -u netbox cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.pyТеперь выполните команду ниже, чтобы скопировать файлы службы для Netbox в директорию ‘ /etc/systemd/system ‘ и перезагрузить менеджер systemd.
sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/
sudo systemctl daemon-reloadПосле перезагрузки systemd выполните команду ‘ systemctl ‘ ниже, чтобы запустить и включить службы Netbox.
sudo systemctl enable --now netbox netbox-rq netbox-housekeepingНаконец, проверьте службы Netbox, чтобы убедиться, что они работают, с помощью следующей команды.
sudo systemctl status netbox netbox-rq netbox-housekeepingВ следующем выводе вы можете увидеть, что служба ‘ netbox ‘ работает и включена.

Для службы ‘ netbox-rq ‘ вы должны получить вывод, похожий на этот:

Наконец, ‘ netbox-housekeeping ‘ со статусом ‘ dead ‘, потому что он будет работать как таймер.

Настройка Apache как обратного прокси
На данный момент Netbox работает в фоновом режиме как служба под сервером Python WSGI. Чтобы сделать его доступным извне, вам нужно настроить Apache как обратный прокси. Перед этим вам также нужно сгенерировать SSL-сертификаты для защиты установки Netbox.
Сначала выполните команду ниже, чтобы остановить службу ‘ apache2 ‘.
sudo systemctl stop apache2Теперь сгенерируйте SSL-сертификаты от Letsencrypt с помощью команды ‘ certbot ‘ ниже. Убедитесь, что вы изменили доменное имя и адрес электронной почты на свои данные.
sudo certbot certonly --standalone --preferred-challenges http -d netbox.howtoforge.localПосле завершения процесса ваши SSL-сертификаты будут доступны в директории ‘ /etc/letsencrypt/live/domain.com ‘.
Далее скопируйте конфигурацию Apache для Netbox в файл ‘ /etc/apache2/sites-available/netbox.conf ‘ и измените его с помощью редактора ‘ nano ‘.
sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf
sudo nano /etc/apache2/sites-available/netbox.confЗамените доменное имя в опции ‘ ServerName ‘ и измените путь к вашим SSL-сертификатам.
# ИЗМЕНИТЕ ЭТО НА ИМЯ ВАШЕГО СЕРВЕРА
ServerName netbox.howtoforge.local
...
ProxyPreserveHost On
# ИЗМЕНИТЕ ЭТО НА ИМЯ ВАШЕГО СЕРВЕРА
ServerName netbox.howtoforge.local
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/netbox.howtoforge.local/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/netbox.howtoforge.local/privkey.pem
...
Сохраните файл и выйдите из редактора, когда закончите.
Теперь выполните команду ниже, чтобы активировать модули Apache и файл виртуального хоста ‘ netbox.conf ‘.
sudo a2enmod ssl proxy proxy_http headers rewrite
sudo a2ensite netbox.confПосле активации виртуального хоста выполните следующую команду, чтобы перезапустить Apache и применить ваши изменения. С этим ваша установка Netbox должна работать под обратным прокси Apache с включенным HTTPS.
sudo systemctl restart apache2Наконец, посетите https://netbox.howtoforge.local/ с помощью вашего веб-браузера, и вы будете перенаправлены на страницу входа в Netbox. Введите ваше имя администратора и пароль, затем нажмите Войти.

Вы увидите следующую панель управления Netbox, если у вас есть правильные учетные данные администратора.

Нажмите на меню Admin > System, чтобы увидеть информацию о вашей установке Netbox. В следующем выводе вы можете увидеть, что установлена версия Netbox v4.1.7 с базой данных PostgreSQL.

Заключение
Поздравляем! Вы завершили установку Netbox IRM на сервер Ubuntu 24.04. Вы запустили Netbox с PostgreSQL в качестве сервера базы данных и Apache в качестве обратного прокси. Вы также защитили Netbox с помощью HTTPS через Certbot.
Get new posts in your inbox
No spam. Unsubscribe anytime.