Lançando em meados de Junho/2020, o GLPI 9.5 trouxe consigo melhorias e algumas novas dependências a serem instaladas, entre elas php-bz2 e php-zip, o comando abaixo trás atualizados as dependências.
Passo 1 - Atualizando o Debian
apt update
Passo 2- Configurando Timzone
timedatectl set-timezone America/Sao_Paulo
date
Passo 3 - Instalando Dependências
Passo 3.1 - MariaDB e Webserver Apache
apt-cache show policy mariadb-server
apt install apache2 \
mariadb-server
Passo 3.2 - PHP e Extensões
apt-cache show policy php
apt install php \
libapache2-mod-php \
php-soap \
php-cas \
php-apcu \
php-cli \
php-common \
php-curl \
php-gd \
php-imap \
php-ldap \
php-mysql \
php-snmp \
php-xmlrpc \
php-xml \
php-intl \
php-zip \
php-bz2 \
php-mbstring php-bcmath
Passo 3.3 - Instalando Utilitários
apt install bsdtar \
bzip2 \
curl \
mycli \
wget
Passo 4 - Criando base de dados
mysql -u root -e "create database glpi character set utf8";
mysql -u root -e "create user 'glpi'@'localhost' identified by '123456'";
mysql -u root -e "grant all privileges on glpi.* to 'glpi'@'localhost' with grant option";
Passo 5 - Baixando GLPI
Passo 5.1- Baixando o GLPI
wget -4 https://github.com/glpi-project/glpi/releases/download/9.5.5/glpi-9.5.5.tgz
Repositório
https://github.com/glpi-project/glpi/releases
Passo 5.2 - Descompactando
tar xvf glpi-9.5.5.tgz -C /var/www/html
Passo 5.3 - Alterando o dono do diretório /var/www/html/glpi
chown www-data. -Rf /var/www/html/glpi/
chmod 775 -Rf /var/www/html/glpi/
Passo 5.4 - Definir AllowOverride all para o GLPI
nano /etc/apache2/conf-available/glpi.conf
<Directory /var/www/html/glpi>
AllowOverride All
</Directory>
a2enconf glpi.conf
Passo 5.5 - Recarregando as configurações do apache
systemctl reload apache2
Passo 6 - Configurando Timezone
O GLPI 9.5 agora consegue operar com timezone, para habilitar o recurso, é necessário que executemos o seguinte procedimento abaixo.
Passo 6.1 - Populando a tabela time_zone_name
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -p -u root mysql
Passo 6.2 - Permitindo acesso do user GLPI a tabela time_zone_name
Acesse o mariadb e execute a tarefa abaixo;
mysql -u root
GRANT SELECT ON `mysql`.`time_zone_name` TO 'glpi'@'localhost';
FLUSH PRIVILEGES;
Fonte: (https://glpi-install.readthedocs.io/en/latest/timezones.html)
Passo 7 - Instalando o GLPI via console
Passo 7.1 - Verificando requerimentos
Desde a versão 9.2.2 e centralizado na 9.4.0, o GLPI traz consigo um conjunto de ferramentas via linha de comando que nos auxiliam em sua manutenção, o que é pouco divulgado é a capacidade de também concluirmos a instalação por esse script, nesse how to seguiremos essa metodologia.
cd /var/www/html/glpi
sudo -u www-data php bin/console glpi:system:check_requirements
Passo 7.2 - Conferindo o dono dos diretórios GLPI
find /var/www/html/glpi/ -user root -exec ls -la {} \;
find /var/www/html/glpi/ -user root -exec ls -la {} \;
Passo 7.3 - Instalando GLPI via bin/console
Na sintaxe abaixo, , informamos que será feita feita uma nova instalação do banco de dados com usuário glpi, banco glpi, senha 123456 no idioma pt_BR.
cd /var/www/html/glpi
sudo -u www-data php bin/console db:install -u glpi -d glpi -p 123456 -L pt_BR -vvv
Passo 8 - Removendo o arquivo de instalação do GLPI
rm /var/www/html/glpi/install/install.php
Troubleshooting
Incidente - 1 - Bin console não é executado pelo usuário www-data
Causa provável
Caso rode bin console como root, durante a checagem de requerimentos, o arquivo ../glpi/files/logs/php-errors-log terá como dono o usuário root.
Exemplo de execuçao
php /var/www/html/glpi/bin/console glpi:system:check_requirements
php /var/www/html/glpi/bin/console db:install -u glpi -d glpi -p 123456 -L pt_BR -vvv
Solução
Corrija as permissões do arquivo glpi/log/php-errors.log
chow www-data. /var/www/html/glpi/_log/php-errors.log
Incidente 2 - GLPI com Tela em branco (White screen)
Causa provável
Caso o GLPI apresente uma tela em branco (white screen), isso normalmente significa que o o usuário apache, www-data ou nginx, não consegue gravar em algum arquivo já que ele não é dono ou as permissões não o permite fazê-lo.
Solução
chow www-data. /var/www/html/glpi/_log/php-errors.log
Acessando o sistema
URL: http://servidor/glpi
Usuario glpi Senha glpi
Fontes
https://glpi-install.readthedocs.io/pt/latest/command-line.html#cdline-install
https://glpi-install.readthedocs.io/pt/latest/prerequisites.html