Instalação NetBox · 8 min read · Sep 12, 2025

Como Instalar o NetBox IRM (Ferramenta de Modelagem de Recursos de Infraestrutura) no Servidor Ubuntu 24.04

NetBox é uma Ferramenta de Modelagem de Recursos de Infraestrutura (IRM) projetada para automação de rede e engenharia de infraestrutura. Inicialmente, foi criada pela equipe da DigitalOcean e agora se tornou um projeto de código aberto lançado sob a Licença Apache 2.

NetBox foi criado no framework web Python Django com PostgreSQL como o banco de dados padrão, e a instalação do NetBox é bastante semelhante a outras aplicações web em Python Django.

Este tutorial mostrará como instalar o Netbox IRM no servidor Ubuntu 24.04 com PostgreSQL como banco de dados e Apache como um proxy reverso. Você também irá proteger o Netbox com HTTPS através do Certbot e Letsencrypt.

Pré-requisitos

Antes de prosseguir, certifique-se de ter o seguinte:

  • Um servidor Ubuntu 24.04
  • Um usuário não-root com privilégios de administrador
  • Um nome de domínio apontado para o endereço IP do servidor

Instalando Dependências

Para instalar o Netbox, você deve garantir que as dependências estejam instaladas em seu servidor Ubuntu. Isso inclui Python3, servidor PostgreSQL, servidor web Apache, Redis e bibliotecas do sistema. Nesta seção, você instalará esses pacotes com o gerenciador de pacotes APT.

Primeiro, execute o seguinte comando para atualizar o índice de pacotes do Ubuntu.

sudo apt update

Uma vez atualizado, instale as dependências para o Netbox com o seguinte comando. Neste exemplo, você instalará PostgreSQL, Apache, Python, Redis, Certbot, dependências de construção e algumas bibliotecas.

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

Digite ‘ Y ‘ para confirmar a instalação.

install deps

Após a instalação ser concluída, execute o comando ‘systemctl’ abaixo para verificar o status do servidor web Apache.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

Na saída a seguir, você pode ver que o Apache está em execução e habilitado.

check apache2

Por fim, verifique o status do servidor PostgreSQL com o seguinte:

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Na saída abaixo, você pode ver que o PostgreSQL está habilitado e em execução com o status de encerrado (o systemd não consegue encontrar o serviço para monitorar).

check service postgresql

Configurando o PostgreSQL

Após as dependências serem instaladas, você precisa configurar o servidor PostgreSQL criando um novo usuário e banco de dados que o Netbox usará.

Faça login no servidor PostgreSQL usando o comando abaixo.

sudo -u postgres psql

Agora execute as seguintes consultas para criar um novo usuário ‘ netbox ‘ com a senha ‘ netboxpassword ‘ e o novo banco de dados ‘ netboxdb ‘.

CREATE USER netbox LOGIN CREATEDB PASSWORD 'netboxpassword';  
CREATE DATABASE netboxdb OWNER netbox;

Uma vez que o banco de dados e o usuário sejam criados, verifique a lista de bancos de dados e usuários no PostgreSQL com o seguinte.

\l  
\du

Você pode ver abaixo que o banco de dados ‘ netboxdb ‘ e o usuário ‘ netbox ‘ foram criados.

Digite ‘ quit ‘ para sair do servidor PostgreSQL.

list databases

list users

Baixando e Configurando o Netbox

Agora que o banco de dados PostgreSQL está pronto, você irá baixar e instalar o Netbox em sua máquina Ubuntu. Você irá configurar o nome de domínio, chave secreta e banco de dados para o Netbox.

Primeiro, execute o comando abaixo para criar um novo usuário ‘netbox’ em sua máquina Ubuntu.

sudo useradd -r -d /opt/netbox -s /usr/sbin/nologin netbox

Agora execute o comando abaixo para baixar o código-fonte do Netbox com o comando ‘ git ‘, e mudar a propriedade para o usuário ‘ netbox ‘.

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

Mova para o diretório ‘ /opt/netbox/netbox/netbox ‘ e execute o arquivo ‘ generate_secret_key.py ‘. Copie a chave secreta para suas anotações.

cd /opt/netbox/netbox/netbox  
sudo -u netbox python3 ../generate_secret_key.py

Em seguida, copie o arquivo ‘ configuration.py ‘ e modifique-o usando o editor ‘ nano ‘.

sudo -u netbox cp configuration_example.py configuration.py  
sudo -u netbox nano configuration.py

Adicione seu endereço IP local e nome de domínio à seção ‘ ALLOWED_HOSTS ‘.

ALLOWED_HOSTS = ['netbox.howtoforge.local', '192.168.10.60']

Digite o nome do seu banco de dados PostgreSQL, usuário e senha na seção ‘ DATABASE ‘.

# configuração do banco de dados  
DATABASE = {  
'NAME': 'netboxdb', # Nome do banco de dados  
'USER': 'netbox', # Nome de usuário do PostgreSQL  
'PASSWORD': 'netboxpassword', # Senha do PostgreSQL  
'HOST': 'localhost', # Servidor do banco de dados  
'PORT': '', # Porta do banco de dados (deixe em branco para padrão)  
'CONN_MAX_AGE': 300, # Idade máxima da conexão com o banco de dados (segundos)  
}

Cole sua chave secreta na seção ‘ SECRET_KEY ‘.

SECRET_KEY = '98%D9uh8S%)T0QhQ@Z3zYf%Hik^CqWJ)Uwz%0J7TZUztmNiitG'

Salve o arquivo e saia do editor quando terminar.

Migrando o Netbox e configurando o administrador

Agora que você configurou o Netbox com o servidor PostgreSQL, está pronto para migrar o banco de dados e criar um usuário administrador para a instalação do Netbox.

Execute o script ‘ upgrade.sh ‘ usando o comando abaixo. Isso criará um ambiente Python, instalará dependências para o Netbox, migrará o banco de dados do Netbox, conectará ao Redis e, em seguida, gerará arquivos estáticos.

sudo -u netbox /opt/netbox/upgrade.sh

netbox configure

Abaixo você pode ver a migração do banco de dados para o Netbox.

migrate

E abaixo quando ‘ manage.py ‘ gera arquivos estáticos.

Após o processo ser concluído, você precisa criar um novo usuário administrador para o Netbox através do script ‘ manage.py ‘.

static files

Execute o seguinte comando para ativar o ambiente virtual do Netbox. Uma vez ativado, seu shell se tornará como ‘ (venv) user@hostname ‘.

source /opt/netbox/venv/bin/activate

Vá para o diretório ‘ /opt/netbox/netbox ‘ e execute o script ‘ manage.py ‘ como o seguinte:

cd /opt/netbox/netbox  
python3 manage.py createsuperuser

Digite seu nome de usuário, endereço de e-mail e senha para o administrador do Netbox.

create admin

Uma vez completo, execute o comando ‘ deactivate ‘ para sair do ambiente virtual do Netbox.

Executando o Netbox como um serviço

Nesta seção, você irá copiar as configurações do Netbox que serão usadas para executar o Netbox como um serviço systemd. Você precisa garantir que o Netbox esteja sendo executado sob o Gunicorn e, em seguida, copiar os arquivos de serviço do Netbox para o diretório ‘ /etc/systemd/system ‘.

Primeiro, copie o script ‘ gunicorn.py ‘ para o diretório ‘ /opt/netbox ‘. Este script contém a configuração para o Netbox ser executado sob o servidor WSGI do Python.

sudo -u netbox cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py

Agora execute o comando abaixo para copiar os arquivos de serviço para o Netbox para o diretório ‘ /etc/systemd/system ‘ e recarregar o gerenciador systemd.

sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/  
sudo systemctl daemon-reload

Uma vez que o systemd seja recarregado, execute o comando ‘ systemctl ‘ abaixo para iniciar e habilitar os serviços do Netbox.

sudo systemctl enable --now netbox netbox-rq netbox-housekeeping

Por fim, verifique os serviços do Netbox para garantir que estão em execução com o seguinte comando.

sudo systemctl status netbox netbox-rq netbox-housekeeping

Na saída a seguir, você pode ver que o serviço ‘ netbox ‘ está em execução e habilitado.

netbox

Para o serviço ‘ netbox-rq ‘, você deve obter uma saída como esta:

netbox-rq

Por fim, o ‘ netbox-housekeeping ‘ com o status ‘ dead ‘ porque será executado como um timer.

netbox-housekeeping

Configurando o Apache como um proxy reverso

Neste ponto, o Netbox está em execução em segundo plano como um serviço sob o servidor WSGI do Python. Para torná-lo acessível externamente, você precisa configurar o Apache como um proxy reverso. Antes disso, você também precisa gerar certificados SSL para proteger a instalação do Netbox.

Primeiro, execute o comando abaixo para parar o serviço ‘ apache2 ‘.

sudo systemctl stop apache2

Agora gere certificados SSL do Letsencrypt com o comando ‘ certbot ‘ abaixo. Certifique-se de alterar o nome do domínio e o endereço de e-mail com suas informações.

sudo certbot certonly --standalone --preferred-challenges http -d netbox.howtoforge.local

Após o processo ser concluído, seus certificados SSL estarão disponíveis no diretório ‘ /etc/letsencrypt/live/domain.com ‘.

Em seguida, copie a configuração do Apache para o Netbox para o arquivo ‘ /etc/apache2/sites-available/netbox.conf ‘ e modifique-o usando o editor ‘ nano ‘.

sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf  
sudo nano /etc/apache2/sites-available/netbox.conf

Substitua o nome do domínio na opção ‘ ServerName ‘ e altere o caminho dos seus certificados SSL.

  
# MUDE ISSO PARA O NOME DO SEU SERVIDOR  
ServerName netbox.howtoforge.local  
  
...  
  
  
  
ProxyPreserveHost On  
  
# MUDE ISSO PARA O NOME DO SEU SERVIDOR  
ServerName netbox.howtoforge.local  
  
SSLEngine on  
SSLCertificateFile /etc/letsencrypt/live/netbox.howtoforge.local/fullchain.pem  
SSLCertificateKeyFile /etc/letsencrypt/live/netbox.howtoforge.local/privkey.pem  
...  

Salve o arquivo e saia do editor quando terminar.

Agora execute o comando abaixo para ativar os módulos do Apache e o arquivo de host virtual ‘ netbox.conf ‘.

sudo a2enmod ssl proxy proxy_http headers rewrite  
sudo a2ensite netbox.conf

Após o host virtual ser ativado, execute o seguinte comando para reiniciar o Apache e aplicar suas alterações. Com isso, sua instalação do Netbox deve estar em execução sob o proxy reverso do Apache com HTTPS habilitado.

sudo systemctl restart apache2

Por fim, visite https://netbox.howtoforge.local/ com seu navegador web e você será redirecionado para a página de login do Netbox. Digite seu nome de usuário e senha de administrador e clique em Entrar.

login

Você verá o seguinte painel do Netbox se tiver as credenciais de administrador corretas.

dashboard

Clique no menu Admin > Sistema para ver informações sobre sua instalação do Netbox. Na saída a seguir, você pode ver que o Netbox v4.1.7 está instalado com o banco de dados PostgreSQL.

dashboard

Conclusão

Parabéns! Você concluiu a instalação do Netbox IRM no servidor Ubuntu 24.04. Você tem o Netbox em funcionamento com o PostgreSQL como servidor de banco de dados e o Apache como proxy reverso. Você também protegeu o Netbox com HTTPS através do Certbot.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.