Para criar um certificado SSL local, configurar o VirtualHost no Apache2 e habilitar o HTTPS completo para o GLPI, siga este passo a passo.
1. Habilitar o Módulo SSL e Instalar o OpenSSL
1.1. Primeiro, garanta que as ferramentas necessárias estão instaladas e ative o módulo SSL no Apache:
sudo apt update
sudo apt install openssl apache2
sudo a2enmod ssl
sudo a2enmod rewrite
2. Criar o Certificado SSL Autoassinado Local
2.1. Para evitar erros de compatibilidade nos navegadores modernos, é ideal que o certificado contenha o Subject Alternative Name (SAN). Crie uma pasta para armazenar suas chaves:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/glpi.key -out /etc/apache2/ssl/glpi.crt
2.2. Preencha as perguntas:
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]: Pernambuco
Locality Name (eg, city) []: Olinda
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Nome da empresa
Organizational Unit Name (eg, section) []: Setor responsável pelo Certificado SSL
Common Name (e.g. server FQDN or YOUR name) []: dominio.interno.com.br
Email Address []:email@empresa.com.br
3. Configurar o VirtualHost para HTTPS
3.1. Crie um novo arquivo de configuração do Apache para o seu GLPI:
sudo nano /etc/apache2/sites-available/glpi-ssl.conf
3.1. Adicione o seguinte bloco de configuração, alterando o ServerName, o caminho para a sua chave (.key), o certificado (.crt) e o diretório do GLPI. Note que também configuramos um redirecionamento automático da porta 80 (HTTP) para a 443 (HTTPS):
<VirtualHost *:80>
ServerName glpi.empresa.interno.com.br
Redirect permanent / https://glpi.empresa.interno.com.br
</VirtualHost>
<VirtualHost *:443>
ServerName glpi.local
DocumentRoot /var/www/html/glpi/public
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/glpi.crt
SSLCertificateKeyFile /etc/apache2/ssl/glpi.key
<Directory /var/www/html/glpi/public>
AllowOverride All
Require all granted
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
ErrorLog ${APACHE_LOG_DIR}/glpi_ssl_error.log
CustomLog ${APACHE_LOG_DIR}/glpi_ssl_access.log combined
</VirtualHost>
4. Habilitar o site e reiniciar o ApacheHabilite o site configurado, verifique se não há erros de sintaxe nos arquivos de configuração e reinicie o serviço:
sudo a2ensite glpi-ssl.conf
sudo apache2ctl configtest
sudo systemctl restart apache2