segunda-feira, 17 de novembro de 2014

GLPI - Implantação de Central de Serviços

O ambiente Web

O GLPI é desenvolvido para rodar via servidor web. logo, o que precisaremos é de um servidor web para permitir aos usuários o acesso ao mesmo.
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.36- Fluxo requisição de página web

Em nosso projeto em específico, utilizaremos o servidor web desenvolvido pela Fundação Apache. Em especial, no Debian e seus derivados, este aplicativo é conhecido como Apache simplesmente. Em outras distribuições, este pode seguir a recomendação da própria Fundação Apache e ser referenciado por outro nome como HTTP Server. Isso visa desvincular o nome da Fundação ao produto.

É importante mencionar que o GLPI pode rodar em qualquer sistema operacional e qualquer servidor web. A única restrição é que o servidor Web utilizado tem de possuir suporte a linguagem PHP em sua versão 5 ou superior.

Instalando pacotes e ferramentas essenciais

O Debian possui um excelente gerenciador de pacotes chamado apt-get. Este aplicativo nos permite instalar programas do projeto e manter atualizado todo o ambiente sem muito esforço.

Vamos fazer uma lista de checagem para que possamos garantir que instalaremos todo o ambiente sem perda de tempo.

Para rodarmos o GLPI, necessitaremos de:
  • Servidor web com suporte a PHP5;
  • Bibliotecas de conexão do PHP com suporte ao banco de dados MySQL (são as mesmas utilizadas pelo MariaDB);
  • Suporte ao LDAP (para autenticar usuários externamente em uma base de dados LDAP);
  • IMAP (para ler caixa de e-mail);
  • SMTP (para enviar e-mail de follow-ups).

No site do próprio GLPI, é listado como dependências apenas o servidor web com PHP e o MySQL como banco de dados. Mas se não atentarmos aos detalhes, passaremos por vários problemas ocasionados devido a dependências de software que o site do projeto não nos auxilia a resolver.

De posse do seu sistema operacional GNU/Linux Debian devidamente instalado, iremos agora passar para a preparação do ambiente, de forma a viabilizarmos a solução.

Instalando os programas necessários

Conforme dito anteriormente, utilizaremos o servidor web desenvolvido pela Fundação Apache. Não apresentarei a história do surgimento deste aplicativo, mas basta você entender que, se a internet é da forma como você a utiliza hoje, grande parte disso só foi possível graças a este aplicativo e seu suporte a vários sites rodando sobre a mesma infraestrutura.

Se quiser conhecer maiores detalhes, dê uma olhada no site da Fundação Apache[http://www.apache.org.

Quando iniciar o sistema operacional do seu servidor, tudo que terá é uma tela preta como a que vê nesta imagem:
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.37 - Tela de finalização do instalador

Se você nunca teve a oportunidade de colocar as mãos no shell de um servidor GNU/Linux, sorria. Esta será uma oportunidade inesquecível e me sinto verdadeiramente honrado em lhe proporcionar esta chance.

Esta é a tela de login do sistema. Nela é esperado que você coloque o usuário e a senha do sistema operacional. Durante o processo de instalação, cadastramos dois usuários e duas senhas. Caso você tenha seguido religiosamente o que estava escrito, insira o nome do usuário root e a senha 123456.

Nota: por questões de segurança, a senha não é apresentada durante a digitação e nem a quantidade de dígitos. Não se preocupe com isso. Ao fim da digitação, apenas pressione Enter e, se a senha e o usuário estiverem corretos, o sistema prosseguirá com o acesso.

A partir deste momento você deve conectar o servidor a rede para que o mesmo possa acessar a internet para execução dos próximos passos.
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.38 - Tela de finalização do instalador

Após logar no sistema, você receberá o prompt de comandos para a execução de comandos e aplicativos no sistema. Recomendo fortemente que você leia ao menos o Guia Foca Linux [http://guiafoca.org] para iniciantes, de forma a esclarecer dúvidas primárias quanto à operação do sistema, pois este livro não possui espaço para isso.

Daqui para frente, se você seguir cuidadosamente os passos que vou apresentar, garanto que não terá problema algum. Mas eu já fui iniciante e muito afoito para testar as coisas e sei de sua ansiedade para ir aos finalmentes. Portanto, muito cuidado para não errar os passos passados. Testei cuidadosamente cada um deles, viabilizando esta operação por pessoas que nunca tiveram contato com um GNU/Linux em suas vidas, e testei ainda com pessoas que sequer são da área de TI. Só para garantir que não haveria problemas ou dificuldades a serem enfrentadas por você.

A primeira coisa que teremos de fazer antes de instalar os pacotes de aplicativos no Debian será a inserção dos espelhos, atualizar a lista de pacotes disponíveis nos servidores e atualizar todo o sistema. Os comandos a seguir farão com que essas tarefas sejam devidamente executadas.

Digite os seguintes comandos exatamente como são apresentados. Apenas relembrando: letras maiúsculas são diferentes de minúsculas para tudo no GNU/Linux. Muitos novatos perdem tempo tentando decifrar erros por conta disso. Portanto, utilize os comandos exatamente como são mostrados aqui.

# echo "deb http://security.debian.org/debian-security wheezy/updates main" >> /etc/apt/sources.list
# echo "deb http://ftp.de.debian.org/debian wheezy main" >> /etc/apt/sources.list
# apt-get update
# apt-get upgrade -y

Os comandos acima atualizarão toda a lista de pacotes disponíveis para instalação no servidor. Após este processo finalizar - pode demorar dependendo de seu link com a internet - você terá de usar o apt-get para instalar os novos aplicativos. A importância de se usar o update toda vez, antecedendo a instalação de novos programas, é a garantia de sempre utilizar a versão mais nova e estável deste programa.

Agora estamos com o sistema pronto para continuarmos. A opção "upgrade" fez com que todos os aplicativos, que já tínhamos no sistema básico, fossem atualizados para nós e isso inclui até mesmo o kernel Linux, caso esteja disponível uma nova versão deste no projeto.

Nota: um erro muito comum de acontecer durante a instalação, quando as listas não são atualizadas antes do processo, é o apt-get informar que o programa não está disponível nos repositórios. Isso se deve ao fato da versão que consta no banco de dados do seu servidor ter sido removida do repositório em substituição a nova versão. Basta executar o processo de atualização da lista de pacotes disponíveis (apt-get update) e em seguida repetir o comando de instalação para que seja baixada a nova versão.

# apt-get install ca-certificates apache2 libapache2-mod-php5 php5-cli php5 php5-gd php5-imap php5-ldap php5-mysql mysql-server -y

Após a inserção do comando acima no terminal, pressione a tecla "Enter" para executá-lo. Não se preocupe se este não couber em uma linha, como no exemplo acima. Apenas continue digitando o comando até o fim, respeitando os espaços quando existirem. O shell interpretará como apenas uma linha contínua.

Nota: o comando acima tem de ser digitado sem pressionar a tecla "Enter". Essa tecla deve ser pressionada apenas após a palavra e opção mysql-server -y. Ele foi dividido em duas linhas devido a gramatura do livro.

Quando pressionar Enter, o sistema checará pelas dependências de software necessárias para rodar os programas desejados e a opção "-y" informará que ele pode prosseguir com o download e instalação dos aplicativos sem necessidade de nossa confirmação.

Apenas a título de curiosidade, essa ferramenta apenas inicia a instalação dos aplicativos após baixar todos os aplicativos que foram solicitados e suas respectivas dependências. Outro fato importante e muito produtivo é que, ao baixar os arquivos para serem instalados, estes ficam salvos no disco do servidor, ou seja, se devido a uma queda da rede o processo parar, ao reiniciar ele continuará a partir do pacote que foi interrompido, não necessitando baixar novamente aqueles que já estão em disco.

Ao fim deste processo, você será questionado pela senha do usuário root para o banco de dados. Você não deve confundir o usuário root do sistema com o do banco de dados. São coisas totalmente distintas. Mas em nosso exemplo, de forma a evitar erros e complicações desnecessárias, utilizaremos a senha "123456" (de 1 a 6 sem aspas), tal como fizemos com o usuário do sistema.
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.39 - Solicitação de senha do MySQL

Após pressionar a tecla "Enter", inserindo a senha, o sistema exibirá uma tela semelhante, solicitando que você a confirme. Portanto, insira novamente a senha e pressione "Enter" novamente.

Ao fim deste processo, basta esperar que o sistema termine de instalar todos os aplicativos para você sem mais necessidade de interação.

Para quem nunca teve a oportunidade de usar um GNU/Linux, é isso. Você acabou de levantar um servidor web com suporte a PHP e um banco de dados MySQL. Simples assim. Sem nenhuma manobra complexa. Se achou complicado executar os passos até aqui, sugiro que os repita mais 2 vezes, apenas como exercício. Ao fim você terá a certeza de que isso não é nada. O incômodo foi apenas por nunca ter realizado essas atividades.

Para verificar os serviços ativos na máquina, execute o seguinte comando:

# netstat -ant

Serão listadas as portas TCP/UDP do servidor que estão ativas.
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.40 - Resultado do comando netstat

Apenas certifique-se de que as portas 80 e 3306 estejam na lista e que seus estados estejam como "LISTEN". Estas portas pertencem ao servidor web e ao MySQL respectivamente.

A essa altura já temos todos os aplicativos necessários para comportar o nosso astro principal - o GLPI. Precisaremos, agora, apenas organizar as coisas. Vamos instalar alguns aplicativos adicionais para manipularmos arquivos compactados no servidor.

Execute o comando abaixo como administrador e pressione "Enter".

# apt-get install zip unzip bzip2 unrar-free -y

Finalizando o processo e levantando o sistema!

Instalando o GLPI

Chegou finalmente o momento de instalarmos o GLPI e começarmos a utilizá-lo. Não fique frustrado se a instalação do sistema for mais simples do que você esperava.

O objetivo de tanta teoria até agora não foi para instalarmos o GLPI, mas sim para parametrizá-lo da melhor forma possível. Apenas ter o sistema não resolverá problema algum se não tivermos maturidade o suficiente para alinhá-lo as necessidades do negócio.

O GLPI é desenvolvido pela "INDEPNET Association" desde o ano de 2002. Trata-se de uma organização não governamental e sem fins lucrativos, sediada na França, cujo objetivo é democratizar o uso da Internet. Segundo informações do site da INDEPNET Association, o GLPI é uma solução de código aberto para o gerenciamento de ativos de TI e central de serviços. É uma aplicação web completa para auxiliar o gerenciamento de todos os seus problemas de gestão de TI: gestão do inventário, de componentes de um parque de TI, de hardware, software e gestão de suporte ao usuário. (site: www.indepnet.net, 2013).

Espero que estejamos indo bem até agora, mas lamento informar que só demos o primeiro passo.

Adquirindo o instalador do GLPI

O GLPI não é uma ferramenta comercial, logo você não precisará pagar pelo mesmo. Para adquirir o GLPI, basta entrar no site do projeto e realizar o download da ferramenta.

De forma a facilitar nosso processo de instalação, faremos toda a manipulação diretamente no servidor, ou seja, não baixaremos o arquivo em outro computador para depois movê-lo para o servidor. Todos os passos serão realizados diretamente no Servidor.

Os passos da instalação consistem basicamente em:
  1. Baixar o instalador,
  2. Descompactá-lo,
  3. Movê-lo para o diretório do servidor web,
  4. Acertar os privilégios dos arquivos e diretórios.

Realizados estes processos, o restante será realizado em outra estação de trabalho com acesso ao servidor via rede e munida de um navegador web moderno - de preferência algo decente, como o Mozilla Firefox.

Para começar, entre no servidor Debian com o usuário root e a senha cadastrada. Execute o comando abaixo para realizar o download do GLPI.

# wget -c https://forge.indepnet.net/attachments/download/1693/glpi-0.84.5.tar.gz

Este comando - wget, é, na verdade, um programa de download. Ele realizará o download do instalador do GLPI diretamente da internet para o diretório corrente. A opção de utilizamos ("-c") indica que, caso o download seja interrompido por qualquer motivo, o arquivo baixado não será descartado, logo, ao repetir o comando no mesmo diretório, o download reiniciará do ponto onde parou.

Ao fim do processo, você terá o GLPI já em seu servidor, bastando executar os comandos abaixo:

# tar -zxf glpi-0.84.5.tar.gz
# mv glpi /var/www/
# chown www-data:www-data /var/www/ -Rf
# chmod 775 /var/www/glpi -Rf

O primeiro comando - tar - é um descompactador de arquivos. Ele vai extrair os arquivos do GLPI, transformando-os em centenas de arquivos que ficarão dentro do diretório glpi que será criado no ato da descompactação.

O segundo comando - mv - se trata do comando para mover arquivos e diretórios no GNU/Linux. O que estamos fazendo é mover o diretório recém-extraído e todo o seu conteúdo para dentro do diretório /var/www, que é onde o Apache possui um site publicado por padrão.

Não vou discutir aqui a questão de princípios de segurança quanto à publicação deste site neste local em específico. Para isso, sugiro que você pesquise em outras fontes sobre possibilidades de configurações do Apache.

O terceiro comando torna o usuário "www-data" e o grupo "www-data", proprietários dos arquivos que movemos. Este usuário e grupo são na verdade o usuário e grupo do próprio servidor web Apache. Tome cuidado, pois o nome deste usuário e grupo podem mudar de distribuição para distribuição.

No quarto comando, o que fizemos foi dar permissão de leitura, gravação e execução ao dono e ao grupo - www-data - dos diretórios e qualquer outro usuário que tenha acesso ao servidor, possuirá acesso apenas para leitura e execução.

Criando o usuário para o GLPI no banco de dados

Estamos na reta final da instalação. Apenas precisamos realizar um detalhe. A criação de um login de usuário no banco de dados MySQL. O objetivo é que este seja o dono do banco de dados onde ficarão armazenados os arquivos do GLPI. Isso nos poupará de problemas em utilizar a senha de administrador do banco pela aplicação GLPI.

Entre no Debian como root e digite os comandos abaixo:

# mysql -u root -p123456

> create database glpi;
> create user 'glpi'@'localhost' identified by '123456';
> grant all on glpi.* to glpi with grant option;
> quit

Com o primeiro comando, entraremos no banco de dados como administrador - login root e senha "123456".

Em seguida, criaremos uma base de dados de nome glpi que será utilizada para armazenar os dados do sistema.

Feito isso, criamos um usuário no banco de dados de nome glpi e atribuímos a este a senha "123456".

Para finalizar o processo, demos direito total a este usuário na base de dados de nome glpi e em seguida saímos da administração do banco de dados com o comando "quit".

Continuando a instalação via navegador

Após todas as nossas manobras, vem finalmente algo fácil de se fazer: instalar o GLPI.

Dentre os vários arquivos do GLPI, existe também o seu instalador. Na verdade, é um script que faz a checagem do ambiente, garantindo assim que este atenda os requisitos necessários para o funcionamento da ferramenta. Neste processo, existe ainda um script que popula a base de dados do GLPI com suas tabelas e alguns registros básicos para o sistema.

Este mesmo instalador é utilizado quando vamos atualizar a ferramenta para uma nova versão. Mas isso é um processo que está documentado no Apêndice A deste livro. Por agora, vamos nos limitar apenas a instalar o sistema.

Em outra estação de trabalho, na mesma rede, abra o navegador Web - sugiro o Firefox. Digite o endereço do servidor do GLPI, tal como definimos no projeto: http://192.168.0.1/glpi

Ao chamar este endereço pela primeira vez, o sistema detectará que ainda não foi instalado e iniciará o script de instalação.

A primeira página que você receberá é a de seleção de idioma para o instalador. Nesta, selecione "Português do Brasil" ou o que melhor lhe convir e clique no botão "OK".
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.41 - Página inicial do instalador do GLPI

Uma das principais características do GLPI é quanto ao suporte a idiomas. Este é muito extenso, o que possibilita uma grande difusão do aplicativo.

Na próxima página, você é encaminhado para a tela de aceite da licença GPLv2, sob a qual o GLPI é licenciado. Sem o aceite da mesma é impossível prosseguir.
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.42 - Termo de aceite da licença GPL v.2

Aceite o termo e clique no botão "Continuar".

Na próxima tela, você será questionado quanto a sua intenção: Instalar ou atualizar o sistema.
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.43 - Página inicial do instalador do GLPI

Para a nossa necessidade no momento, escolha a opção "Instalar".

O instalador checará se o ambiente que montamos atende a todos os requisitos para o GLPI funcionar com todas as suas opções. Se você seguiu o livro sem se desviar pelos capítulos, terá uma imagem identificando que tudo está certo no servidor e que pode prosseguir com a instalação sem problema algum.
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.44 - Página inicial do instalador do GLPI

Agora, o instalador solicitará que você informe o endereço do servidor de banco de dados, o usuário da base de dados e a senha deste usuário. Como instalamos tudo no mesmo servidor, utilize o endereço de loopback que é o "127.0.0.1". O usuário quando criamos foi "glpi" e sua senha é "123456".
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.45 - Página inicial do instalador do GLPI

Dados inseridos, pressione "Continuar".

O sistema questionará qual a base de dados que será utilizada pelo sistema. Selecione a base de dados glpi que criamos anteriormente e clique em "Continuar".
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.46 - Página inicial do instalador do GLPI

Esta etapa demorará um pouco mais que as outras, pois o sistema criará todas as tabelas no banco de dados e inserirá alguns dados padrões.

Finalizado este processo, o instalador informará que o banco de dados foi inicializado. Clique em "Continuar" para seguir para a próxima etapa.
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.47 - Página inicial do instalador do GLPI

Depois disso o sistema informará que as etapas foram concluídas e o sistema está instalado.
Linux: GLPI - Implantação de Central de Serviços
Imagem 5.48 - Página inicial do instalador do GLPI

Repare que o sistema criou alguns usuários padrões na instalação. Ele informa a senha de cada um e solicita que você as troque o quanto antes por questões de segurança. Essa é uma prática realmente aconselhável, mas como estamos lidando com um ambiente de estudo, vamos deixar estes com essas senhas para facilitar nossos acessos com estes usuários quando necessário.

Após isso, o sistema já está pronto e você pode logar nele com qualquer um dos usuários que ele criou por padrão.
Linux: GLPI - Implantação de Central de Serviços
Tabela 5.02- Lista de usuários e senhas padrões do GLPI

Linux: GLPI - Implantação de Central de Serviços
Imagem 5.49 - Página inicial do instalador do GLPI

Cada login criado possui um perfil específico a ele atribuído, o que limita o nível de acesso e privilégio do usuário no sistema.

Para finalizar a instalação como um todo, existe apenas uma única coisa a ser feita: devemos remover o arquivo de instalação. Para fazer isso, entre no servidor novamente como root e digite o comando abaixo:

# rm /var/www/glpi/install/install.php

Agora sim. Meus parabéns! Você acaba de dar o primeiro passo em nosso projeto.

Nota: Caso deseje se aprofundar na utilização do GLPI, não deixe de pesquisar pelo livro em:
Fonte: http://www.vivaolinux.com.br/artigo/GLPI-Implantacao-de-Central-de-Servicos?pagina=1