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
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-devDigite 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.

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 apache2Se o apache2 estiver em execução e habilitado, você deve obter uma saída como a seguinte:

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 postgresqlO serviço PostgreSQL deve estar em execução e habilitado assim:

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 redisO serviço Redis deve estar em execução e habilitado como o seguinte

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 --versionVocê 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 psqlExecute 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;
Depois disso, verifique a lista de usuários e bancos de dados no seu PostgreSQL executando o comando abaixo.
\l
\duVocê deve ver o banco de dados netboxdb e o usuário netbox criados em seu servidor PostgreSQL.

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 netboxdbUma vez conectado, verifique sua conexão usando a seguinte consulta.
\conninfoNa saída a seguir, você deve ver que está conectado ao banco de dados netboxdb via usuário netbox.

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.confDescomente a opção requirepass e insira sua senha que será usada para proteger seu servidor Redis.
requirepass p4ssw0rdNetBoxQuando 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 redisPara garantir que tudo está funcionando, você pode verificar o Redis via redis-cli. Acesse seu servidor Redis usando o comando redis-cli abaixo.
redis-cliAutentique-se no servidor Redis usando a seguinte consulta AUTH e tenha certeza de mudar a senha.
AUTH p4ssw0rdNetBoxUma vez autenticado, você deve obter a saída OK.
Agora execute a consulta PING abaixo para garantir que sua conexão seja bem-sucedida.
PINGSe bem-sucedido, você deve obter a saída PONG do servidor 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 netboxBaixe 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
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.pyCopie 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.pyDentro 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.shAbaixo está a saída semelhante que você obterá durante o processo.

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

Gerando arquivos estáticos.

Abaixo está a saída quando a 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/activateMova 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 createsuperuserQuando solicitado, insira seu endereço de e-mail de administrador, nome de usuário e detalhes da senha.

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
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.

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

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

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.pyAltere 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-reloadAgora 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-housekeepingPor último, verifique os serviços netbox e netbox-rq usando o seguinte comando.
sudo systemctl status netbox
sudo systemctl status netbox-rqA saída a seguir indica que o serviço netbox está em execução e habilitado.

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

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.confAltere 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 rewriteDepois 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 configtestSe você tiver a sintaxe correta do Apache2, deve obter a saída Syntax OK.

Agora execute o seguinte comando para reiniciar o serviço Apache2 e aplicar as alterações que você fez.
sudo systemctl restart apache2Sua 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:

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.

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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.