Instalando o GLPI no Windows Server 2016 e IIS 10

Instalando o GLPI no Windows Server 2016 e IIS 10

Neste post demonstrarei como instalar o GLPI no Windows Server 2016, executando o Servidor Web IIS 10, será instalado o PHP ManagerForIIS, MYSQL e por fim ativaremos as extensões PHP LDAP, Fileinfo e Opcache necessárias para execução do GLPI.

Um momento de reflexão

Batman Corrigindo o carinha da TI

1-Baixando Dedendências

Aqui estão disponíveis os links das dependências necessárias para provisionarmos o GLPI. Web Plataform Installer (WebPI) PHPManagerForIIS GLPI Dashboard GLPI (Opcional)

2-Instalando NET Framework 3.5

Instalar NET Framework via DISM

Particularmente prefiro fazer a instalação via DISM no prompt de comando, por ser mais rápido e objetivo.

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All

3-Instalando o Web PI, PHP e MySQL

Baixar WebPI Execute o Web Plataform Installer (WebPI), e na tela de administração escolha o Mysql Windows 5.1 e PHP 7.

Instalando o Mysql Windows 5.1

Marque o MySQL Windows 5.1 para a instalação disponível em Web Plataform Installer > Products > Database > MySQL Windows 5.1

Instalando o PHP 7

Marque o PHP7 para a instalação disponível em bnb hjmku09-0 Web Plataform Installer > Products > Frameworks > PHP 7.0.21 (x64)
Desmarque a opção php manager for iis, isso é necessário pois a versão disponível no WPI não é compatível com o IIS 10

  • Clique em Install

  • Cadastre uma senha para o user root no banco de dados

  • Aceite Termo de Licença

  • Aguarde finalizaçao do processo de instalação. ​

Instalar o PHPManagerForIIS.msi

Baixe e instale o PHPManagerForIIS.msi disponível no Github. Baixar PHPManagerForIIS

4-Configurando o Path do MySQL

A instalação padrão do MySQL no Windows não cria o path do programa no registro do sistema com isso, se você quiser gerenciar o MySQL via CMD é necessário inserir o caminho completo sempre que for executar alguma tarefa, navegar ao local de instalação do programa, ou abrir o arquivo pré configurado para o CMD. Mas isso pode ser resolvido de forma simples inserindo o path Abra o CMD com usuario administrativo e insira esse comando.

setx /M MySQL "C:\Program Files\MySQL\MySQL Server 5.1\bin"

5-Criando Base de Dados no MySQL

Naturalmente é possível usar o usuário root para se conectar ao banco de dados durante a instalação do GLPI, porém isso não é considerado uma boa prática de segurança, sendo indicado criar um usuário específico para a nova base de dados, abaixo apresentamos um meio simples de criar um usuário e conceder permissão a base de dados. Criando Banco de Dados glpi

mysql -u root -p"123456" -e "create database glpi character set utf8";

Criando Usuário user_glpi

mysql -u root -p"123456" -e "create user 'user_glpi'@'localhost' identified by '123456'";

Dando permissão adminsitrativa ao usuário user_glpi ao banco de dados glpi

mysql -u root -p"123456" -e "grant all on glpi.* to 'user_glpi'@'localhost'  with grant option"; 

Troque a senha 12345 pelo password criado durante a instalação do MySQL no tópico 3.

6-Baixando e pré configurando o GLPI

Baixe o GLPI 9.2 Extraia o conteúdo e envie para o diretório

c:/inetpub/wwwroot/

Conceda permissões de modificação ao usuário IUSR na pasta C:\inetpub\wwwroot\glpi , é comum utilizar a interface gráfica, mas aqui vou apresentar um modo mais objetivo utilizando o icacls Abra o cmd como administrator e execute o seguinte comando.

icacls "C:\inetpub\wwwroot\glpi"  /c /t  /grant IUSR:M

Nota: O :M no final do IUSR indica que ele terá permissão de moditicar o diretório e subdiretório glpi O modo /c /t aplica a permissão nas subpastas.

7-Criando um novo site para o GLPI no IIS

Obviamente essa etapa pode ser realizada via interface gráfica do IIS, porém abordaremos sua gestão via appcmd Abra o cmd como administrador e insira o seguinte comando;

%windir%\system32\inetsrv/appcmd.exe add site /name:"Suporte GLPI" /physicalPath:C:\inetpub\wwwroot\glpi /bindings:http/*:80:suporte.empresa.int

Ele criará um instância chamada Suporte GLPI com caminho físico C:\inetpub\wwwroot\glpi escutando a porta 80 no seguinte domínio suporte.empresa.int.

echo 127.0.0.1 suporte.empresa.int >> %windir%\System32\drivers\etc\hosts

Este comando cria uma entrada suporte.empresa.int no arquivo de hosts.

8-Ativando extensões via PHP ManagerForIIS

Ativando e desativando exestensões PHP

Execute Windows + R e insira o seguinte comando abaixo para abrir o IIS ;

"C:\Windows\System32\inetsrv\iis.msc"
  1. No painel Conexões, clique com o botão esquerdo do mouse no pool de Sites

  2. No lado equerdo do painel selecione o PHP Manager

Em PHP Settings

Altere os valores em Set runtime limits, em nosso laboratório deixamos o ambiente coma seguinte configuração.

Data Handling
Maximum POST size 200M
Upload Maximum File Size 100
Resources Limits
Maximum Execution Time 300
Maximum Files To Upload 50
Maximum Imput Time 120
Memory Limit 512M
Ativando e desativando extensões

PHP Extensions Acesse Enable or disable an extensions Ative os seguintes extensões clicando sobre elas com o botão direito e marcando enable.

  1. php-ldap

  2. php-fileinfo

Extensoes PHP

Editando o PHP.ini

Edite o php.ini para que o instalador do GLPI reconheça a extensão Opcache. Cique com o botão direito e acione o Open php.ini No final do arquivo insira o seguinte conteúdo.

[opcache]
zend_extension=php_opcache.dll
; Determines if Zend OPCache is enabled
opcache.enable=On
opcache.cli_enable=On

Salve e feche o arrquivo php.ini

9-Instalando GLPI

Finalmente o ambiente Windows IIS está preparado para executar o GLPI, podemos agora acessar a sua url local e darmos início a instalação; Acesse https://localhost/glpi ou https://suporte.empresa.int 01-selecionar-idioma 02-aceitar-licena 03-selecionar-tarefa

Aviso : Como deve ter notado o instalador identificou a falta da extensão APCU, isso ocorre por termos optado pelo Wincache ele não está preparado para reconhecê-lo como alternativa ao apcu, dessa forma prossiga com a instalação normalmente.


03-5-Dependencias 04-config-database 05-selecione-base-de-dados

--

06-DumpConcluido

07-coleta-de-dados

08-Instalacao-Concluida

--

09-Login-GLPI

--

Concluímos o processo de instalação do GLPI no Windows Server 2016

10-Dicas Adicionais

Ferramentas para gestão da base de dados

Talvez você prefira usar um cliente gráfico para o administrar o mysql, são muitas opções disponíveis com esse propósito entre elas o phpMyAdmin, HeidiSQL e o MySQL Workbench mantido pela própria mantenedora do MySQL, as três ferramentas citadas possuiem vários recursos que o ajudarão a aprimorar a manutenção e desenvolvimento dos seus projetos envolvendo o MySQL.

Cadastrar o FQDN do GLPI no servidor DNS da Empresa.

Esta etapa é opcional porém de suma importância se você deseja faciliar o acesso dos usuários à ferramenta de suporte da empresa. Cadastre o FQDN do GLPI no DNS da empresa e evite publicar o serviço por endereço ip/glpi, isso facilita a vida do usuário criando um nome familiar como suporte.empresa crm.empresa, assim como para o administrador de rede que pode alterar o servidor de forma transparente, trabalhar com um único endereço tanto interno quanto externo, entre outros benefícios.

Uma descontração

Não leve a tirinha do Batman a sério, ela foi utilizada para criamos um gancho e demonstrar a utilização do GLPI sob IIS e Windows Server. 😃

11-CONCLUSÃO

Instalar o GLPI no Windows Server 2016 com IIS é uma tarefa simples, assim como no Linux, devendo ficar atento as suas depedências de software e permissões de pastas, no windows podemos susbstituir a extensão APCU que ajusta o cache php e otimiza a aplicação. Já a performance não é tão eficiente quanto em ambientes *unix, apresentando uma certa lentidão em tarefas simples como listar os chamados, o que pode ser um problema quando o ambiente elevar a carga de operação, se isto não for algo crucial em seu helpdesk, então nada impedirá sua utilização nesses cenários. Em última análise, instalar o GLPI nesse ambiente é interessante enquanto a infraestrutura, natureza do negócio ou até mesmo a política da empresa não permita ambientes heterogêneos, o que é uma raridade levando em considaração o cenário tecnológico atual.

Posted on