Установка NetBox · 14 min read · Oct 22, 2025

Как установить инструмент документации и управления сетью NetBox на Ubuntu 22.04

NetBox — это веб-приложение с открытым исходным кодом для управления IP-адресами (IPAM) и инфраструктурой дата-центров (DCIM), используемое для управления и документирования компьютерных сетей и IP-адресов. Изначально его разработала команда сетевых инженеров DigitalOcean. Оно написано с использованием фреймворка Django на Python и использует базу данных PostgreSQL для хранения данных. Также используется база данных Redis для кэширования запросов.

Этот учебник научит вас, как установить инструмент NetBox на сервер Ubuntu 22.04 и Nginx в качестве обратного прокси-сервера.

Предварительные требования

  • Сервер с установленной Ubuntu 22.04.
  • Пользователь, не являющийся root, с правами sudo.
  • Полное доменное имя (FQDN), например, netbox.example.com.
  • Убедитесь, что все обновлено. $ sudo apt update $ sudo apt upgrade
  • Несколько пакетов, необходимых вашей системе. $ sudo apt install wget curl nano software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y Некоторые из этих пакетов могут уже быть установлены на вашей системе.

Шаг 1 - Настройка брандмауэра

Первый шаг — настроить брандмауэр. Ubuntu по умолчанию поставляется с ufw (Uncomplicated Firewall).

Проверьте, работает ли брандмауэр.

$ sudo ufw status

Вы должны получить следующий вывод.

Status: inactive

Разрешите порт SSH, чтобы брандмауэр не разорвал текущее соединение при его включении.

$ sudo ufw allow OpenSSH

Также разрешите порты HTTP и HTTPS.

$ sudo ufw allow http
$ sudo ufw allow https

Включите брандмауэр

$ sudo ufw enable
Команда может нарушить существующие ssh-соединения. Продолжить операцию (y|n)? y
Брандмауэр активен и включен при запуске системы

Проверьте статус брандмауэра снова.

$ sudo ufw status

Вы должны увидеть аналогичный вывод.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443                        ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)

Шаг 2 - Установка и настройка PostgreSQL

NetBox работает с PostgreSQL 11 и выше. Ubuntu 22.04 по умолчанию поставляется с PostgreSQL 14. Мы будем использовать PostgreSQL 15 для нашего учебника.

Запустите следующую команду, чтобы добавить GPG-ключ PostgreSQL.

$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null

Добавьте репозиторий APT в список источников.

$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/postgresql-key.gpg arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Обновите системный репозиторий.

$ sudo apt update

Теперь вы можете установить PostgreSQL, используя следующую команду.

$ sudo apt install postgresql postgresql-contrib

Пакет postgresql-contrib содержит некоторые дополнительные утилиты.

Проверьте статус службы PostgreSQL.

$ sudo systemctl status postgresql
? postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Tue 2022-11-27 9:10:35 UTC; 5s ago
    Process: 30544 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 30544 (code=exited, status=0/SUCCESS)
        CPU: 2ms

Dec 27 9:10:35 netbox systemd[1]: Starting PostgreSQL RDBMS...
Dec 27 9:10:35 netbox systemd[1]: Finished PostgreSQL RDBMS.

Вы можете увидеть, что служба включена и работает по умолчанию.

Запустите оболочку PostgreSQL.

$ sudo -i -u postgres psql

Создайте базу данных NetBox.

postgres=# CREATE DATABASE netbox;

Создайте пользователя NetBox и выберите надежный пароль.

postgres-# CREATE USER netbox WITH PASSWORD 'Ваш_Пароль';

Измените владельца базы данных на пользователя NetBox.

postgres-# ALTER DATABASE netbox OWNER TO netbox;

Выйдите из оболочки.

postgres-# \q

Проверьте, работают ли ваши учетные данные.

$ psql --username netbox --password --host localhost netbox
Пароль для пользователя netbox:
psql (15.1 (Ubuntu 15.1-1.pgdg22.04+1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

netbox=>

Выйдите из оболочки, набрав \q.

Шаг 3 - Установка и настройка Redis

Ubuntu поставляется с Redis 6.0.16. Для нашего учебника мы установим последнюю версию из официального репозитория.

Импортируйте официальный GPG-ключ Redis.

$ curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

Добавьте репозиторий APT в список источников.

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

Обновите список системных репозиториев.

$ sudo apt update

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

$ sudo apt install redis

Подтвердите версию Redis.

$ redis-server -v
Redis server v=7.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=2260280010e18db8

Давайте проверим соединение службы, используя следующую команду.

$ redis-cli

Вы перейдете в оболочку Redis.

Первый шаг — установить пароль для пользователя по умолчанию Redis. Замените Ваш_Redis_Пароль на надежный пароль по вашему выбору.

127.0.0.1:6379> acl setuser default >Ваш_Redis_Пароль

Проверьте аутентификацию Redis.

127.0.0.1:6379> AUTH Ваш_Redis_Пароль
OK

Пинг службы.

127.0.0.1:6379> ping
PONG

Выйдите из службы, набрав exit.

Шаг 4 - Загрузка NetBox

NetBox требует Python Django для работы. Первый шаг в установке NetBox — установить необходимые пакеты Python. Выполните следующую команду, чтобы установить необходимые пакеты Python.

$ sudo apt install -y python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev zlib1g-dev

Проверьте версию Python.

$ python3 -V
Python 3.10.6

Создайте базовый каталог для установки NetBox.

$ sudo mkdir -p /opt/netbox/

Перейдите в каталог.

$ cd /opt/netbox

Клонируйте основную ветку репозитория NetBox с GitHub в текущий каталог.

$ sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git .

Флаг --depth 1 получает только последний коммит репозитория. Если вы хотите загрузить всю историю коммитов, вы можете опустить флаг.

Проверьте последнюю версию NetBox на странице релизов и проверьте ее с помощью Git. На момент написания учебника 3.4.1 — последняя доступная версия.

$ git config --global --add safe.directory /opt/netbox
$ sudo git checkout v3.4.1

Перед тем как проверить, вам нужно добавить каталог в список безопасных каталогов Git. Это новая функция безопасности, доступная в последних версиях Git.

Следующий шаг — создать системного пользователя и группу для NetBox.

$ sudo adduser --system --group netbox

Дайте пользователю разрешение на каталог медиа NetBox.

$ sudo chown --recursive netbox /opt/netbox/netbox/media/

Шаг 5 - Настройка NetBox

Перейдите в каталог конфигурации NetBox.

$ cd /opt/netbox/netbox/netbox/

Скопируйте файл примера конфигурации, чтобы создать фактический файл.

$ sudo cp configuration_example.py configuration.py

Перед тем как продолжить с конфигурацией, нам нужно создать секретный ключ для NetBox. Запишите ключ, потому что он нам понадобится для конфигурации.

$ python3 ../generate_secret_key.py
dSSWi$Ar2cVvu1)V!B82sY1tJAQK9r)vzM8ReQRF7@C^+$=1+(

Откройте файл конфигурации для редактирования.

$ sudo nano configuration.py

Найдите переменную ALLOWED_HOSTS и установите ее значения следующим образом. Эта переменная содержит список допустимых имен хостов и IP-адресов, по которым можно получить доступ к этому серверу.

ALLOWED_HOSTS = ['netbox.example.com', '<вашIPсервера>']

Следующий шаг — отредактировать данные базы данных. Настройте данные базы данных следующим образом.

DATABASE = {
    'NAME': 'netbox',              # Имя базы данных
    'USER': 'netbox',              # Имя пользователя PostgreSQL
    'PASSWORD': 'Ваш_Пароль',   # Пароль PostgreSQL
    'HOST': 'localhost',           # Сервер базы данных
    'PORT': '',                    # Порт базы данных (оставьте пустым для значения по умолчанию)
    'CONN_MAX_AGE': 300,           # Максимальный возраст соединения с базой данных
}

Настройте конфигурацию Redis, как показано. Введите пароль Redis, который вы установили на шаге 3.

REDIS = {
    'tasks': {
        'HOST': 'localhost',
        'PORT': 6379,
        # Закомментируйте строки `HOST` и `PORT` и раскомментируйте следующее, если используете Redis Sentinel
        # 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
        # 'SENTINEL_SERVICE': 'netbox',
        'PASSWORD': 'Ваш_Redis_Пароль',
        'DATABASE': 0,
        'SSL': False,
        # Установите это значение в True, чтобы пропустить проверку сертификата TLS
        # Это может подвергнуть соединение атакам, будьте осторожны
        # 'INSECURE_SKIP_TLS_VERIFY': False,
    },
    'caching': {
        'HOST': 'localhost',
        'PORT': 6379,
        # Закомментируйте строки `HOST` и `PORT` и раскомментируйте следующее, если используете Redis Sentinel
        # 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
        # 'SENTINEL_SERVICE': 'netbox',
        'PASSWORD': 'Ваш_Redis_Пароль',
        'DATABASE': 1,
        'SSL': False,
        # Установите это значение в True, чтобы пропустить проверку сертификата TLS
        # Это может подвергнуть соединение атакам, будьте осторожны
        # 'INSECURE_SKIP_TLS_VERIFY': False,
    }
}

Добавьте значение секретного ключа в переменную.

SECRET_KEY = 'dSSWi$Ar2cVvu1)V!B82sY1tJAQK9r)vzM8ReQRF7@C^+$=1+('

По умолчанию NetBox использует локальную файловую систему для хранения загруженных файлов. Вы можете хранить файлы на удаленной файловой системе, установив библиотеку django-storages. Выполните следующую команду, чтобы добавить пакет django-storages в requirements.txt NetBox, который затем будет установлен на следующем этапе. Нам также нужно настроить параметры хранения. Раскомментируйте раздел хранения в файле конфигурации и выполните следующие действия.

STORAGE_BACKEND = 'storages.backends.s3boto3.S3Boto3Storage'
STORAGE_CONFIG = {
    'AWS_ACCESS_KEY_ID': 'Ключ ID',
    'AWS_SECRET_ACCESS_KEY': 'Секрет',
    'AWS_STORAGE_BUCKET_NAME': 'netbox',
    'AWS_S3_REGION_NAME': 'eu-west-1',
}

Поддерживаются и другие типы хранения, включая FTP, SFTP, Dropbox и других поставщиков S3. Чтобы узнать, как их настроить, вы можете прочитать страницу справки django-storages.

Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.

Шаг 6 - Установка NetBox

Запустите скрипт обновления NetBox.

$ sudo /opt/netbox/upgrade.sh

Скрипт обновления выполняет следующие задачи.

  • Создает виртуальную среду Python
  • Устанавливает все необходимые пакеты Python
  • Выполняет миграции схемы базы данных
  • Собирает документацию локально (для оффлайн-использования)
  • Аггрегирует статические файлы ресурсов на диске

Активируйте виртуальную среду, созданную скриптом обновления.

$ source /opt/netbox/venv/bin/activate

Следующий шаг — создать суперпользователя для доступа к NetBox. Но сначала перейдите в необходимый каталог.

(venv) $ cd /opt/netbox/netbox

Создайте суперпользователя.

(venv) $ python3 manage.py createsuperuser

Вы получите следующий вывод.

Имя пользователя (оставьте пустым, чтобы использовать 'navjot'):
Адрес электронной почты: [email protected]
Пароль:
Пароль (снова):
Суперпользователь успешно создан.

NetBox включает команду управления housekeeping, которая обрабатывает повторяющиеся задачи очистки, такие как удаление старых сеансов и истекших записей изменений. Вы можете либо запускать команду вручную, либо использовать cron для ее выполнения через регулярные промежутки времени. NetBox предоставляет оболочку скрипта для выполнения задач по обслуживанию. Выполните следующую команду, чтобы создать символическую ссылку для скрипта в каталоге Cron daily. Это обеспечит выполнение команды ежедневно.

(venv) $ sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping

Последний шаг — протестировать, работает ли приложение NetBox. Но сначала нам нужно открыть порт 8000 для тестирования. Вы можете использовать любой порт.

(venv) $ sudo ufw allow 8000

Запустите экземпляр разработки NetBox.

(venv) $ python3 manage.py runserver 0.0.0.0:8000 --insecure

Если все прошло успешно, вы получите следующий вывод.

Выполняются системные проверки...

Проверка системы не выявила проблем (0 подавлено).
27 декабря 2022 - 09:27:37
Версия Django 4.1.4, используемая с настройками 'netbox.settings'
Запуск сервера разработки на http://0.0.0.0:8000/
Выход из сервера с помощью CONTROL-C.

Вы должны иметь возможность получить доступ к NetBox по URL http://<вашIPсервера>:8000/. Вы увидите следующий экран.

Главная страница NetBox

Нажмите кнопку Войти, чтобы открыть страницу входа и введите учетные данные суперпользователя, созданные ранее.

Страница входа NetBox

Вы будете перенаправлены обратно на панель управления NetBox.

Нажмите клавиши Ctrl + C, чтобы остановить сервер. Деактивируйте виртуальную среду Python.

(venv) $ deactivate

Шаг 7 - Настройка Gunicorn и создание файла службы

NetBox работает как WSGI-приложение за HTTP-сервером. NetBox автоматически устанавливает сервер Gunicorn. На этом этапе мы настроим Gunicorn и создадим файл службы для NetBox, чтобы его можно было запускать в фоновом режиме и при перезагрузке системы.

NetBox поставляется с файлом конфигурации Gunicorn по умолчанию. Создайте его копию.

$ sudo cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py

Конфигурации по умолчанию должно быть достаточно для наших целей. В зависимости от ваших потребностей вы можете отредактировать файл, чтобы изменить имя хоста, номер порта или улучшить производительность, изменив количество потоков, рабочих процессов и количество запросов.

Следующий шаг — скопировать файлы службы NetBox и Gunicorn в каталог /etc/systemd/system.

$ sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/

Перезагрузите демон службы.

$ sudo systemctl daemon-reload

Запустите и включите службы netbox и netbox-rq.

$ sudo systemctl start netbox netbox-rq
$ sudo systemctl enable netbox netbox-rq

Проверьте статус службы WSGI.

$ sudo systemctl status netbox

Вы получите аналогичный вывод.

? netbox.service - NetBox WSGI Service
     Loaded: loaded (/etc/systemd/system/netbox.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-12-27 09:28:23 UTC; 17s ago
       Docs: https://docs.netbox.dev/
   Main PID: 4180 (gunicorn)
      Tasks: 6 (limit: 1030)
     Memory: 357.9M
        CPU: 7.747s
     CGroup: /system.slice/netbox.service
             ??4180 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4181 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4182 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4183 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4184 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4185 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi

Dec 27 09:28:23 netbox systemd[1]: Started NetBox WSGI Service.
Dec 27 09:28:24 netbox gunicorn[4180]: [2022-12-27 09:28:24 +0000] [4180] [INFO] Starting gunicorn 20.1.0
Dec 27 09:28:24 netbox gunicorn[4180]: [2022-12-27 09:28:24 +0000] [4180] [INFO] Listening at: http://127.0.0.1:8001 (4180)
Dec 27 09:28:24 netbox gunicorn[4180]: [2022-12-27 09:28:24 +0000] [4180] [INFO] Using worker: gthread
Dec 27 09:28:24 netbox gunicorn[4181]: [2022-12-27 09:28:24 +0000] [4181] [INFO] Booting worker with pid: 4181
Dec 27 09:28:24 netbox gunicorn[4182]: [2022-12-27 09:28:24 +0000] [4182] [INFO] Booting worker with pid: 4182
Dec 27 09:28:24 netbox gunicorn[4183]: [2022-12-27 09:28:24 +0000] [4183] [INFO] Booting worker with pid: 4183
Dec 27 09:28:24 netbox gunicorn[4184]: [2022-12-27 09:28:24 +0000] [4184] [INFO] Booting worker with pid: 4184
Dec 27 09:28:24 netbox gunicorn[4185]: [2022-12-27 09:28:24 +0000] [4185] [INFO] Booting worker with pid: 4185

Как вы видите, Gunicorn слушает на порту 8001 по умолчанию. Эта информация будет полезна при настройке Nginx в качестве обратного прокси-сервера.

Шаг 8 - Установка Nginx

Ubuntu 22.04 поставляется со старой версией Nginx. Чтобы установить последнюю версию, вам нужно загрузить официальный репозиторий Nginx.

Импортируйте ключ подписи Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Добавьте репозиторий для стабильной версии Nginx.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Обновите системные репозитории.

$ sudo apt update

Установите Nginx.

$ sudo apt install nginx

Проверьте установку.

$ nginx -v
nginx version: nginx/1.22.1

Запустите сервер Nginx.

$ sudo systemctl start nginx

Шаг 9 - Установка SSL

Нам нужно установить Certbot для генерации SSL-сертификата. Вы можете установить Certbot, используя репозиторий Ubuntu, или получить последнюю версию с помощью инструмента Snapd. Мы будем использовать версию Snapd.

Ubuntu 22.04 поставляется с установленным Snapd по умолчанию. Выполните следующие команды, чтобы убедиться, что ваша версия Snapd обновлена. Убедитесь, что ваша версия Snapd обновлена.

$ sudo snap install core
$ sudo snap refresh core

Установите Certbot.

$ sudo snap install --classic certbot

Используйте следующую команду, чтобы убедиться, что команда Certbot работает, создав символическую ссылку в каталоге /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Запустите следующую команду, чтобы сгенерировать SSL-сертификат.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d netbox.example.com

Вышеуказанная команда загрузит сертификат в каталог /etc/letsencrypt/live/netbox.example.com на вашем сервере.

Сгенерируйте сертификат группы Диффи-Хеллмана.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Чтобы проверить, работает ли автоматическое обновление SSL, выполните пробный запуск процесса.

$ sudo certbot renew --dry-run

Если вы не видите ошибок, вы готовы. Ваш сертификат будет автоматически обновляться.

Шаг 10 - Настройка Nginx

Откройте файл /etc/nginx/nginx.conf для редактирования.

$ sudo nano /etc/nginx/nginx.conf

Добавьте следующую строку перед строкой include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size  64;

Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.

Создайте и откройте файл /etc/nginx/conf.d/netbox.conf для редактирования.

$ sudo nano /etc/nginx/conf.d/netbox.conf

Вставьте следующий код в него.

server {
  # Перенаправить любые http-запросы на https
  listen         80;
  listen         [::]:80;
  server_name    netbox.example.com;
  return 301     https://$host$request_uri;
}

server {
  listen                    443 ssl http2;
  listen                    [::]:443 ssl http2;
  server_name               netbox.example.com;

  access_log                /var/log/nginx/netbox.access.log;
  error_log                 /var/log/nginx/netbox.error.log;

  # Конфигурация TLS
  ssl_certificate           /etc/letsencrypt/live/netbox.example.com/fullchain.pem;
  ssl_certificate_key       /etc/letsencrypt/live/netbox.example.com/privkey.pem;
  ssl_trusted_certificate   /etc/letsencrypt/live/netbox.example.com/chain.pem;
  ssl_protocols             TLSv1.2 TLSv1.3;

  ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
  ssl_prefer_server_ciphers on;
  ssl_session_cache         shared:SSL:50m;
  ssl_session_timeout       1d;

  # OCSP Stapling ---
  # извлекает OCSP-записи из URL в ssl_certificate и кэширует их
  ssl_stapling on;
  ssl_stapling_verify on;
  ssl_dhparam /etc/ssl/certs/dhparam.pem;

  client_max_body_size 25m;

  # Прокси все на сервер netbox
  location /static/ {
    alias /opt/netbox/netbox/static/;
  }

  location / {
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_set_header        X-Forwarded-Host $http_host;
    proxy_pass              http://127.0.0.1:8001;
  }
}

Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено после завершения.

Проверьте синтаксис конфигурационного файла Nginx.

$ sudo nginx -t
nginx: конфигурационный файл /etc/nginx/nginx.conf синтаксически верен
nginx: тест конфигурационного файла /etc/nginx/nginx.conf успешен

Перезапустите службу Nginx.

$ sudo systemctl restart nginx

Теперь вы можете получить доступ к панели управления NetBox по URL https://netbox.example.com.

Шаг 11 - Обновление NetBox

Обновление NetBox довольно просто. Шаги включают в себя проверку основной ветки репозитория Git, получение последних коммитов, а затем проверку новой стабильной версии.

Перейдите в каталог NetBox.

$ cd /opt/netbox

Проверьте основную ветку.

$ sudo git checkout master

Получите последние коммиты из репозитория.

$ sudo git pull origin master

Проверьте новую версию. Если 3.4.2 — новая версия, вы можете проверить ее.

$ sudo git checkout v3.4.2

Запустите скрипт обновления.

$ sudo ./upgrade.sh

В процессе обновления скрипт выполняет следующие функции.

  • Уничтожает и восстанавливает виртуальную среду Python
  • Устанавливает все необходимые пакеты Python (перечисленные в requirements.txt)
  • Устанавливает любые дополнительные пакеты из local_requirements.txt
  • Применяет любые миграции базы данных, которые были включены в релиз
  • Собирает документацию локально (для оффлайн-использования)
  • Собирает все статические файлы для обслуживания HTTP-сервисом
  • Удаляет устаревшие типы контента из базы данных
  • Удаляет все истекшие сеансы пользователей из базы данных

Перезапустите службы Gunicorn и NetBox.

$ sudo systemctl restart netbox netbox-rq

Заключение

Это завершает наш учебник по установке инструмента документации и управления сетью NetBox на сервере Ubuntu 22.04 вместе с Nginx в качестве обратного прокси-сервера. Если у вас есть какие-либо вопросы, оставляйте их в комментариях ниже.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.