Instalação do Netbox no Debian 9.x

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento.

No prompt do sistema atualize a lista dos repositórios e instale o PostgreSQL, como a versão mínima suportada pelo Netbox é a 9.4 você não precisa se preocupar (pois o Debian utiliza por padrão a 9.6).

# apt update
# apt install -y postgresql libpq-dev

Após a instalação entre com o usuário postgres no sistema e pelo psql realize a criação da tabela e do usuário inicial. Lembre-se de alterar a senha do usuário por uma que seja do seu conhecimento.

# su postgres
# psql
psql (9.4.5)
Type “help” for help.

postgres=# CREATE DATABASE netbox;
CREATE DATABASE
postgres=# CREATE USER netbox WITH PASSWORD ‘J5brHrAXFLQSif0K‘;
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
GRANT
postgres=# \q

# exit

Para testar se foi criada a base use o comando abaixo, lembre-se que se a base for instalada em um computador remoto você deve trocar o localhost pelo endereço IP do seu servidor.
# psql -U netbox -W -h localhost netbox

Neste momento devemos instalar o python3 para executar o Netbox:

# apt install -y python3 python3-dev python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-dev

Após a instalação do Python iremos instalar o pip.
# easy_install3 pip

Após a instalação do pip iremos baixar a versão mais atual do Netbox para instalação, de forma a sempre utilizarmos a versão mais atual estou utilizando o git para realizar o download dos pacotes, também escolhi o git pela agilidade e facilidade de atualização de versão.

# mkdir -p /opt/netbox/ && cd /opt/netbox/

# apt install -y git

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

Neste momento iremos instalar os pré-requisitos para execução:

# pip3 install -r requirements.txt

# pip3 install napalm

Após a instalação dos pré-requisitos é necessário configurar o arquivo de configurações ‘/opt/netbox/netbox/netbox/configuration.py’ o qual será criado a partir da cópia do arquivo de exemplo. Antes de editar o arquivo do configuration.py é necessário executar um script de geração de senha para incluir no arquivo de configuração, ao executar copie a senha gerada para colar no arquivo de configuração.

# cd /opt/netbox/netbox/netbox/

# cp configuration.example.py configuration.py

# /opt/netbox/netbox/generate_secret_key.py

# vi configuration.py

No arquivo de configuração será necessário alterar basicamente 3 parâmetros obrigatórios são eles:

Outro parâmetro que pode ser interessante ser alterado é o DEBUG, pois durante o teste de inicialização, fica mais fácil identificar algum problema. Depois do teste com sucesso, recomendo que se retorne ao padrão do DEBUG.

O campo ALLOWED_HOSTS é onde iremos colocar os endereços pelos quais o Netbox será acessado (endereço IP do servidor, url específica).

Já no campo DATABASE utilize os parâmetros que configurou anteriormente para o banco de dados.

E o campo SECRET_KEY é onde irá colar a senha gerada anteriormente.

Após a configuração obrigatória, serão executados alguns procedimentos que irão criar a nova base de dados do Netbox.

# cd ..

# python3 manage.py migrate

# python3 manage.py createsuperuser

# python3 manage.py collectstatic – -no-input

# python3 manage.py loaddata initial_data

Após popular a base de dados, chegou a hora de acessar o servidor por um dos endereços configurados no campo ALLOWED_HOSTS. Ao acessar sem problemas finalize esta execução através do CTRL+C.

# python3 manage.py runserver 0.0.0.0:8000 –insecure

Após o teste com sucesso chegou o momento de configurar o servidor web que será utilizado pelo Netbox. Utilizei no tutorial o nginx, mas poderia ter utilizado o apache2 sem perda nenhuma. Escolhi o nginx por ter menos passos de configuração.

# apt install -y nginx

Criação do arquivo ‘/etc/nginx/sites-available/netbox’ o qual terá as configurações do virtualhost do Netbox.

# vi /etc/nginx/sites-available/netbox

Após a criação do arquivo com os parâmetros preenchidos de forma correta, como no exemplo acima, apague o virtualhost padrão e reinicie o nginx.

# cd /etc/nginx/sites-enabled/
# rm default
# ln -s /etc/nginx/sites-available/netbox

# service nginx restart

Neste momento instalaremos o gunicorn e o configuraremos.

# pip3 install gunicorn

# vi /opt/netbox/gunicorn_config.py

O último passo é a instalação, configuração e reinicialização do supervisor que será responsável por executar o gunicorn em background.

# apt install -y supervisor

# vi /etc/supervisor/conf.d/netbox.conf

# service supervisor restart

Netbox instalado e executando agora no porto 80 ao invés do 8000 do teste.

Altere as permissões do diretório de imagens para que possa subir os arquivos:

OBS: Baseado no passo a passo do site do Netbox

Instalação PHP 7.1 ou mais atual no Debian

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento. Outro problema são as aspas duplas e simples que quando copiadas não são reconhecidas no linux.

Para isto existe o projeto sury.org . Para tanto execute os seguintes comandos como root:

apt-get install apt-transport-https lsb-release ca-certificates

wget -O /etc/apt/trusted.gpg.d/php.gpg / https://packages.sury.org/php/apt.gpg

sh -c ‘echo “deb https://packages.sury.org/php/ $(lsb_release -sc) / main” > /etc/apt/sources.list.d/php.list’

apt-get update

Desta forma você terá a disposição a opção das versões mais novas de PHP no seu Debian. Caso não queira atualizar a versão é só comentar a linha no arquivo /etc/apt/sources.list.d/php.list .

Instalação do GLPI no Debian com PHP 5

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento. Outro problema são as aspas duplas e simples que quando copiadas não são reconhecidas no linux.

Incluir o repositório non-free na lista do Debian:

# echo “deb http://ftp.br.debian.org/debian/ jessie main non-free” /       >> /etc/apt/sources.list

# apt-get update
# apt-get upgrade -y
# apt-get install ca-certificates apache2 libapache2-mod-php5 php5-cli php5 php5-gd php5-imap php5-ldap php5-mysql php-soap php5-xmlrpc zip unzip bzip2 unrar-free php5-snmp php5-curl -y
Tutorial do MySQL se quiser utilizá-lo:
# apt-get install mariadb-server ou sudo apt-get install mysql-server –> sudo mysql_secure_installation –>  mysql -u root -p
# cd /tmp
# tar -xvzf glpi-9.1.1.tgz
# cp -Rf glpi /var/www/html
# vim /etc/apache2/conf-available/glpi.conf
<Directory “/var/www/html/glpi”>
   AllowOverride All
</Directory>
# a2enconf glpi.conf
# service apache2 restart
# chmod 775 /var/www/html -Rf
# chown www-data. /var/www/html -Rf
# mysql -uroot -p
# mysql> create database glpi;
# mysql> create user ‘glpi’@’localhost’ identified by ‘senhaDoBanco’;
# mysql> grant all on glpi.* to glpi identified by ‘senhaDoBanco’;
# mysql> quit;
#mysql -h localhost -u root -p
mysql> CREATE DATABASE db_glp;
mysql> CREATE USER ‘glpi’@’localhost’ IDENTIFIED BY ‘senhaDoGlpi’;
mysql> GRANT ALL PRIVILEGES ON db_glp.* TO ‘glpi’@’localhost’;
mysql> FLUSH PRIVILEGES;
Autor: Giusepe Dias

Instalação do MySQL no Debian ao invés do Maria DB (padrão atual)

** Devido a um bug no editor do WordPress quando digito – – junto, o que é o correto no prompt ele agrega para — portanto em todos os posts pode ser necessário essa correção em algum momento. Outro problema são as aspas duplas e simples que quando copiadas não são reconhecidas no linux.
Adicionar o repositório do MySQL, através dos seguintes comandos como root:
#echo -e “deb http://repo.mysql.com/apt/debian/ stretch /                 mysql-5.7  /
deb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7″ /
> /etc/apt/sources.list.d/mysql.list
# wget -O /tmp/RPM-GPG-KEY-mysql /              https://repo.mysql.com/RPM-GPG-KEY-mysql –no-check-certificate
# apt-key add /tmp/RPM-GPG-KEY-mysql
Autor: Giusepe Dias