Instalação NetBox · 7 min read · Nov 17, 2025

Como instalar a ferramenta de documentação e gerenciamento de rede NetBox no Ubuntu 18.04 LTS

NetBox é um software de aplicação web gratuito e de código aberto que pode ser usado para gerenciar e documentar redes de computadores. Ele é especialmente projetado para gerenciar endereços IP e infraestrutura de data center através de um navegador web. O NetBox é escrito no framework Django Python e usa PostgreSQL para o banco de dados. Com o NetBox, você pode gerenciar e documentar facilmente máquinas virtuais e clusters, circuitos de dados, conexões de rede, console e energia a partir de um local central.

Neste tutorial, explicaremos como instalar o NetBox no servidor Ubuntu 18.04.

Requisitos

  • Um servidor rodando Ubuntu 18.04.
  • Uma senha de root configurada no seu servidor.

Começando

Primeiro, atualize o pacote do seu sistema para a versão mais recente com o seguinte comando:

apt-get update -y  
apt-get upgrade -y

Uma vez que todos os pacotes estejam atualizados, reinicie seu sistema para aplicar todas as alterações de configuração.

Em seguida, você precisará instalar as dependências necessárias para rodar o NetBox. Você pode instalar todas elas com o seguinte comando:

apt-get install wget ca-certificates nginx supervisor git gcc python3 python3-dev python3-pip python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-dev unzip -y

Uma vez que todas as dependências estejam instaladas, você pode prosseguir para o próximo passo.

Instalar e Configurar PostgreSQL

Em seguida, você precisará instalar o PostgreSQL no seu servidor. Por padrão, a versão mais recente do PostgreSQL não está disponível no repositório padrão do Ubuntu 18.04. Portanto, você precisará adicionar o repositório do PostgreSQL ao seu sistema.

Primeiro, baixe e adicione a chave GPG com o seguinte comando:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

Em seguida, adicione o repositório com o seguinte comando:

nano /etc/apt/sources.list.d/postgres.list

Adicione a seguinte linha:

deb http://apt.postgresql.org/pub/repos/apt/ xanial-pgdg main

Salve e feche o arquivo. Então, atualize o repositório e instale o PostgreSQL com o seguinte comando:

apt-get update -y  
apt-get install postgresql postgresql-contrib -y

Uma vez instalado, verifique o status do PostgreSQL com o seguinte comando:

systemctl status postgresql

Você deve ver a seguinte saída:

? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2019-08-07 07:00:51 UTC; 23s ago
 Main PID: 13552 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 1098)
   CGroup: /system.slice/postgresql.service

Aug 07 07:00:50 hitesh systemd[1]: Starting PostgreSQL RDBMS...
Aug 07 07:00:51 hitesh systemd[1]: Started PostgreSQL RDBMS.

Em seguida, você precisará criar um banco de dados e um usuário para o NetBox. Primeiro, faça login no shell do PostgreSQL com o seguinte comando:

su - postgres  
postgres@hitesh:~$ psql

Saída:

psql (11.4 (Ubuntu 11.4-1.pgdg18.04+1))
Type "help" for help.

Em seguida, crie um banco de dados e um usuário para o NetBox com o seguinte comando:

postgres=# CREATE DATABASE netbox;  
postgres=# CREATE USER netbox WITH PASSWORD 'password';

Em seguida, conceda todas as permissões ao NetBox com o seguinte comando:

postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;

Finalmente, saia do shell do PostgreSQL com o seguinte comando:

postgres=#exit

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Instalar e Configurar NetBox

Você pode baixar a versão mais recente do NetBox para o diretório /opt com o seguinte comando:

cd /opt  
git clone -b master https://github.com/digitalocean/netbox.git

Em seguida, mude o diretório para netbox e gere a chave SECRETA do Django:

cd /opt/netbox/netbox/netbox/  
./generate_secret_key.py

Você deve ver a chave gerada na seguinte saída:

+XHR3o&7K6isFk^DLc2%rIqCanlE@zTB(jwN#tfGbV=O1hgMU$

Em seguida, renomeie o arquivo de configuração padrão com o seguinte comando:

mv configuration.example.py configuration.py

Em seguida, abra o arquivo de configuração e defina os detalhes do seu banco de dados e a chave secreta:

nano configuration.py

Faça as seguintes alterações:

#Substitua seu-ip-do-servidor pelo endereço IP do seu servidor:
# Exemplo: ALLOWED_HOSTS = ['netbox.exemplo.com', 'netbox.interno.local']
ALLOWED_HOSTS = ['seu-ip-do-servidor']

# Configuração do banco de dados PostgreSQL.
DATABASE = {
    'NAME': 'netbox',         # Nome do banco de dados
    'USER': 'netbox',               # Nome de usuário do PostgreSQL
    'PASSWORD': 'password',           # Senha do PostgreSQL
    'HOST': 'localhost',      # Servidor do banco de dados
    'PORT': '',               # Porta do banco de dados (deixe em branco para padrão)
}
SECRET_KEY = '+XHR3o&7K6isFk^DLc2%rIqCanlE@zTB(jwN#tfGbV=O1hgMU$'

Salve e feche o arquivo quando terminar.

Em seguida, instale todas as dependências necessárias para o NetBox com o seguinte comando:

pip3 install -r /opt/netbox/requirements.txt

Uma vez instalado, migre o banco de dados com o seguinte comando:

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

Uma vez migrado com sucesso, você deve ver a seguinte saída:

  Applying secrets.0004_tags... OK
  Applying secrets.0005_change_logging... OK
  Applying secrets.0006_custom_tag_models... OK
  Applying ipam.0021_vrf_ordering... OK
  Applying ipam.0022_tags... OK
  Applying ipam.0023_change_logging... OK
  Applying ipam.0024_vrf_allow_null_rd... OK
  Applying ipam.0025_custom_tag_models... OK
  Applying dcim.0067_device_type_remove_qualifiers... OK
  Applying dcim.0068_rack_new_fields... OK
  Applying dcim.0069_deprecate_nullablecharfield... OK
  Applying dcim.0070_custom_tag_models... OK
  Applying extras.0020_tag_data... OK
  Applying extras.0021_add_color_comments_changelog_to_tag... OK
  Applying dcim.0071_device_components_add_description... OK
  Applying dcim.0072_powerfeeds... OK
  Applying dcim.0073_interface_form_factor_to_type... OK
  Applying extras.0022_custom_links... OK
  Applying extras.0023_fix_tag_sequences... OK
  Applying ipam.0026_prefix_ordering_vrf_nulls_first... OK
  Applying ipam.0027_ipaddress_add_dns_name... OK
  Applying sessions.0001_initial... OK
  Applying taggit.0003_taggeditem_add_unique_index... OK
  Applying users.0001_api_tokens_squashed_0002_unicode_literals... OK
  Applying users.0003_token_permissions... OK

Em seguida, você precisará criar uma conta de administrador para o NetBox. Você pode fazer isso com o seguinte comando:

python3 manage.py createsuperuser

Forneça seu nome de usuário e senha de administrador e pressione Enter, você deve ver a seguinte saída:

Username (leave blank to use 'root'): netboxadmin
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.

Em seguida, mova os arquivos estáticos e carregue os dados iniciais com o seguinte comando:

python3 manage.py collectstatic  
python3 manage.py loaddata initial_data

Instalar e Configurar Gunicorn para NetBox

Em seguida, você precisará instalar o Gunicorn para o NetBox. Você pode instalá-lo com o comando pip como mostrado abaixo:

pip3 install gunicorn

Em seguida, crie um arquivo de configuração do Gunicorn para o NetBox com o seguinte comando:

nano /opt/netbox/gunicorn_config.py

Adicione as seguintes linhas:

command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = 'seu-ip-do-servidor:8001'
workers = 3
user = 'www-data'

Salve e feche o arquivo quando terminar.

Configurar Supervisor para NetBox

Em seguida, você precisará configurar o Supervisor para gerenciar o serviço NetBox. Você pode fazer isso com o seguinte comando:

nano /etc/supervisor/conf.d/netbox.conf

Adicione as seguintes linhas:

[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-data

Salve e feche o arquivo e então reinicie o serviço do supervisor e habilite-o para iniciar após a reinicialização do sistema com o seguinte comando:

systemctl restart supervisor  
systemctl enable supervisor

Você também pode verificar o serviço do Supervisor com o seguinte comando:

systemctl status supervisor

Saída:

? supervisor.service - Supervisor process control system for UNIX
   Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-07 07:13:26 UTC; 8s ago
     Docs: http://supervisord.org
  Process: 15013 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=0/SUCCESS)
 Main PID: 15015 (supervisord)
    Tasks: 5 (limit: 1098)
   CGroup: /system.slice/supervisor.service
           ??15015 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
           ??15037 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
           ??15042 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
           ??15043 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
           ??15044 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi

Aug 07 07:13:26 hitesh systemd[1]: Started Supervisor process control system for UNIX.
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,087 CRIT Supervisor running as root (no user in config file)
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,089 INFO Included extra file "/etc/supervisor/conf.d/netbox.conf" during parsing
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,117 INFO RPC interface 'supervisor' initialized
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,117 CRIT Server 'unix_http_server' running without any HTTP authentication check
Aug 07 07:13:27 hitesh supervisord[15015]: 2019-08-07 07:13:27,118 INFO supervisord started with pid 15015
Aug 07 07:13:28 hitesh supervisord[15015]: 2019-08-07 07:13:28,123 INFO spawned: 'netbox' with pid 15037
Aug 07 07:13:29 hitesh supervisord[15015]: 2019-08-07 07:13:29,610 INFO success: netbox entered RUNNING state, process has st

Configurar Nginx para NetBox

Em seguida, você precisará configurar o Nginx para acessar o NetBox usando a porta 80. Para fazer isso, crie um arquivo de configuração de host virtual com o seguinte comando:

nano /etc/nginx/sites-available/netbox

Adicione as seguintes linhas:

server {
    listen 80;
    server_name seu-nome-de-dominio;
    client_max_body_size 25m;

    location /static/ {
        alias /opt/netbox/netbox/static/;
    }

    location / {
        proxy_pass http://seu-ip-do-servidor:8001;
    }
}

Salve e feche o arquivo. Em seguida, habilite o host virtual com o seguinte comando:

ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/

Finalmente, reinicie o serviço Nginx para aplicar todas as alterações de configuração com o seguinte comando:

systemctl restart nginx

Acessar a Interface Web do NetBox

O NetBox agora está instalado e configurado, é hora de acessar a interface web do NetBox.

Abra seu navegador web e digite a URL http://seu-dominio.com. Você será redirecionado para a seguinte página:

Interface do Netbox

Agora, clique no botão Log in no canto superior direito. Você deve ver a seguinte página:

Login do Netbox

Agora, forneça seu nome de usuário e senha de administrador, em seguida, clique no botão Log In. Você deve ver o painel padrão do NetBox na seguinte página:

Painel do NetBox

Parabéns! você instalou e configurou com sucesso o NetBox no servidor Ubuntu 18.04. Agora você pode gerenciar e documentar sua rede e endereço IP a partir de um local central. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.