Как установить NetBox Network Documentation and Management Tool на Ubuntu 22.04
На этой странице
- Предпосылки
- Шаг 1. Настройка брандмауэра
- Шаг 2. Установка и настройка PostgreSQL
- Шаг 3. Установка и настройка Redis
- Шаг 4. Загрузите NetBox
- Шаг 5. Настройка NetBox
- Шаг 6. Установите NetBox
- Шаг 7. Настройка Gunicorn и создание служебного файла
- Шаг 8. Установите Nginx
- Шаг 9. Установите SSL
- Шаг 10. Настройка Nginx
- Шаг 11. Обновите NetBox
- Заключение
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://
. Вы получите следующий экран.
Нажмите кнопку «Войти», чтобы открыть страницу входа, и введите учетные данные суперпользователя, созданные ранее.
Вы вернетесь к панели управления 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 в качестве обратного прокси-сервера. Если у вас есть какие-либо вопросы, задайте их в комментариях ниже.