GLPI – Instalação e Integração com o Microsoft Active Directory

O GLPI, assim como o OCS Inventory, é um sistema bastante conhecido por profissionais de gestão de redes, sistemas e suporte de infraestrutura de tecnologia. É um software livre, francês (a sigla significa Gestionnaire Libre de Parc Informatique – Gerente Gratuito de Infraestrutura de TI), que permite realizar o gerenciamento de ativos (inventário, inclusive, com integração com o OCS Inventory, via plugin), de chamados técnicos (tickets), SLA, documentação, além de outras funcionalidades. Sua interface é totalmente Web (escrito em PHP) e, principalmente por conter uma grande comunidade de desenvolvedores, é frequentemente atualizado. O GLPI é compatível com o ITIL (Information Technology Infrastructure Library / Biblioteca de Infraestrutura de Tecnologia da Informação) um conjunto de boas práticas para a área de TI bastante popular.

Neste artigo, faremos a instalação do GLPI (9.5.5) no Linux Ubuntu 18.04 LTS Server. A instalação em outras versões do Ubuntu ou no Debian é muito semelhante, variando apenas as versões (e nomes) de determinados pacotes.

Pré-requisitos para execução deste tutorial: conhecimento em Linux, conhecimento geral em redes de computadores e compreensão do conceito de servidor Web, banco de dados e diretório de usuários.

Informações do ambiente

Considerando que o Linux Ubuntu, incluindo os pacotes LAMP Server (Linux, Apache, MySQL / MariaDB e PHP), já esteja instalado em seu ambiente, vamos à instalação e verificação dos pacotes adicionais.

Para verificar as versões dos pacotes, como do PHP e MySQL use os comandos php --version e mysql --version. Caso deseje atualizar todo o sistema operacional, incluindo os pacotes previamente instalados, use o tradicional apt-get update && apt-get upgrade

Caso estes pacotes não estejam instalados, use o comando abaixo para instalar manualmente o Apache (2.4), PHP (7.2) e o MySQL (5.7). Se quiser usar o MariaDB (versão “fork” – opensource – do MySQL) como sistema gerenciador de banco de dados, no lugar do MySQL, altere o “mysql-server” por ” mariadb-server”, no comando abaixo. Você também pode optar pelo Nginx como servidor web, no lugar do Apache, neste caso, confira os links de referência, no final deste artigo.

apt-get install apache2 php mysql-server

Para a completa configuração do MySQL ou MariaDB, recomenda-se executar o script de segurança padrão, para configurações como de restringir o acesso ao servidor: mysql_secure_installation,

Pacotes necessários para o GLPI

PHP + Módulos

Use o comando abaixo para instalar todos os módulos (extensões, como é chamado pelo setup do GLPI) adicionais do PHP:

apt install libapache2-mod-php php-curl php-gd php-imagick php-apcu php-recode php-memcache php-imap php-mysql php-cas php-ldap php-tidy php-pear php-xmlrpc php-xml php-xsl php-intl php-apcu php-pspell php-gettext php-mbstring php-json php-iconv

Fique atento com as informações exibidas pelo sistema, como de pacotes já instalados ou não encontrados. É comum variar o nome / versão dos pacotes, de acordo com o sistema operacional e de sua versão (repositório).

Baixando o GLPI e seu instalador

Para baixar o GLPI, diretamente do seu repositório oficial, use o comando abaixo:

wget https://github.com/glpi-project/glpi/releases/download/9.5.5/glpi-9.5.5.tgz

Descompacte o arquivo e então mova-o para o diretório padrão do Apache:

tar -xzvf glpi-9.5.5.tgz
mv glpi-9.5.5.tgz glpi
mv glpi /var/www/html/

Feito isso, vá ao navegador e acesse a o endereço http://ip-do-servidor/glpi para confirmar se o instalador já está disponível.

Ajustes para a instalação do GLPI

Permissão de diretórios:

Use os comandos abaixo para ajustar a permissão de acesso aos arquivos e diretórios do GLPI, de acordo com a solicitação do próprio instalador (figura abaixo):

sudo chown -R www-data:www-data /var/www/html/glpi/
sudo chmod -R 755 /var/www/html/glpi/

GLPI Setup – Checagem de compatibilidade: neste exemplo, faltam módulos essenciais do PHP e ajuste de permissões de acesso a arquivos e diretórios. Para instalar extensões/módulos faltantes e/ou ajustar as permissões, revise os passos anteriores.

Criação da base de dados

Use os comandos baixo para se conectar ao MySQL e então criar uma base de dados para o GLPI (o procedimento é semelhante caso tenha optado pelo MariaDB):

mysql -u root -p
create database glpi;
GRANT ALL PRIVILEGES ON glpi.* TO glpi@localhost IDENTIFIED BY "Senha-Forte";
flush privileges;
exit;

Instalação via interface Web

Realizado os ajustes acima, volte ao navegador, na página http://ip-do-servidor/glpi e então siga as instruções do instalador, como para selecionar o idioma padrão da instalação (idioma do sistema pode ser alterado posteriormente) e de informar os dados para conexão a base de dados.

GLPI Setup – Idioma

Se o ambiente estiver devidamente configurado, deve-se encontrar um resultado semelhante ao visto na imagem abaixo, onde é possível confirmar que todos os pacotes, módulos / extensões e as permissões de acesso a arquivos e diretórios necessárias para o correto funcionamento do sistema estão instalados e ajustados.

GLPI Setup – Checagem de compatibilidade [Ok]
Neste passo, informe os parâmetros de conexão a base de dados, como a URL ou IP do servidor do MySQL ou MariaDB e o usuário e senha para conexão (criados no passo acima)

GLPI Setup – Dados para conexão ao banco de dados
GLPI Setup – Informações da base de dados encontrada

Feito isso, basta clicar em Continuar e então aguardar o instalador finalizar as configurações e criar as tabelas do banco de dados. Repare que nesta tela são exibidas as informações dos usuários padrões (usuário / senha), sendo:

  • User Administrador: glpi/glpi for the administrator account
  • User Técnico: tech/tech for the technician account
  • User Comum: normal/normal for the normal account
  • User Simples: post-only/postonly for the postonly account
GLPI Setup – Instalação concluída

É muito importante que, após a configuração do sistema, estes dados sejam alterados e/ou estes usuários sejam inativados.

Configuração de alertas por e-mail

O GLPI pode enviar diversos tipos de notificações, como andamentos de tickets e muitas outras, por e-mail. É um recurso bem interessante e eficiente que vale a pena ativar. Para verificar todas as possibilidades de notificações acesse o sistema com um usuário super-administrador e use o menu Setup (Configuração) / Notifications (Notificações).

Em Setup / Notifications / Configuration, selecione a opção Yes para habilitar as funções de followup / followup by email. Você pode conferir todas as possibilidades de notificações no menu Notifications / Notifications e pode editar as notificações em Notifications / Templates. Para que essas notificações sejam enviadas por email, você precisa cadastrar uma conta de email (SMTP). Vá em Notifications / Email followups configuration e use o exemplo abaixo para cadastrar uma conta tradicional (sem SSL / TLS).

GLPI Notifications Config – Informações sobre o remetente e configurações da conta usada para o envio das notificaçõesUse a função “send a test email” para conferir se as informações do provedor estão corretas.

Confira as configurações de SMTP do seu provedor para que esta ação funcione corretamente. O tipo de envio (SMTP, SMTP+SSL, SMTP+TLS), porta padrão (587, 465) e outras configurações, podem variar de acordo com cada serviço.

Integração do GLPI com o Microsoft Active Directory

Acesse o sistema com o user glpi (Administrator) e então vá ao menu Setup (Configuração) / Authentication (Autenticação) / LDAP Directories. Clique em adicionar (+).

Neste tela, você precisará informar todos os dados e configurações necessárias para que o GLPI possa se integrar ao Microsoft Active Directory, como:

  • Name: nome qualquer para esta conexão (sugestão: usar o domínio do AD, como seudominio.local)
  • Default server: Yes
  • Active: Yes
  • Server: 192.168.14.14 (IP do Servidor Windows Server / Active Directory)
  • Port: 389 (porta default do AD, sem SSL)
  • Connection filter: (&(objectClass=user)(objectCategory=person))
  • BaseDN: dc=seudominio, dc=local
  • RootDN: user@seudominio.local (usuário do AD)
  • RootDN (também pode ser): CN=user, CN=Users, DC=seudominio, DC=local (usuário do AD + Organizational Unit + Base DN)
  • Password: ******* (senha do usuário do AD)
  • Login field: SaMAccountName
  • Synchronization field: objectguid

Na imagem abaixo é possível conferir as informações que usei para conectar meu GLPI com o meu Active Directory. Use a função de Teste, para confirmar se os parâmetros (conexão) estão corretos:

GLPI Authentication Config – LDAP Directories: Microsoft Active Directory (Windows Server 2016). ***Clique na imagem para ver ampliada.
GLPI LDAP Test

Feito isso, você já pode acessar o GLPI com os usuários do Active Directory. A sugestão é de criar um grupo, no AD, específico para aqueles que terão permissão para acessar o GLPI.

Configuração avançada de usuários

É possível efetuar diversas configurações mais avançadas, como relacionar grupos do AD com permissões (perfis) padrão do GLPI. Para isso, use o menu Setup (Configuração) / Authentication (Autenticação) / LDAP Directories. Clique na conexão criada no passo anterior e então vá ao menu Users e Groups (conforme imagem acima).

Para importar os usuários do AD para o GLPI e então efetuar ajustes e configurações específicas, como de perfis de acesso ao GLPI, use o menu Administration (Administração) / Users (Usuários) / LDAP Directory Link / Import New Users, conforme ilustrado na figura abaixo, ou Syncronizing already importerd users, para usuários já importados.

GLPI – LDAP Users

*Com informações de: GLPI – Instalação, TechExpert TIPS – GLPI Autenticação LDAP no Active Directory , OS Radar – How to install GLPI with Nginx on Debian 10, Website for Students – How to Setup GLPI on Ubuntu 18 with Nginx, GLPI – Email followups configuration.

___
Comecei a escrever este artigo de instalação do GLPI em meados de 2017/2018, quando ele ainda estava em sua versão 9.2, mas, como não  havia concluído, não tinha publicado anteriormente. Recentemente, com a necessidade de realizar uma atualização do sistema, resolvi dedicar um pouco de tempo para atualizar o artigo e então publicá-lo 😉

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.