Поиск по сайту:

Как установить NetBox Network Documentation and Management Tool на Ubuntu 22.04


На этой странице

  1. Предпосылки
  2. Шаг 1. Настройка брандмауэра
  3. Шаг 2. Установка и настройка PostgreSQL
  4. Шаг 3. Установка и настройка Redis
  5. Шаг 4. Загрузите NetBox
  6. Шаг 5. Настройка NetBox
  7. Шаг 6. Установите NetBox
  8. Шаг 7. Настройка Gunicorn и создание служебного файла
  9. Шаг 8. Установите Nginx
  10. Шаг 9. Установите SSL
  11. Шаг 10. Настройка Nginx
  12. Шаг 11. Обновите NetBox
  13. Заключение

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

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

Предпосылки

  • A server running Ubuntu 22.04.

  • A non-root user with sudo privileges.

  • A fully qualified domain name (FQDN) like netbox.example.com.

  • Make sure everything is updated.

    $ sudo apt update
    $ sudo apt upgrade
    
  • Few packages that your system needs.

    $ sudo apt install wget curl nano software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
    

    Some of these packages may already be installed on your system.

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

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

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

$ sudo ufw status

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

Status: inactive

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

$ sudo ufw allow OpenSSH

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

$ sudo ufw allow http
$ sudo ufw allow https

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

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Еще раз проверьте состояние брандмауэра.

$ 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 для нашего руководства.

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

$ 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 'Your_Password';

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

postgres-# ALTER DATABASE netbox OWNER TO netbox;

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

postgres-# \q

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

$ psql --username netbox --password --host localhost netbox
Password for user 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. Для нашего руководства мы установим последнюю версию из официального репозитория.

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

$ 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 по умолчанию. Замените Your_Redis_Password надежным паролем по вашему выбору.

127.0.0.1:6379> acl setuser default >Your_Redis_Password

Протестируйте аутентификацию Redis.

127.0.0.1:6379> AUTH Your_Redis_Password
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

Клонируйте основную ветку репозитория NetBoxs 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

Прежде чем проверить его, вам нужно добавить каталог в список безопасных каталогов Gits. Это новая функция безопасности, доступная в последних версиях 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)^+$=1+(

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

$ sudo nano configuration.py

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

ALLOWED_HOSTS = ['netbox.example.com', '<yourserverIP>']

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

DATABASE = {
    'NAME': 'netbox',              # Database name
    'USER': 'netbox',              # PostgreSQL username
    'PASSWORD': 'Your_Password',   # PostgreSQL password
    'HOST': 'localhost',           # Database server
    'PORT': '',                    # Database port (leave blank for default)
    'CONN_MAX_AGE': 300,           # Max database connection age
}

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

REDIS = {
    'tasks': {
        'HOST': 'localhost',
        'PORT': 6379,
        # Comment out `HOST` and `PORT` lines and uncomment the following if using Redis Sentinel
        # 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
        # 'SENTINEL_SERVICE': 'netbox',
        'PASSWORD': 'Your_Redis_Password',
        'DATABASE': 0,
        'SSL': False,
        # Set this to True to skip TLS certificate verification
        # This can expose the connection to attacks, be careful
        # 'INSECURE_SKIP_TLS_VERIFY': False,
    },
    'caching': {
        'HOST': 'localhost',
        'PORT': 6379,
        # Comment out `HOST` and `PORT` lines and uncomment the following if using Redis Sentinel
        # 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
        # 'SENTINEL_SERVICE': 'netbox',
        'PASSWORD': 'Your_Redis_Password',
        'DATABASE': 1,
        'SSL': False,
        # Set this to True to skip TLS certificate verification
        # This can expose the connection to attacks, be careful
        # 'INSECURE_SKIP_TLS_VERIFY': False,
    }
}

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

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

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

STORAGE_BACKEND = 'storages.backends.s3boto3.S3Boto3Storage'
STORAGE_CONFIG = {
    'AWS_ACCESS_KEY_ID': 'Key ID',
    'AWS_SECRET_ACCESS_KEY': 'Secret',
    '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

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

Username (leave blank to use 'navjot'):
Email address: 
Password:
Password (again):
Superuser created successfully.

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

(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

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

Performing system checks...

System check identified no issues (0 silenced).
December 27, 2022 - 09:27:37
Django version 4.1.4, using settings 'netbox.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

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

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

Вы вернетесь к панели управления 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.

Импортировать ключ подписи Nginxs.

$ 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

Установите Нгинкс.

$ 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

Установите Сертбот.

$ 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  -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 {
  # Redirect any http requests to 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 configuration
  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 ---
  # fetch OCSP records from URL in ssl_certificate and cache them
  ssl_stapling on;
  ssl_stapling_verify on;
  ssl_dhparam /etc/ssl/certs/dhparam.pem;

  client_max_body_size 25m;

  # Proxy everything over to the netbox server
  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: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

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

$ sudo systemctl restart nginx

Теперь вы можете получить доступ к NetBox Dashboard через 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 Network Documentation and Management Tool на сервер Ubuntu 22.04 вместе с NGinx в качестве обратного прокси-сервера. Если у вас есть какие-либо вопросы, задайте их в комментариях ниже.