Instalação NetBox · 11 min read · Oct 31, 2025

Como Instalar o NetBox IRM no Debian 12

NetBox é um Modelo de Recursos de Infraestrutura (IRM) projetado para automação de redes e engenharia de infraestrutura. Inicialmente, foi criado pela equipe da DigitalOcean e agora se tornou um projeto de código aberto lançado sob a Licença Apache 2. O 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.

Neste guia, mostraremos como instalar o software NetBox IRM no servidor Debian 12 passo a passo. Mostraremos a instalação do NetBox com PostgreSQL como o servidor de banco de dados e o servidor web Apache2 como um proxy reverso. Você também protegerá sua instalação do NetBox com certificados SSL/TLS.

Pré-requisitos

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

  • Um servidor Debian 12.
  • Um usuário não-root com privilégios de administrador.
  • Um nome de domínio público ou local apontado para o endereço IP do servidor.

Instalando Dependências

O NetBox é uma aplicação web baseada no framework web Python Django. Pode ser instalado com o servidor de banco de dados PostgreSQL e o servidor Redis para gerenciamento de cache.

No passo seguinte, você instalará as dependências que o NetBox precisa, e também instalará o servidor web Apache2 que será usado como um proxy reverso para sua instalação do NetBox.

Para começar, execute o seguinte comando apt para atualizar seu repositório Debian.

sudo apt update

atualizar repositório

Em seguida, instale as dependências de pacotes para sua instalação do NetBox IRM.

sudo apt install apache2 postgresql postgresql-common libpq-dev redis-server git python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libssl-dev zlib1g-dev

Digite y para prosseguir com a instalação de dependências como o servidor web Apache2, o servidor de banco de dados PostgreSQL, Redis, Git, pacotes Python3 e algumas bibliotecas de sistema adicionais.

instalar dependências

Após a instalação das dependências, verifique cada dependência executando o comando abaixo.

Verifique o serviço apache2 para garantir que o serviço está habilitado e em execução.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

Se o apache2 estiver em execução e habilitado, você deve obter uma saída como a seguinte:

verificar apache2

Verifique o serviço PostgreSQL para garantir que o serviço está em execução e habilitado.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

O serviço PostgreSQL deve estar em execução e habilitado assim:

verificar postgresql

Agora verifique o serviço Redis para garantir que o serviço está em execução e habilitado.

sudo systemctl is-enabled redis  
sudo systemctl status redis

O serviço Redis deve estar em execução e habilitado como o seguinte

verificar redis

Por último, verifique a versão do Python usando o comando abaixo. A versão mais recente do NetBox IRM suporta Python v3.9, 3.10 e 3.11.

python3 --version

Você deve ver Python 3.11 instalado em sua máquina Debian.

Configurando o Servidor PostgreSQL

Após instalar as dependências, você criará um novo banco de dados PostgreSQL e um usuário que o NetBox usará. Para fazer isso, você deve fazer login no servidor PostgreSQL via linha de comando psql.

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

sudo -u postgres psql

Execute as seguintes consultas para criar um novo usuário netbox com a senha p4ssw0rd. Em seguida, crie um novo banco de dados netboxdb com o proprietário netbox.

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

criar usuário de banco de dados

Depois disso, verifique a lista de usuários e bancos de dados no seu PostgreSQL executando o comando abaixo.

\l  
\du

Você deve ver o banco de dados netboxdb e o usuário netbox criados em seu servidor PostgreSQL.

verificar usuário de banco de dados

Digite quit para sair do servidor PostgreSQL.

Em seguida, faça login no PostgreSQL usando o novo usuário netbox no banco de dados netboxdb. Isso garantirá que o usuário netbox possa se conectar ao banco de dados netboxdb.

sudo -u postgres psql --username netbox --password --host localhost netboxdb

Uma vez conectado, verifique sua conexão usando a seguinte consulta.

\conninfo

Na saída a seguir, você deve ver que está conectado ao banco de dados netboxdb via usuário netbox.

verificar conexão

Digite quit novamente para sair do seu servidor PostgreSQL.

Configurando o Servidor Redis

Com o banco de dados e o usuário PostgreSQL criados, o próximo passo é configurar seu servidor Redis que será usado como gerenciamento de cache para o NetBox. Para fazer isso, você modificará a configuração do Redis /etc/redis/redis.conf e verificará suas alterações via redis-cli.

Abra a configuração padrão do Redis /etc/redis/redis.conf usando o seguinte comando do editor nano.

sudo nano /etc/redis/redis.conf

Descomente a opção requirepass e insira sua senha que será usada para proteger seu servidor Redis.

requirepass p4ssw0rdNetBox

Quando terminar, salve e saia do arquivo.

Agora execute o seguinte comando systemctl para reiniciar o serviço redis e aplicar as alterações que você fez.

sudo systemctl restart redis

Para garantir que tudo está funcionando, você pode verificar o Redis via redis-cli. Acesse seu servidor Redis usando o comando redis-cli abaixo.

redis-cli

Autentique-se no servidor Redis usando a seguinte consulta AUTH e tenha certeza de mudar a senha.

AUTH p4ssw0rdNetBox

Uma vez autenticado, você deve obter a saída OK.

Agora execute a consulta PING abaixo para garantir que sua conexão seja bem-sucedida.

PING

Se bem-sucedido, você deve obter a saída PONG do servidor Redis.

configurar redis

Instalando o NetBox IRM

Na seção seguinte, você fará o download e instalará o NetBox IRM em seu sistema. Você fará o download do código-fonte do NetBox via Git, em seguida, configurá-lo modificando a configuração do NetBox, adicionando o servidor de banco de dados PostgreSQL e Redis, e então você também criará um usuário administrador para o NetBox.

Primeiro, execute o comando abaixo para criar um novo usuário systemd netbox que será usado para executar a instalação do NetBox.

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

Baixe o código-fonte do NetBox IRM via git e mude a propriedade do diretório /opt/netbox para o usuário netbox.

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

criar usuário baixar netbox

Em seguida, mude seu diretório de trabalho para /opt/netbox e gere a chave secreta do NetBox via o script generate_secret_key.py. Certifique-se de copiar a chave secreta gerada que será usada para sua instalação do NetBox.

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

Copie a configuração padrão configuration_example.py para configuration.py, em seguida, abra o novo arquivo configuration.py usando o seguinte comando do editor nano.

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

Dentro da seção ALLOWED_HOSTS, adicione seu nome de domínio ou o endereço IP do seu servidor.

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

Insira os detalhes do seu banco de dados PostgreSQL na seção DATABASE, incluindo o nome do banco de dados, usuário, senha, host e porta.

# configuração do banco de dados  
DATABASE = {  
    'NAME': 'netboxdb',               # Nome do banco de dados  
    'USER': 'netbox',               # Nome de usuário do PostgreSQL  
    'PASSWORD': 'p4ssw0rd', # 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)  
}

Dentro da seção REDIS, insira os detalhes do seu servidor Redis para as opções de tarefas e cache.

# configuração do cache Redis  
REDIS = {  
    'tasks': {  
        'HOST': 'localhost',      # Servidor Redis  
        'PORT': 6379,             # Porta do Redis  
        'PASSWORD': 'p4ssw0rdNetBox',           # Senha do Redis (opcional)  
        'DATABASE': 0,            # ID do banco de dados  
        'SSL': False,             # Usar SSL (opcional)  
    },  
    'caching': {  
        'HOST': 'localhost',  
        'PORT': 6379,  
        'PASSWORD': 'p4ssw0rdNetBox',  
        'DATABASE': 1,            # ID único para o segundo banco de dados  
        'SSL': False,  
    }  
}

Por último, insira sua chave secreta na seção SECRET_KEY.

# Chave secreta  
SECRET_KEY = 'ZjYbgz$)j!NnqJcZLR!NB2BCz4(Yyk=o^Xr(1sTIrM)ZyiE%nk'

Quando terminar, salve e saia do arquivo.

Em seguida, execute o script /opt/netbox/upgrade.sh para iniciar sua instalação do NextBox. Isso criará um novo ambiente virtual Python, instalará alguns pacotes e bibliotecas Python, executará a migração do banco de dados para seu servidor PostgreSQL, além de gerar arquivos estáticos para o NextBox.

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

Abaixo está a saída semelhante que você obterá durante o processo.

instalação do netbox

O processo de migração do banco de dados.

migração do banco de dados

Gerando arquivos estáticos.

gerar arquivos estáticos

Abaixo está a saída quando a instalação é concluída.

instalação concluída

Após o NetBox ser configurado, você criará um usuário administrador para o NetBox. Para fazer isso, faça login no ambiente virtual Python que foi criado usando o seguinte comando.

source /opt/netbox/venv/bin/activate

Mova para o diretório /opt/netbox/netbox e execute o script manage.py para criar um usuário administrador do NetBox.

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

Quando solicitado, insira seu endereço de e-mail de administrador, nome de usuário e detalhes da senha.

criar superusuário

Em seguida, execute o manage.py novamente para verificar sua instalação do NetBox. Com isso, você executará o NetBox em seu endereço IP local na porta 8000.

python3 manage.py runserver 0.0.0.0:8000 --insecure

executando netbox

Abra seu navegador web e visite o endereço IP do seu servidor seguido pela porta 8000, como http://192.168.10.15:8000/. Se sua instalação for bem-sucedida, você deve ver a página de índice do NetBox IRM e, a partir daí, clique no botão Login no canto superior direito.

PÁGINA INICIAL DO NETBOX

Insira seu usuário administrador e a senha que você criou, em seguida, clique em Sign In.

LOGIN NETBOX

Se tudo correr bem, você deve ver o painel do NetBox como o seguinte:

painel do netbox

Volte ao seu terminal e pressione Ctrl+c para encerrar o processo.

Executando o NetBox como um Serviço Systemd

Neste ponto, você instalou o NetBox IRM em sua máquina Debian. Para facilitar o gerenciamento do NetBox, você executará o NetBox como um serviço systemd, que permite controlar o NetBox via a utilidade systemctl.

Copie o arquivo /opt/netbox/contrib/gunicorn.py para /opt/netbox/gunicorn.py, em seguida, abra o arquivo gunicorn.py usando o comando do editor nano abaixo.

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

Altere a opção bind para o seguinte. Isso executará sua instalação do NetBox na porta 8001 do localhost via gunicorn.

bind = '127.0.0.1:8001'

Salve e feche o arquivo quando terminar.

Em seguida, copie os arquivos de serviço systemd para o NetBox para o diretório /etc/systemd/system/. Isso copiará os arquivos de serviço netbox, netbox-rq e netbox-housekeeping para o diretório /etc/systemd/system/. Depois, recarregue o gerenciador systemd para aplicar as novas alterações em seu sistema.

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

Agora você pode iniciar e habilitar os serviços netbox e netbox-rq usando o comando systemctl abaixo. Após executar o comando, sua instalação do NetBox estará em execução em segundo plano como um serviço systemd.

sudo systemctl start netbox netbox-rq netbox-housekeeping  
sudo systemctl enable netbox netbox-rq netbox-housekeeping

Por último, verifique os serviços netbox e netbox-rq usando o seguinte comando.

sudo systemctl status netbox  
sudo systemctl status netbox-rq

A saída a seguir indica que o serviço netbox está em execução e habilitado.

verificar netbox

A saída abaixo confirma que o serviço netbox-rq está em execução e habilitado.

netbox rq

Configurando o Apache como um Proxy Reverso

No passo seguinte, você configurará o Apache2 como um proxy reverso. Antes disso, certifique-se de que você tenha um nome de domínio apontado para o endereço IP do seu servidor, você também pode usar um nome de domínio local.

Se você estiver usando um domínio local, pode executar o seguinte comando openssl para gerar certificados SSL. Se você estiver usando o domínio público, pode usar o Certbot para gerar certificados SSL do Letsencrypt.

openssl req -x509 -newkey rsa:4096 -sha256 -days 365 \  
  -nodes -keyout /etc/ssl/private/netbox.key -out /etc/ssl/certs/netbox.crt -subj "/CN=netbox.howtoforge.local" \  
  -addext "subjectAltName=DNS:netbox.howtoforge.local,IP:192.168.10.15"

Agora copie o exemplo de configuração do host virtual do Apache para o NetBox para /etc/apache2/sites-available/netbox.conf. Em seguida, modifique o arquivo /etc/apache2/sites-available/netbox.conf usando o seguinte comando do editor nano.

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

Altere o nome do domínio pelo seu domínio e mude o caminho dos certificados SSL/TLS para o caminho correto do arquivo.

  
    # 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/ssl/certs/netbox.crt  
    SSLCertificateKeyFile /etc/ssl/private/netbox.key  
  
    ...  

Salve e saia do arquivo quando terminar.

Agora execute o seguinte comando para habilitar alguns módulos do Apache2 que são necessários para o NetBox.

sudo a2enmod ssl proxy proxy_http headers rewrite

Depois disso, execute o seguinte comando para ativar o arquivo do host virtual netbox.conf e verifique suas configurações do Apache2 para garantir que você tenha a sintaxe correta.

sudo a2ensite netbox.conf  
sudo apachectl configtest

Se você tiver a sintaxe correta do Apache2, deve obter a saída Syntax OK.

apache2 netbox

Agora execute o seguinte comando para reiniciar o serviço Apache2 e aplicar as alterações que você fez.

sudo systemctl restart apache2

Sua instalação do NetBox deve ser acessível pelo nome de domínio.

Abra seu navegador web e visite o nome de domínio da sua instalação do NetBox, como https://netbox.howtoforge.local/. Se tudo correr bem, você deve ver a página de índice do NetBox como a seguinte:

página inicial do netbox

Após fazer login, você deve ver o painel do NetBox IRM em execução com o nome de domínio sob o proxy reverso do Apache2.

painel do netbox

Conclusão

Em conclusão, você agora instalou o NetBox IRM no servidor Debian 12 com o servidor de banco de dados PostgreSQL e o servidor web Apache2 usado como um proxy reverso. Você também protegeu sua instalação do NetBox via certificados SSL/TLS.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.