Documentação de IPs usando o TIPP

Autor: gean paulo martins dos santos <gpmsred at gmail.com>
Introdução

Quem nunca precisou manter os IPs de sua rede organizada, saber que dispositivo da rede está com um determinado IP, quais IPs foram entregue para determinado cliente, etc… costumamos usar planilhas, mas isso não é muito confortável.

Para solucionar estes problemas, quero apresentar uma excelente ferramenta: o TIPP, que foi desenvolvido especificamente para a documentação de IPs.

Se quiser saber mais sobre o TIPP, basta acessar o link e veja a documentação, e também pode acessar demo e veja como ficará depois de instalado.

Para ter acesso, basta usar:

  • Usuário: guest
  • Senha: guest

Para a instalação do TIPP, irei usa a distribuição CentOS, uma instalação mínima para instalarmos apenas o que realmente usaremos.

Dependências / PostgreSQL

Atualizando o sistema e instalando as dependências

Após a instalação, atualize os pacotes:

# yum update

Como foi uma instalação mínima, vamos instalar também alguns pacotes essências. Para isso, rode o comando:

# yum groupinstall base

Para suprir as dependências do TIPP, será necessário adicionar o repositório EPEL:

Para a versão 64 bits:

# wget http://epel.gtdinternet.com/6/x86_64/epel-release-6-8.noarch.rpm

E para quem usa a versão 32 bits:

# wget http://epel.gtdinternet.com/6/i386/epel-release-6-8.noarch.rpm

Atualize o repositório:

# rpm -Uvh epel-release-6-8.noarch.rpm

Agora, vamos partir para a instalação dos pacotes necessários para a instalação do TIPP:

# yum install gcc gcc-c++ autoconf automake make git
# yum install httpd httpd-devel
# yum install postgresql-server postgresql-devel postgresql
# yum install perl-CGI-SpeedyCGI perl-NetAddr-IP
# yum install perl-CPAN

O TIPP usa muitas bibliotecas em Perl, usarei o CPAN para instalá-las:

Iniciando o CPAN:

# perl -e shell -MCPAN

Instalando as bibliotecas:

> install Bundle::CPAN
> install CGI
> install DBD::Pg
> install PadWalker
> install JSON::XS
> install DBIx::Perlish
> install Encode
> install Regexp::Common
> install Net::DNS
> install Text::CSV_XS
> install Data::Dump
> install Data::Compare
> install CGI::Cookie

A instalação do "Bundle::CPAN" é um pouco demorado e também não há necessidade de instalá-lo, mas ele agiliza um pouco as coisas ao usarmos o CPAN.

Para sair do CPAN, basta digitar: exit

Configurando o PostgreSQL

Inicie o banco do PostgreSQL:

# service postgresql initdb

Acesse o arquivo: /var/lib/pgsql/data/pg_hba.conf
E deixe assim:

No trecho:

# local all all ident
# host all all 127.0.0.1/32 ident
# host all all ::1/128 ident

Deixe:

# local all all trust
# host all all 127.0.0.1/32 trust
# host all all ::1/128 trust

Inicie os serviços do PostgreSQL e coloque-o na inicialização do sistema:

# service postgresql start
# chkconfig postgresql on

Criando o banco do TIPP:

# su – postgres

$ psql

postgres=# CREATE USER tippuser WITH PASSWORD ‘senha’;
postgres=# CREATE DATABASE tippdb WITH OWNER tippuser;
postgres=# \q

$ exit

TIPP / Apache

Baixando e instalando TIPP

Para baixar o TIPP, usaremos o comando git. Para isso, entre no diretório /opt e efetue o download:

# cd /opt
# git clone https://github.com/tobez/tipp

Após o download, entre no tipp:

# cd tipp/

Agora, crie a pasta TIPP dentro do raiz do Apache e copie o conteúdo da pasta "www" para a pasta criada:

# mkdir /var/www/html/tipp
# cp -a www/* /var/www/html/tipp/

Importando a banco do TIPP

Acesse a pasta "sql", considerando que estamos dentro do TIPP no diretório /opt:

# cd sql/
# psql -U tippuser -d tippdb < tipp.sql

A equipe de desenvolvedores disponibiliza também um modelo de categorias a ser seguido (altere conforme a necessidade).

Vamos importá-la também:

# psql -U tippuser -d tippdb < categories.sql

No TIPP não vem com um usuário administrador por padrão, sendo necessário criá-la para iniciarmos a usá-lo.

Para isso, vamos inserir um usuário na tabela user do banco tipp que acabamos de importar.

Então, vamos criar o usuário "tipp":

# echo "insert into users values (‘tipp’, 2);" | psql -U tippuser -d tippdb

Se preferir, acesse o banco do TIPP e insira o usuário, assim:

# psql -U tipppuser -d tippdb
# INSERT INTO users values (‘tipp’, 2);

Ajustando as configurações de acesso ao PostgreSQL

Abra o arquivo "TIPP.pm" localizado em: /var/www/html/tipp/cgi-bin/

Deixe-o como no exemplo:

# cd /var/www/html/tipp/cgi-bin/
# vim TIPP.pm

No trecho:

package TIPP;
our $db_name = "tipp";
our $db_host = "127.0.0.1";
our $db_user = "tipp";
our $db_pass = "secret";

our $extra_header = " – development installation";

our $timezone = ‘CEST’;

Deixe assim:

package TIPP;
our $db_name = "tippdb"; // Nome do banco do tipp
our $db_host = "127.0.0.1";
our $db_user = "tippuser"; // Usuário que criamos no PostgreSQL
our $db_pass = "senha"; // Senha do usuário tippuser

our $extra_header = " – Gean Paulo"; // Nome que será exibido no front-ends da página web

our $timezone = ‘BRT‘;

Agora, dentro do "tipp", crie um link simbólico do "tipp.html" para "index.html":

# cd /var/www/html/tipp/
# ln -s tipp.html index.html

Configurando o Apache

Agora vamos criar o script para o Apache executar:

# vim /etc/httpd/conf.d/tipp.conf

ScriptAlias /tipp/cgi-bin/ "/var/www/html/tipp/cgi-bin/"
<Directory "/var/www/html/tipp/cgi-bin/">
AllowOverride AuthConfig
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>

Alias /tipp /var/www/html/tipp
<Directory "/var/www/html/tipp">
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
AuthName "TIPP Access"
AuthType Basic
Require valid-user
AuthUserFile "/var/www/html/tipp/htpasswd.users"
Allow from all
</Directory>

Acesse também o "httpd.conf" e troque:

Na linha 743:

LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

Por:

LanguagePriority pt-BR pt en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl ru sv zh-CN zh-TW

E também:

Na linha 759:

AddDefaultCharset UTF-8

Por:

AddDefaultCharset iso8859-1

Criando o usuário para acessar TIPP no browser. O mesmo usuário que adicionamos na tabela user do banco do TIPP:

# htpasswd -c /var/www/html/tipp/htpasswd.users tipp

Este usuário terá poderes administrativos. Os próximos usuários a ser criados com o comando htpasswd poderão apenas visualizar, não poderão fazer alteração.

Inicie os serviços do Apache e coloque-o na inicialização do sistema:

# service httpd start
# chkconfig httpd on

Ajustes finais

Vamos desabilitar o SELinux e liberar a porta 80 do Apache no firewall.

Acesse o arquivo de configuração do IPtables e adicione a porta 80, assim:

# vim /etc/sysconfig/iptables
# -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
# iptables-restore /etc/sysconfig/iptables

Agora, o SELinux:

# sed -i "s/enforcing/disabled/g" /etc/selinux/config

Para que as configurações do SELinux surjam efeito é necessário reiniciar o sistema:

# reboot

Pronto!

Agora basta acessar seu browser e digitar o IP do servidor seguido do nome do TIPP.

Por exemplo: 192.168.1.254/tipp

Até a próxima!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s