Como Instalar GLPI 10.0.18 no Docker

Neste tutorial, você aprenderá a instalar e configurar o GLPI (versão 10.0.18) usando Docker e Docker Compose, seguindo as recomendações de segurança da Teclib. O GLPI é uma poderosa ferramenta de gerenciamento de ativos e help desk, e com contêineres, você pode implantá-lo de forma rápida, segura e consistente em qualquer ambiente.

Configurações de Segurança

Nesta versão do GLPI, foram aplicadas as recomendações de segurança da Teclib para garantir que o acesso ao diretório /var/www/html/glpi seja restrito e seguro.

Pré-requisitos
Antes de começar, certifique-se de que você tem o seguinte instalado:

Docker DebianInstalando o Docker no Debian
Docker UbuntuInstalando o Docker no Ubuntu

Baixar o Projeto
Você pode usar a imagem Docker do GLPI 10.0.18 que disponibilizei no Docker Hub ou clonar o repositório GitHub para personalizar o ambiente.

Usar a Imagem do Docker Hub

Imagem Docker Hub: rosnertech/glpi:10.0.18
Para puxar a imagem, execute:

docker pull rosnertech/glpi:10.0.18

Clonar o Repositório GitHub

Repositório GitHub: GLPI Docker
Para clonar o repositório, execute:

git clone https://github.com/seu-usuario/glpi-docker.git
cd glpi-docker

Configurar o Ambiente

No diretório do projeto, crie um arquivo docker-compose.yml com o seguinte conteúdo:

version: '3.8'

services:
  db:
    image: mariadb:10.11
    container_name: glpi-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
      MYSQL_DATABASE: ${DB_NAME}
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASSWORD}
    volumes:
      - db-data:/var/lib/mysql
    networks:
      - glpi-network
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 5s
      retries: 5

  glpi:
    image: rosnertech/glpi:10.0.18
    container_name: glpi-app
    restart: always
    environment:
      DB_HOST: db
      DB_NAME: ${DB_NAME}
      DB_USER: ${DB_USER}
      DB_PASSWORD: ${DB_PASSWORD}
    volumes:
      - glpi-data:/var/www/html/glpi
    ports:
      - "8080:80"
    depends_on:
      db:
        condition: service_healthy
    networks:
      - glpi-network

volumes:
  db-data:
  glpi-data:

networks:
  glpi-network:
    driver: bridge

Arquivo .env

Crie um arquivo .env no mesmo diretório para armazenar as variáveis de ambiente:

# Variáveis de ambiente para o banco de dados
DB_ROOT_PASSWORD=root_password
DB_NAME=glpi
DB_USER=glpi_user
DB_PASSWORD=glpi_password

Iniciar os Contêineres

Execute o seguinte comando para iniciar os contêineres:

docker-compose up -d

Isso irá:

Baixar as imagens necessárias (MariaDB e GLPI).
Criar os volumes para persistência de dados.
Configurar a rede glpi-network para comunicação entre os contêineres.
Iniciar o banco de dados e o GLPI.

Acessar o GLPI no Navegador

http://localhost:8080

Siga as etapas de instalação:

Selecione o idioma e clique em OK.
Na tela de verificação de requisitos, confirme que todos os itens estão marcados como OK e clique em Continuar.
Na configuração do banco de dados, insira os seguintes valores:
Servidor do banco de dadosdb
Usuário do banco de dadosglpi_user
Senha do banco de dadosglpi_password
Nome do banco de dadosglpi

Clique em Continuar e conclua a instalação.

Excluir o Arquivo install.php

Após concluir a instalação via navegador, é importante excluir o arquivo install.php por motivos de segurança. Execute o seguinte comando:

docker exec glpi-app rm -f /var/www/html/glpi/install/install.php

Para confirmar que o arquivo foi excluído, você pode verificar o conteúdo do diretório install:

docker exec glpi-app ls -l /var/www/html/glpi/install

Se o arquivo install.php não aparecer na listagem, ele foi removido com sucesso.

Primeiro Login

Após a instalação, você será redirecionado para a tela de login. Use um dos seguintes usuários padrão para acessar o sistema:

Por questões de segurança, recomenda-se que você altere as senhas padrão imediatamente após o primeiro acesso ao sistema. O uso de senhas padrão pode tornar seu ambiente vulnerável a acessos não autorizados.

Para maior proteção, escolha uma senha forte e única, combinando letras maiúsculas e minúsculas, números e caracteres especiais. Caso precise de ajuda para alterar a senha, consulte a documentação ou entre em contato com o suporte.

Gerenciar o Ambiente
Comandos Úteis

Ver logs do GLPI:

docker-compose logs -f glpi-app

Parar os contêineres:

docker-compose down

Reiniciar os contêineres:

docker-compose restart

Remover volumes e redes (use com cuidado):

docker-compose down --volumes --remove-orphans

Conclusão:

Agora você tem um ambiente completo do GLPI 10.0.18 rodando em contêineres Docker, com configurações de segurança reforçadas seguindo as recomendações da Teclib. Esse setup é ideal para testes, desenvolvimento ou até mesmo produção, graças à facilidade de gerenciamento e escalabilidade que o Docker oferece.

Links Úteis

Docker Hubrosnertech/glpi:10.0.18
Repositório GitHubGLPI Docker
Teclib: GLPI

Se tiver dúvidas ou precisar de ajuda, sinta-se à vontade para abrir uma issue no GitHub ou entrar em contato. Boa sorte com o GLPI! 🚀

Agradeço por ler esse artigo e espero vê-lo novamente em breve. Continue nos acompanhando para mais conteúdo relevante e inspirador. Até a próxima!

6 Responses so far.

  1. Celso Junior disse:

    Isso já resolve o problema de segurança do diretório? O arquivo “.env” é só a extensão mesmo ou tem algum nome? Já tenho a versão 10.1.1.17 instalada, posso fazer a atualização, se sim, como? Desculpe, ainda estou bastante n00b.

    • Rosner Tech disse:

      Olá Celso,
      Fico muito feliz que tenha encontrado meu conteúdo e tirado um tempo para comentar! 😊
      Não, esta versão ainda não trata o problema de segurança, pois eu estava apenas testando o ambiente. O problema foi corrigido na versão 10.0.18. O arquivo .env é utilizado para configurar as variáveis de senha, evitando que fiquem expostas no docker-compose, o que é uma boa prática.
      Sim, você pode atualizar a versão, mas isso exige conhecimento avançado em GLPI. Será necessário realizar backup do banco de dados e dos arquivos do volume do Docker. Mesmo em instalações sem Docker, esses passos são indispensáveis antes da atualização.
      No Docker, caso tenha utilizado docker-compose, será necessário renomear o volume glpi-data. Isso ocorre porque, ao iniciar um novo container, um novo volume será criado. Depois, será necessário restaurar os arquivos essenciais, como plugins, imagens e anexos dos chamados, conforme o procedimento padrão do GLPI.
      Caso tenha dúvidas, pode me chamar pelo e-mail contato@rosnertech.com.br.

  2. Celso Junior disse:

    Outra coisa, o comando certo para remover o install.php é :
    docker exec glpi-app rm -f /var/www/html/glpi/install/install.php

    E o para verificar é:
    docker exec glpi-app ls -l /var/www/html/glpi/install
    Sem querer vc colocou o diretório “public”.

    Além disso, sugiro colocar neste excelente tutorial que para ficar 100% seguro tem que trocar as senhas dos usuários padrão e como se atualiza o glpi sem perder dados.

    Obrigado.

    • Rosner Tech disse:

      Olá Celso,
      Obrigado por informar o erro, irei ajustá-lo. Sim, assim que possível, irei criar esse tutorial.
      Continue acompanhando os próximos conteúdos!
      Abraços
      Rosner

  3. Rafael disse:

    Seu material é muito bom, inclusive estou usando sua imagem para meu glpi.

    Você poderia ensinar como criar uma imagem.

Deixe um comentário para Celso Junior Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *