O Netbox é uma poderosa ferramenta de gerenciamento de infraestrutura e redes que permite a organização e documentação detalhada de recursos, incluindo IPAM, VRFs, VLAN, Circuitos, Wireless, ambientes de virtualização, e modelagem de racks.
Cenário e Requisitos
Antes de começar, assegure-se de que você possui um servidor Ubuntu 22.04 com todas as atualizações instaladas. Além disso, você precisará dos seguintes componentes:
- Python 3.8 ou superior
- PostgreSQL 11 ou superior
- Redis 4.0 ou superior
Agora, vamos seguir o passo a passo da instalação:
Passo 1: Atualize o Sistema
Antes de começar, certifique-se de que seus repositórios e o sistema estejam atualizados:
bashsudo apt update sudo apt upgrade
Passo 2: Instale o PostgreSQL
O PostgreSQL será o banco de dados principal para o Netbox:
bashsudo apt install -y postgresql
Verifique se o PostgreSQL instalado é da versão 11 ou superior:
bashpsql -V
Passo 3: Crie um Banco de Dados e um Usuário
Conecte-se ao PostgreSQL para criar o banco de dados, usuário e definir permissões:
bashsudo -u postgres psql
Em seguida, execute os seguintes comandos para criar o banco de dados e o usuário. Lembre-se de usar uma senha segura:
sqlCREATE DATABASE netbox; CREATE USER netbox WITH PASSWORD '}T]XoV"BR/]7ukM:lIzIy$U='; ALTER DATABASE netbox OWNER TO netbox; \q
Se você estiver usando a versão 15 ou superior do PostgreSQL, execute os comandos abaixo:
sql\connect netbox; GRANT CREATE ON SCHEMA public TO netbox;
Para testar a conexão ao banco de dados:
bashpsql --username netbox --password --host localhost netbox
Passo 4: Instale o Redis
O Redis é usado para armazenamento em cache e enfileiramento de valor-chave na memória:
bashsudo apt install -y redis-server
Verifique a versão do Redis:
bashredis-server -v
Em seguida, certifique-se de que o serviço esteja em execução:
bashredis-cli ping
Passo 5: Instale o Python 3 e Dependências
O Python é a linguagem principal para o Netbox. Instale o Python 3 e as dependências necessárias:
bashsudo apt install -y python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev zlib1g-dev
Verifique se o Python 3.8 ou superior foi instalado:
bashpython3 -V
Passo 6: Baixe a Última Versão Estável do Netbox
É recomendado baixar uma versão estável do Netbox a partir do repositório oficial no Github. Vamos criar um link simbólico para facilitar o acesso:
bashcd /tmp sudo wget https://github.com/netbox-community/netbox/archive/refs/tags/v3.5.8.tar.gz sudo tar -xzf v3.5.8.tar.gz -C /opt sudo ln -s /opt/netbox-3.5.8/ /opt/netbox
Passo 7: Crie um Usuário no Sistema
Crie um usuário do sistema e atribua as permissões adequadas aos diretórios do Netbox:
bashsudo adduser --system --group netbox sudo chown --recursive netbox /opt/netbox/netbox/media/ sudo chown --recursive netbox /opt/netbox/netbox/reports/ sudo chown --recursive netbox /opt/netbox/netbox/scripts/
Passo 8: Altere o Arquivo de Configuração
Agora, vamos editar o arquivo de configuração. Acesse o diretório do Netbox e copie o arquivo configuration_example.py
para configuration.py
:
bashcd /opt/netbox/netbox/netbox/ sudo cp configuration_example.py configuration.py
Antes de editar o arquivo de configuração, vamos gerar uma chave secreta. Execute o seguinte comando:
bashpython3 ../generate_secret_key.py
A chave gerada deve ser salva, pois a usaremos no arquivo de configuração.
Agora, abra o arquivo configuration.py
com seu editor de texto preferido e altere os seguintes parâmetros:
ALLOWED_HOSTS
: Defina o IP do seu servidor para restringir o acesso aos dados do Netbox.DATABASE
: Insira o nome do banco de dados, usuário e senha criados no início do processo.SECRET_KEY
: Cole a chave secreta gerada anteriormente.LOGIN_REQUIRED
: Mude deFalse
paraTrue
para exigir autenticação ao acessar o Netbox.
Passo 9: Requisitos Opcionais
O Netbox suporta pacotes extras opcionais que devem estar listados no arquivo local_requirements.txt
. Para adicionar um sistema de arquivos remoto, instale a biblioteca django-storages
:
bashsudo sh -c "echo 'django-storages' >> /opt/netbox/local_requirements.txt"
Passo 10: Atualize o Script de Instalação
Execute o script de atualização para continuar a instalação. Este script criará um ambiente virtual Python, instalará as bibliotecas necessárias, migrará o esquema do banco de dados, entre outras tarefas:
bashsudo /opt/netbox/upgrade.sh
Passo 11: Crie o Super Usuário Padrão
Por padrão, não há uma conta de usuário configurada no Netbox. Vamos criar um super usuário dentro do ambiente virtual Python:
Acesse o ambiente virtual:
bashsource /opt/netbox/venv/bin/activate
Acesse o diretório do Netbox:
bashcd /opt/netbox/netbox
Crie o super usuário inserindo os dados solicitados:
bashpython3 manage.py createsuperuser
Passo 12: Configure a Tarefa de Limpeza
Ainda dentro do ambiente virtual Python, configure uma tarefa de limpeza para tarefas comuns do Netbox:
bashsudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
Passo 13: Teste o Ambiente
Para verificar se o ambiente está funcionando corretamente, inicie um servidor de teste da aplicação:
bashpython3 manage.py runserver 0.0.0.0:8000 --insecure
Abra um navegador e acesse http://IP-DO-SERVIDOR:8000 para acessar a página de login do Netbox.
Para parar o servidor de teste, pressione Ctrl + C
.
Saia do ambiente virtual Python:
bashdeactivate
Passo 14: Configure o Gunicorn
Configure o Gunicorn, um servidor web usado pelo Netbox:
bashsudo cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl start netbox netbox-rq sudo systemctl enable netbox netbox-rq systemctl status netbox.service
Passo 15: Configure o Servidor HTTP Apache
Instale o Apache2, que funcionará como servidor web e implemente um Certificado SSL autoassinado:
bashsudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/netbox.key -out /etc/ssl/certs/netbox.crt sudo apt install -y apache2 sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf sudo a2enmod ssl proxy proxy_http headers rewrite sudo a2ensite netbox sudo systemctl restart apache2
Acesse o Netbox no navegador com o IP do servidor e confirme se a tela de login é exibida corretamente.
Conclusão
Este tutorial cobriu a instalação do Netbox em um servidor Ubuntu. Certifique-se de que tudo funcione conforme o esperado e continue a configuração e personalização de acordo com suas necessidades. Lembre-se de executar cada comando com cuidado para evitar problemas.
Fonte: LINK