GLPI 11: instalação em Linux

Neste tutorial, irei explicar como instalar o GLPI 11 em Linux (Ubuntu 24.04) com Apache2, PHP 8.3 em FPM e MariaDB.

O GLPI 11 é uma solução de Gestão de Serviços de TI (ITSM) de código aberto que gere equipamentos, utilizadores, tickets de incidentes e pedidos de serviço. Esta versão oferece uma interface modernizada, uma usabilidade melhorada e um desempenho melhorado. Integra nativamente ferramentas de gestão de projetos, base de conhecimento e inventário. O GLPI 11 também reforça a segurança e facilita a integração com outros sistemas através de APIs REST.

À data em que este tutorial foi escrito, o GLPI 11 ainda se encontrava na versão Beta.

Pré-requisitos para a implementação do GLPI

Para executar o GLPI, precisa de um servidor web e PHP. Neste tutorial, iremos instalar o Apache2 e o PHP diretamente no servidor utilizando os repositórios PPA, o que nos permitirá ter as versões mais recentes do Apache2 e do PHP.

Para a parte do servidor de base de dados, vamos implementar um servidor MariaDB 11 utilizando o Docker.

Como complemento ao final deste tutorial, explico também como configurar o GLPI para utilizar o Redis como sistema de cache.

Deve também fornecer um nome DNS como glpi.domain.tld.

Instalar o Docker e o Docker Compose

Para começar, terá de instalar o Docker e o Docker Compose que iremos utilizar para o servidor de base de dados e o servidor Redis. Convido-o a seguir primeiro este tutorial: Ubuntu 24.04: Instalar o Docker e o Docker Compose

Instalar o Apache2

Para começar, vamos instalar o servidor web Apache2 a partir do repositório PPA for Apache 2.

Comece por digitar o seguinte comando:

sudo add-apt-repository ppa:ondrej/apache2

Atualizar a cache do pacote:

sudo apt update

Na captura de ecrã, podemos ver que foi consultado o repositório ondrej/apache2.

Inicie a instalação do Apache2

sudo apt install apache2 -y

Aguarde enquanto instalamos…

O Apache2 está instalado, digite o seguinte comando para verificar se o serviço foi iniciado:

sudo systemctl status apache2

O GLPI necessita do módulo Rewrite para funcionar, vamos agora ativá-lo, digite o seguinte comando:

sudo a2enmod rewrite

O GLPI necessita do módulo Rewrite para funcionar, vamos agora ativá-lo, digite o seguinte comando:

sudo systemctl restart apache2

Para testar o servidor web Apache2, abra um navegador de internet e introduza o endereço IP do servidor (http://a.b.c.d) como URL. Deverá ver a seguinte página:

O servidor Apache2 está instalado e a funcionar.

Instalação do PHP-FPM para GLPI

O PHP é a linguagem utilizada do lado do servidor, para a geração dinâmica de páginas, mas também para lidar com toda a parte de inventário e várias tarefas automáticas utilizando o CRON.

Por razões de “desempenho” e separação de serviços ao nível do servidor web Apache2, iremos instalar o PHP-FPM.

O PHP-FPM (FastCGI Process Manager) é um método poderoso para executar código PHP num servidor web. Permite uma melhor gestão dos processos PHP, maior velocidade de execução e redução da carga do servidor. O PHP-FPM oferece também maior estabilidade, especialmente sob tráfego intenso, e permite configurações mais detalhadas (por site ou aplicação). Atualmente é o método recomendado com o Nginx e é também muito utilizado com o Apache.

Tal como acontece com o Apache2, iremos utilizar o repositório ppa:ondrej/php, que nos permite ter a versão mais atualizada do PHP 8.3 no Ubuntu.

Comece por adicionar o repositório com o seguinte comando:

sudo add-apt-repository ppa:ondrej/php

Depois de o repositório ser adicionado, digite o seguinte comando:

sudo apt update

Agora que já instalámos o PHP 8.3, digite o seguinte comando:

sudo apt install php8.3-fpm -y

Instalar add-ons PHP para GLPI 11:

sudo apt install php8.3-curl php8.3-gd php8.3-intl php8.3-mysql php8.3-bz2 php8.3-zip php8.3-apcu php8.3-cli php8.3-imap php8.3-mbstring php8.3-dom php8.3-simplexml php8.3-xmlreader php8.3-xmlwriter php8.3-bcmath php8.3-redis -y

Se planeia ligar o LDAP a uma Active Directory, deve também instalar o módulo ldap do PHP:

sudo apt install php8.3-ldap -y

Com o PHP instalado, começaremos por activar os módulos necessários para utilizar o PHP-FPM no Apache2, para isso digite o seguinte comando:

sudo a2enmod proxy_fcgi setenvif

Reinicie o serviço Apache2:

sudo systemctl restart apache2

Ora, existem várias formas de fazer com que o Apache2 comunique com o PHP-FPM, sendo o servidor dedicado ao GLPI com uma única versão do PHP, vamos activar a configuração disponível directamente no Apache2, digite o seguinte comando:

sudo a2enconf php8.3-fpm

Reinicie novamente o serviço Apache2:

sudo systemctl restart apache2

Iremos testar a instalação do PHP, para tal iremos criar um ficheiro PHP com a função phpinfo(); que irá retornar as informações sobre a instalação do PHP.

Crie o ficheiro:

sudo nano /var/www/html/phpinfo.php

No ficheiro adicione as seguintes linhas:

<?php
phpinfo();
?>

Assim, num browser chamado página phpinfo.php (http://a.b.c.d/phpinfo.php), deve ter isto:

Como se pode observar na API do servidor, o PHP é executado no modo FPM/FastCGI.

Configuração do contentor MariaDB

O último elemento do nosso servidor necessário para executar o GLPI 11 é a base de dados, como explicado no início deste tutorial, iremos utilizar o Docker para executar a base de dados MariaDB para o GLPI.

A utilização do Docker permitir-nos-á libertar os repositórios do Ubuntu para a nossa base de dados, o que também permite atualizações mais rápidas. Existem outras vantagens, mas isso está fora do âmbito deste tutorial.

Crie a pasta para armazenamento do contentor:

sudo mkdir /containers/mariadb-glpi

Vá para a pasta da pasta:

cd /containers/mariadb-glpi

Clone o seguinte repositório que contém os ficheiros de configuração do contentor para o mariadb:

sudo git clone https://git.rdr-it.com/docker/mariadb-or-mysql-container.git .

Edite o ficheiro . env

sudo nano .env

Eis o conteúdo que precisa de colocar (gerar passwords):

Descarregue a imagem do contentor:

sudo docker compose pull

Inicie o contentor:

sudo docker compose up -d

O servidor de base de dados está pronto.

Télécharger GLPI 11

Passaremos para o download do GLPI.

Antes de começar, crie a pasta que será utilizada para alojar os ficheiros GLPI:

sudo mkdir -p /var/www/glpi

Vá para a pasta pessoal do seu utilizador:

cd

Na página: https://github.com/glpi-project/glpi/releases copie o url do ficheiro (ficheiro tgz) da última versão disponível do GLPI 11.

Descarregue o ficheiro:

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

O ficheiro descarregado descompacta o ficheiro:

tar -xvzf glpi-11.0.0-beta5.tgz

Mova os ficheiros GLPI 11 para a pasta destinada ao Apache2:

sudo mv glpi/* /var/www/glpi

Último passo, altere o proprietário da pasta /var/www/glpi:

sudo chown www-data:www-data /var/www/glpi/ -R

Configurar o virtualhost para GLPI 11 no Apache2

Último passo com as linhas de comando 😉 Vamos configurar o virtualhost no Apache2 para o GLPI 11.

Aceda à pasta /etc/apache2/sites-available/

cd /etc/apache2/sites-available/

Copie o ficheiro virtualhost padrão:

sudo cp 000-default.conf glpi.conf

Edite o ficheiro:

nano glpi.conf

Aqui está o ficheiro virtualhost para o GLPI 11, adapte o ServerName com o registo DNS que escolheu.

Ativar virtualhost:

sudo a2ensite glpi

Recarregar a configuração do Apache2

sudo systemctl reload apache2

A configuração ao nível do servidor está concluída.

Instalar o GLPI 11

Num navegador de Internet, introduza o URL que escolheu para o GLPI e, na página que aparece, clique em Ir para a página de instalação 1.

GLPI 11 - Home Page for install

Comece por selecionar o idioma 1 e clicar no botão OK 2.

Aceite a licença clicando em Continuar 1.

Aqui iremos fazer uma nova instalação do GLPI 11, clique no botão Instalar 1.

Verifique se os pré-requisitos do ambiente foram cumpridos e clique no botão Continuar 1 na parte inferior da página.

Configure as informações de ligação à base de dados 1 (Servidor, Utilizador e Palavra-passe) e clique no botão Continuar 2.

A ligação ao servidor MariaDB que está num contentor está funcional, selecione a base de dados glpi 1 e clique no botão Continuar 2.

Aguarde enquanto a base de dados é inicializada…

GLPI 11 - Database creation

A base de dados do GLPI 11 foi inicializada e todas as tabelas e dados padrão foram injetados. Clique no botão Continuar 1.

Configure a recolha de dados 1 se desejar e clique no botão Continuar 2.

Salte o passo 5 e clique em Continuar 1.

A instalação do GLPI estiver concluída, clique no botão Utilizar GLPI 1.

Será redirecionado para a página de login do GLPI 11.

Ligar ao GLPI 11 e descobrir

Para a primeira ligação, utilize o identificador glpi 1 e a palavra-passe glpi 2 e clique em Ligar 3.

Após efetuar o login, chega à página inicial do GLPI, que agrupa vários painéis com estatísticas.

Como pode ver, as estatísticas não estão a 0, isto é normal, por defeito o GLPI 11 apresenta os dados de demonstração, é possível “apagá-los” clicando em Desativar demonstração.

Verifique os dados do ambiente

No menu Configuração 1, clique em Geral 2, aqui encontrará diversas informações do ambiente de aplicação GLPI 11.

Configurar o Redis Cache

Por predefinição, o GLPI utiliza um sistema de cache baseado em ficheiros. Em ambientes onde o GLPI é muito utilizado, o Redis pode ser utilizado como um sistema de cache, o que melhora o desempenho.

O Redis é uma base de dados NoSQL de código aberto, em memória, utilizada principalmente como cache, fila ou armazenamento ultrarrápido de chave-valor. Armazena dados diretamente na RAM, permitindo tempos de resposta extremamente rápidos (em milissegundos). O Redis suporta estruturas de dados avançadas, como listas, conjuntos, hashes, conjuntos classificados e bitmaps. É frequentemente utilizado para melhorar o desempenho de aplicações web, gerir sessões ou executar pub/sub. O Redis também pode ser persistente, gravando dados periodicamente em disco. Suporta alta disponibilidade através de motores como o Redis Sentinel ou o Redis Cluster.

Na secção Desempenho 1 tem informações sobre a cache GLPI, como pode ver na captura de ecrã abaixo, por defeito estamos em “sistema de ficheiros”.

Para facilitar a “instalação” do Redis, iremos implementar o serviço num contentor com o Docker, tal como fizemos para a base de dados MariaDB.

De volta ao servidor via SSH, vá para a pasta /containers/ e crie a pasta para o contentor Redis.

cd /containers
sudo mkdir redis-glpi
cd redis-glpi

Crie o ficheiro docker-compose.yml.

sudo nano docker-compose.yml

Copie o seguinte conteúdo para o ficheiro docker-compose.yml:

Descarregue a imagem do contentor Redis:

sudo docker compose pull

Inicie o contentor:

sudo docker compose up -d

De seguida, vá para a pasta de instalação do GLPI 11:

cd /var/www/glpi

Introduza o seguinte comando para configurar a cache Redis no GLPI 11:

sudo php bin/console cache:configure --context core --dsn redis://127.0.0.1:6379/1

Dependendo do utilizador utilizado no SSH, deve confirmar a execução do comando.

De volta à página Desempenho do GLPI 11, actualize a página e verá que o Redis está configurado.

Continuar na configuração do GLPI 11

Este tutorial está a chegar ao fim, outros chegarão no GLPI 11, que pode fazer agora:

  • Apague a pasta de instalação do GLPI
  • Changer le mot de passe du compte glpi
  • Desativar ou eliminar outros utilizadores.

Se está habituado ao GLPI 10, pode ver que ambas as versões são semelhantes na interface e na configuração de outros elementos, como a ligação LDAP, SMTP…

Conclusão

A travers ce tutoriel, vous avez vu comment configurer un environnement LAMP spécifique pour GLPI sur Ubuntu 24.04, en configurant Apache2, PHP-FPM et des services avec Docker (MariaDB et Redis).

Existe uma infinidade de ambientes para instalar o GLPI e aqui vimos UMA das possibilidades.

Se tiver alguma dúvida, pergunte nos comentários.

Romain Drouche
Arquiteto de Sistemas | MCSE: Infraestrutura Essencial
Especialista em infraestrutura de TI com mais de 15 anos de experiência na área. Atualmente, como Gerente de Projetos de Sistemas e Redes e especialista em Segurança de Sistemas de Informação (SSI), utilizo minha expertise para garantir a confiabilidade e a segurança de ambientes tecnológicos.

Deixe um comentário