Tips Infra

Como instalar o GLPI 10 (versão 10.0.16)

GLPI 10

Hoje vamos ver como instalar o GLPI 10 (versão 10.0.0.15) no GNU/Linux Debian 12, veja nosso artigo e aprenda fazer a nova instalação já usando a versão de instalação segura que foi alterada desde a versão 10.0.7.

O GLPI 10 está disponível desde 20 de abril de 2022, data tão esperada de lançamento pela Teclib da versão 10.0.0.

Com essa versão, chegou uma interface gráfica melhorada (e muito), e junto também vieram diversas correções das versões anteriores.

Existem várias maneiras de rodarmos o GLPI como, por exemplo, instalação tradicional e a instalação via Docker, hoje vamos fazer a tradicional, instalando direto em um servidor, mas em breve faremos outro artigo usando o Docker.

A instalação será no Debian 12, mas certamente funciona para outros distros baseadas no Debian com poucas adaptações, o mais importante é você prestar atenção no passo a passo e estrutura de pastas, pois para uma instalação segura vamos precisar fazer alguns ajustes.

Notas de a

Atualizações

Atualizado em 24/09/2024 para a versão 10.0.16
Atualizado em 24/04/2024 para a versão 10.0.15
Atualizado em 14/03/2024 para a versão 10.0.14
Atualizado em 13/03/2024 para a versão 10.0.13
Criado o post em 01/02/2024 na versão 10.0.12

Instalação

Antes de iniciarmos vale ressaltar que vamos seguir as recomendações de pacotes e configurações da documentação oficial do GLPI que pode ser consultada neste link: https://glpi-project.org/pt-br/documentacao/

Você também vai precisar de uma máquina com o Debian 12 instalado e com acesso à internet.

Verifique também a hora do seu servidor, ela deve estar correta para o funcionamento do ambiente.

Atualize a lista de pacotes do seu repositório para podermos fazer as instalações.

# Atualizando os pacotes
sudo apt update

Após a lista de pacotes atualizados vamos fazer a instalação de todos os Pré-requisitos para rodarmos o GLPI, ou seja, é aqui que vamos instalar o servidor WEB (apache2) o banco de dados (MariaDB) o PHP com todos os seus pacotes, e mais alguns itens como por ex manipuladores de arquivos, etc.

Servidor WEB e PHP

o GLPI pode ser executado no Apache, Nginx, IIS e lighttpd, mas vamos abordar o passo a passo para o Apache, caso queira ver as outras configurações elas estão disponível em: https://glpi-install.readthedocs.io/en/latest/prerequisites.html#web-server

# Instalando o Apache e as dependências do php
sudo apt install -y apache2 php php-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2} libapache2-mod-php php-soap php-cas 

Aqui vai uma dica, você notou que colocamos todos os pacotes do PHP dentro de php-{} isso é usado para a instalação de vários pacotes que tem o mesmo início de nome, criando assim um “vetor” para os nomes.

Após a execução do passo acima, já teremos o servidor WEB instalado com os módulos PHP necessários para a execução do GLPI.

Banco de dados

o GLPI precisa de um banco de dados para armazenamento dos chamados e demais itens, para isso vamos usar o MariaDB que é uma solução de código aberta, o GLPI só é compatível com os bancos MySQL e MariaDB.

# instalando o MariaDB
sudo apt install -y mariadb-server

Após instalação vamos precisar executar o comando de instalação segura do MariaDB, aqui ele vai te dar várias opções, leia com atenção cada uma delas, mas vou deixar a sequência que usei aqui!

# instalação segura
sudo mysql_secure_installation

# Respondendo as perguntas solicitadas
Enter current password for root (enter for none): - Apenas aperte enter
Switch to unix_socket authentication [Y/n]: Y
Change the root password? [Y/n]: Neste ponto se você apertar Y será solicitado
a nova senha de root do MariaDB
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
emove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Aqui já teremos o banco de dados instalado para podermos criar a base e os acessos, para isso siga os comando abaixo, ajustando o nome do banco, nome de usuário e a senha para os dados que você queira.

# Habilitar suporte ao timezone no MySQL/Mariadb
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql

# Entrando no banco de dados
mysql -u root -p
Enter password:   (aqui é a senha que colocamos no passo anterior)

Dentro do banco de dados vamos criar a base, criar o usuário e dar permissão para o usuário, lembre-se de mudar os nomes abaixo conforme você desejar.

# Criando a base de dados
create database glpi character set utf8;

# Criando o usuário
create user 'user_glpi'@'localhost' identified by '123456';

# Aplicando as permissões
grant all privileges on glpi .* to 'user_glpi'@'localhost' with grant option;

# Permitindo acesso do usuário ao TimeZone do mysql
GRANT SELECT ON mysql.time_zone_name TO 'user_glpi'@'localhost';

# Recarregando os privilégios
flush privileges;

# Fim
exit;

Baixando e instalando o GLPI

Servidor WEB OK, Banco OK, então agora podemos baixar o GLPI e fazer as configurações para seu funcionamento, vamos la.

Primeiro vamos criar a pasta onde a base do nosso GLPI vai ficar, não se preocupe com permissões agora, vamos chegar la!

# Criando a pasta para todo o GLPI
mkdir /var/www/glpi

Agora vamos baixar o GLPI e ajustar o local de cada pasta

# Baixando o GLPI
wget -O- https://github.com/glpi-project/glpi/releases/download/10.0.15/glpi-10.0.16.tgz | tar -zxv -C /var/www/glpi

# Ajustando o nome da pasta que foi baixada com o caminho /var/www/glpi/glpi para /var/www/glpi/site
mv /var/www/glpi/glpi /var/www/glpi/site

# Movendo a pasta Files e Config para fora da pasta site
mv /var/www/glpi/site/files /var/www/glpi
mv /var/www/glpi/site/config /var/www/glpi

# Ajustando arquivo de configuração para identificar novos caminhos
sed -i 's/\/config/\/..\/config/g' /var/www/glpi/site/inc/based_config.php
sed -i 's/\/files/\/..\/files/g' /var/www/glpi/site/inc/based_config.php

#Ajustando as permissões das pastas e arquivos e propriedades da aplicação
chown root:root /var/www/glpi/site -Rf

# Ajustar propriedade de arquivos files, config e marketplace
chown www-data:www-data /var/www/glpi/files -Rf
chown www-data:www-data /var/www/glpi/config -Rf
chown www-data:www-data /var/www/glpi/site/marketplace -Rf

# Ajustar permissões gerais
find /var/www/glpi -type d -exec chmod 755 {} \;
find /var/www/glpi -type f -exec chmod 644 {} \;

Dica: salve a parte de ajuste de permissões em um arquivo .sh, você vai precisar dela sempre que houver atualizações de versões 😉

Feito isso já podemos ajustar o VHOST do apache, para que assim nos possamos acessar o GLPI pelo navegador.

# Desativando site padrão do apache2
a2dissite 000-default.conf
systemctl restart apache2

# Criando e ajustando o VHOST para o GLPI
nano /etc/apache2/sites-available/glpi.conf

# Coloque o conteúdo abaixo no arquivo aberto

<VirtualHost *:80>
    DocumentRoot /var/www/glpi/site/public
    <Directory /var/www/glpi/site/public>
        AllowOverride All

        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php [QSA,L]

        Options -Indexes
        Options -Includes -ExecCGI

        Require all granted

        <IfModule mod_php.c>
                php_value max_execution_time 600
                php_value always_populate_raw_post_data -1
        </IfModule>

    </Directory>
</VirtualHost>


# Habilitando o site
a2ensite glpi.conf

# Habilitar o módulo rewrite do apache
a2enmod rewrite

#reiniciando o apache
systemctl restart apache2

Temos agora mais uma configuração para ajustar mas essa é no PHP, abra o arquivo /etc/php/8.2/apache2/php.ini e ajuste a opção /etc/php/8.2/apache2/php.ini

# Abrindo o arquivo
nano /etc/php/8.2/apache2/php.ini

# Procure por session.cookie_httponly = e coloque on na frente
session.cookie_httponly = on

# salve, saia e reinicie o apache
systemctl restart apache2

Se você chegou até aqui, agora você já deve conseguir abrir o GLPI pelo navegador através do endereço http://IP.do.servidor escolha seu idioma e clique em OK.

Após escolher o idioma, aceite os termos da licença do GLPI, e inicie a instalação.

Na próxima tela, se você segui todos os passos, não deverá haver nenhum resultado com erro ou com warning, sendo assim clique em continuar.

Na tela seguinte vamos colocar os dados do banco de dados que criamos nos passos anteriores lembram?

Selecione a base que já existe e clique em continuar e aguarde iniciar o banco de dados.

Pronto, você instalou o GLPI e já pode fazer o uso do mesmo.

Quando acesse o ambiente com o user GLPI e senha glpi você vai ter 2 erros na tela, corrigi-los é fácil.

O primeiro vamos remover o arquivo install/install.php com o comando “rm /var/www/glpi/site/install/install.php”

O segundo você precisará alterar a senha dos usuários padrões.

Isso é tudo por hoje pessoal, fiquem de olho que teremos em breve mais tutoriais do GLPI, 😉

5 1 vote
Article Rating
Subscribe
Notify of
guest

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

16 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
Ver todos os comentários

[…] Recentemente publicamos um artigo sobre como instalar o GLPI, e vamos usar o Let’s Encrypt para proteger este site, se você ainda não viu, de uma olhada clicando aqui. […]

jhon

Muito bom
Me ajudou muito
Essa versão está quando abrirmos uma janela modal, com por exemplo: a janela para adicionar um novo modelo de computador na criação deste ativo, a janela que alteramos o que aparecer no relatório dos ativos e etc. Ao clicar nestas funções abre uma janela modal em que o conteúdo não é exibido, no google chrome aparece “A conexão com 172.16.X.XX foi recusada”, no edge aparece basicamente a mesma coisa, mas tem a opção de abrir em uma nova janela, e ao abrir, ela exibe normalmente o conteúdo, mas não como modal e sim como página.

Não consegui achar uma solução para isso

Bruno Casaletti

Opa, segui o tutorial e funcionou perfeito. Sem erros. Muito obrigado !

Phillipe

Boa tarde,
estou tendo esse probelma ”
A diretiva PHP “session.cookie_httponly” deve ser definida como “on” para evitar que o script do lado do cliente acesse os valores dos cookies.”” ja foi definida para on.

Phillipe

Estava na 8.1
e consgeuir resolver o problema. muito obg

fabio

Prezado

Revirei a internet, mas com esse tutorial consegui instalar facilmente.

Mas fiquei com uma dúvida na questão do Debian 11 para Debian 12 o repo do 11 ele só pega o repo do php 7.4, e minha dúvida, é seguinte como faço para atualizar o php para 8.3, visto que o php repo do debain 12 ele automaticamente pega o espelho do php 7.4. como que saiu disso rs
Meus agradecimento pelo belo procedimento muito bem explicado, meus parabéns vc é cara..

FABIO

Eu fiz O SEGUINTE COMO ERA VPN EU FIZ UM BACKUP DE TUDO E FIZ UPGRADE DO SISTEMA E REFIZ O PROCESSO SEU E RESOLVIDO FICOU TUDO RODANDO CERTO MUITO OBRIGADO MAIS UMA VEZ E SEU PROCEDIMENTO É DE GRANDE AVALIA PARA MIM OBRIGADO !!

Andrey Costa

A titulo de curiosidade, acabei de testar seu tutorial em um raspberry pi 3 com Raspian 12. Com alguns workarounds mas funcionou certinho… 🙂
Parabéns pelo trabalho.

2024-05-03-012025_1280x1024_scrot
Diogo

Olá, testei a instalação no debian12 e o mesmo não reconhece os comandos a2dissite, a2ensite e a2enmod.
Ja tentei reinstar o apache mais não reconheçe.

robson

Opa, provavelmente voce logou com su apenas. Tem que usar o su – para trazer as variaveis do ambiente.

16
0
Adoraria sua opinião, por favor, comente.x