GLPI : installation sous Windows Server 2012 R2

Vous trouverez ci-dessous un step-by-step pour installer GLPI (version 0.90.5) sur Windows Server 2012 R2. Pour mon installation, mon serveur hôte est dans une DMZ sécurisée et n’appartient pas à un domaine Active Directory. Pour des raisons de sécurité, j’ai également ajouté un deuxième disque qui accueillera l’application et ses données. Avant de commencer, installez votre serveur et mettez-le à jour de ses patchs, puis téléchargez le bundle GLPI.

Note : une nouvelle version de cet article, plus détaillé, est disponible ici.

Installation du moteur IIS

  • Lancer le gestionnaire de serveur
  • Aller dans Gestion puis sélectionner Ajouter des rôles et des composants
  • Installer le rôle Web Server (IIS)
  • Sélectionner les composants :
    • .Net Framework 3.5 (attention : il faut indiquer la source SXS)
    • .Net Framework 4.5
  • Ne pas modifier les choix par défaut et lancer l’installation
  • Se rendre sur le site http://www.microsoft.com/web/downloads/platform.aspx et télécharger puis installer Microsoft Web Plateform Installer
  • La plateforme se lance automatiquement : aller dans Products puis sélectionner Framework à gauche
  • Ajouter PHP 7.0.9 (x86) – Cette version est recommandée pour l’ajout de nouveaux modules comme l’interrogation LDAP.
  • Sélectionner database à gauche
  • Ajouter MySQL Windows 5.1
  • Cliquer sur install et définir un mot de passe root pour la base de données MySQL
  • Cliquer sur I accept pour lancer l’installation
  • Télécharger GLPI et décompresser l’archive dans G:\inetpub\wwwroot (utilisez 7zip)
  • Donner les droits en écriture sur le dossier GLPI à :
    • IUSR
    • IIS_USRS
    • Authenticated users
  • Arrêter le service MySQL
  • Lancer un shell de commande en mode administrateur (cmd)
    • Exécuter la commande : cd /d c:\Program Files\MySQL\MySQL Server 5.1\bin
    • Exécuter la commande : echo SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘MyNewPass’); > fixpwd.txt (remplacer MyNewPass par un mot de passe)
    • Exécuter la commande : mysqld –init-file=fixpwd.txt (attention, c’est – – et pas – comme on pourrait le croire à la lecture)
  • Démarrer le service MySQL
  • Aller dans le gestionnaire de serveurs et choisir Outils puis sélectionner Internet Information Service (IIS) Manager
  • Créer un nouveau site web nommé glpi et pointant sur g:\inetpub\wwwroot\glpi avec le port d’écoute 8080 (note : vous pouvez modifier le port)
  • Créer le dossier g:\phpsessions et donner le droit full control à IUSR, IIS_IUSRS et Network Service
  • Editer le fichier php.ini (accessible directement depuis le PHP manager sur la console) :
    • Retrouver session.save_path : mettre la valeur g:\phpsessions et activer la ligne
    • Ajouter la ligne extension=php_fileinfo.dll dans les extensions PHP (fin de fichier)
  • Connectez-vous sur http://localhost:8080
  • Choisir français puis cliquer sur ok
  • Accepter les conditions d’utilisation et clique sur ok
  • Cliquer sur installer
  • Vérifier qu’il n’y pas d’erreurs puis cliquer sur continuer
  • Renseigner les informations de connexion à MySQL :
    • Serveur : localhost
    • Utilisateur : root
    • Mot de passe : MyNewPass (ou celui renseigné précédemment)
  • Sélectionner l’option créer une nouvelle base de données et lui donner un nom (glpi_bd par exemple) ; cliquer sur ok
  • Vérifier que la base à bien été créer puis cliquer sur continuer
  • Cliquer sur utiliser glpi
  • Vérifier la connexion à l’application avec le compte administrateur gpli
  • Modifier les mots de passe des comptes par défaut puis quitter glpi (dans administration / utilisateurs)
  • Supprimer le fichier g:\inetpub\wwwroot\glpi\install\install.php

A partir de ce point, vous disposez d’une installation fraiche de GLPI avec un moteur IIS / MySQL. Bonne utilisation !

Lien Permanent pour cet article : https://ms-sec.fr/?p=907

(22 commentaires)

Passer au formulaire de commentaire

  1. Test effectué sur Windows Server 2016 version 10.0.14393 : 100% fonctionnel !

    • TechDIGIT on 1 décembre 2017 at 13 h 07 min
    • Répondre

    Bonjour,

    Auriez-vous un complément de procédure pour l’intégrer dans une page Web https://mondomaine.fr/glpi ?

  2. Bonjour,

    Si vous souhaitez modifier l’URL d’appel, il suffit simplement de configurer le site IIS pour être un dossier du site par défaut : si vous ne modifier pas les liens, le site sera appelé par http://monDomain.fr/glpi.

    • seb on 11 janvier 2018 at 9 h 20 min
    • Répondre

    bjr,
    pourquoi dans une dmz et pas d’appartenance à un domaine active directory ?
    crdlt,

  3. Pourquoi pas ? Dans mon cas, le serveur était destiné à intégrer un service accessible depuis internet : il était donc hors de question de mettre un accès vers mon AD (j’ai une autre instance GLPI pour un usage interne) et l’accès était géré avaec la base interne de GLPI. J’aurais parfaitement pu mettre un nouvel annuaire en DMZ pour cela, mais c’est beaucoup de travail pour le sécurisé au regard de mon besoin final.

    Si vous êtes intérressé par un nouvel article traitant de l’installation avec une intégration Active Directory, je peux vous en faire un.

    • Nisttra on 26 avril 2018 at 15 h 24 min
    • Répondre

    Bonjour, j’essaye d’installer GLPI 0.85 avec IIS, PHP et MySQL mais je tombe sur une erreur: “L’extension fileinfo de votre parseur PHP n’est pas installée” lors de l’installation, l’auriez vous déjà croisé ou sauriez vous comment la résoudre?
    Merci d’avance de vos réponses,
    Cordialement.

    1. Bonjour Nisttra,

      Le message vous indique que la ligne extension=php_fileinfo.dll n’est pas présente (ou mise en commentaire) dans votre fichier de configuration PHP.INI.

    • sparda on 9 juillet 2018 at 16 h 43 min
    • Répondre

    Bonjour,

    Dans votre tuto, vous mentionné de dzipé l’ archive dans \wwwroot\inetpub\ hors moi, le chemin est inverse C:\inetpub\wwwroot

    Si je suis la logique, je dois le dezipé dans inetpub? y a t il une incidence?

    Merci!

    Cdt,

    1. Bonjour,
      Vous mentionnez le même chemin : il s’agit d’une erreur de typo (corrigée maintenant). Merci !

    • sparda on 9 juillet 2018 at 21 h 03 min
    • Répondre

    Bonjour,

    j’ai effectué jusqu à Connectez-vous sur http://localhost:8080 et je tombe sur la page :

    Run “composer install –no-dev” in the glpi tree.
    To install composer please refer to https://getcomposer.org/

    Une idée?

    merci

    1. Bonjour,

      J’ai rejoué tout le scénario d’installation il y a deux jours et je n’ai jamais rencontré cette erreur : ma première idée serait de vérifier que les sources sont les bonnes et que PHP fonctionne comme attendu.

  4. Bonjour,

    Je dois buter sur quelque chose de simple.
    Il me semble bien avoir fait toutes les étapes (que je viens de vérifier une seconde fois).
    Mais je bloque à Connectez-vous sur http://localhost:8080
    Je n’ai rien qui s’affiche… j’essaye avec 127.0.0.1:8080 pareil
    J’ai vérifié les droits des dossiers, supprimé le site, et recréé.
    réinstallé php 7.
    Une idée pour diagnostiquer ce que j’ai loupé?
    La seule différence est que je suis aller chercher le php.ini directement dans l’exporateur au lieu de passer phpmanager)

    1. bonjour,
      Une page vierge n’est pas bon signe : au pire vous devriez avoir une page d’erreur (500 ou 404). Premier test à faire : placer un fichier test dans le dossier racine de IIS (wwwroot) et essayer de l’accéder. Ensuite, depuis la console IIS, placez-vous sur le site GLPI, faites un clic-droit et sélectionnez “Gérer le site Web” puis “parcourir” : cela doit afficher le site web ou une erreur.

    • eric on 26 juillet 2018 at 11 h 35 min
    • Répondre

    Bonjour loic,

    Bon, j’ai un peu avancé et dépatouiller ce iis que je reconnais ne pas du tout maitriser.
    En fait, c’était la configuration dans iis qui me faisait défaut, et notament la partie liaison du site.

    bon, je suis toujours infoutu de me connecter en localhost:8080 ou en 127.0.0.1:8080, j’ai un message d’erreur:

    Bad Request – Invalid Hostname

    HTTP Error 400. The request hostname is invalid.

    Par contre, si je met le nom dns de ma machine:8080 la, pas de soucis, aussi bien coté serveur que coté poste client.
    La logique m’échappe d’autant plus que si je créé une liaison avec comme nom localhost qui pointe vers la même ip et le même port…
    Surement une sécurité, ou un point de conf que j’ai zappé.

    Si jamais tu as une idée du pourquoi et du comment, je suis preneur, mais ce n’est plus bloquant!

  5. Bonjour Eric,

    voici un article qui explique comment fonctionne les liaisons (ou “bind”) IIS (en anglais) :

    https://blogs.technet.microsoft.com/chrad/2010/01/24/understanding-iis-bindings-websites-virtual-directories-and-lastly-application-pools/

    Pour que le site réponde sur l’adresse LOCALHOST:8080, il faut que le BIND soit déclaré avec “toutes non attribuées” sur le port “8080” ; le champs “nom de l’hôte” doit être laissé vide.

    Note : localhost ne permet qu’au serveur local de répondre sur cette adresse ; pour les clients du site, il faudra utiliser soit l’adresse IP, soit un nom pleinement qualifié qui résoud sur l’une des adresses du serveurs.

    Le champs “nom de l’hôte” permet de lier le site à une URL particulière et un port : cette combinaison permet de multiplier le nombre de site à l’écoute sur un même port et une même adresse. Il est également requis pour mettre en œuvre du SSL.

    • Aubin on 13 août 2018 at 9 h 51 min
    • Répondre

    Bonjour Loic,

    Bon tuto ! Mais j’espère que vous allez pouvoir m’aider sur un point.
    Quand je lance ma page web, je tombe sur une page blanche avec écrit.

    “Run “composer install –no-dev” in the glpi tree.
    To install composer please refer to https://getcomposer.org/

    J’ai essayer de l’installer (peut-être mal) et je suis toujours au même point.
    Si tu as une solution je suis preneur !

    Merci

    1. Bonjour,

      Je vous invites a allez voir ce nouvel article, plus détaillé :

    • Gabor on 7 septembre 2018 at 14 h 35 min
    • Répondre

    Bonjour Loic,

    Alors que je suis aux prises avec ce problème, existe-t-il une solution pour vous?

    “Exécutez” compiler install -no-dev “dans l’arborescence glpi.
    Pour installer le compilateur, veuillez vous référer à https://getcomposer.org/

    Merci d’avance

    1. bonjour,

      Je vous invites à aller voir l’article https://ms-sec.fr/?p=2759 qui détaille et explique l’installation de GLPI pour Windows Server 2016 (fonctionne également pour 2012 R2).

      Cdt,

    • math on 28 octobre 2018 at 21 h 40 min
    • Répondre

    merci bon tuto!
    j’ai galéré pour le Microsoft Web Plateform Installer, impossible de l’utiliser j’ai du tout dl à la mano.
    ps: pourquoi ne faites vous pas une newsletter? ca peut intéressé plus d’un je pense.

    1. Merci pour le commentaire, math. Je ne suis malheureusement pas très régulier sur les publications, fautes de temps : c’est pour cela que je ne me lancerai pas sur une newsletter (pour le moment).

    • Catherine on 8 janvier 2019 at 16 h 57 min
    • Répondre

    Bonjour,

    J’ai procédé à l’installation avec un GLPI 9.3.3, un PHP 7.2 et un MySQL 8.0 et au moment de me connecter à la base de donnée, l’erreur est : Le serveur a répondu : Server sent charset unknown to the client. Please, report to the developers.

    Après avoir regarder sur internet, j’ai cru comprendre que c’était lié à une différence de langage entre les deux instances. (Dites moi si je me trompe) Cependant, je n’ai pas su trouver comment modifier ce paramètre.

    Merci pour votre réponse, cordialement.

Laisser un commentaire

Your email address will not be published.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.