Instalando o GLPI no Windows Server 2016 e IIS 10

Instalando o GLPI no Windows Server 2016 e IIS 10
Chamada
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 size200M
Upload Maximum File Size100
Resources Limits
Maximum Execution Time300
Maximum Files To Upload50
Maximum Imput Time120
Memory Limit512M
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
http://localhost/glpi ou http://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.