GLPI : installation sous Windows Server 2016

Suite à plusieurs demandes d’assistance, voici un article permettant l’installation de GLPI sous Windows Server 2016 avec un tutoriel détaillé. J’espère qu’il vous aidera !

Installation du serveur

L’installation du serveur s’effectue depuis une zone de service dans laquelle se trouve l’un de mes contrôleurs de domaine, ce afin de permettre plus tard une intégration LDAP. L’installation est réalisée avec une édition complètement à jour des ses patchs de sécurité de Windows Server 2016 Standard (en mode expérience utilisateur).

Le serveur est hébergé sur un cluster Hyper-V, possède 2 vCPU et 4 Go de mémoire vive. Coté stockage, je n’utilise qu’un seul disque de 60 Go qui accueillera le site web et la base de données MySQL. D’autre part, ce serveur n’a pas d’accès direct à internet.

Création du compte administrateur du serveur

Pour ne pas utiliser un compte à haut privilège sur le serveur, créez un compte dans votre annuaire et placez-le membre du groupe administrateur local de votre serveur. Ce compte ne devra disposer d’aucun privilège dans l’AD. Une fois fait, utilisez ce compte pour faire les opérations d’installation et de configuration. Pour cet article, le compte se nommera Glpi.Administrateur.

Note : un compte local peut parfaitement faire l'affaire.

Installation du rôle IIS

Avant tout, procédez à l’ajout du rôle IIS comme ceci :

  • Lancez le gestionnaire de serveur
  • Dans le menu supérieur, à droite, sélectionnez Gérer puis cliquez sur Ajouter des rôles et fonctionnalités
  • Lorsque l’assistant Ajout de rôles et de fonctionnalités apparait, cliquez sur suivant
  • Sélectionnez installation basée sur un rôle ou une fonctionnalité et cliquez sur suivant
  • Laissez l’option par défaut (le nom du serveur local doit apparaitre) et cliquez sur suivant
  • Sélectionnez Serveur Web (IIS) : cliquez sur ajouter des fonctionnalités lorsque vous y êtes invité, puis cliquez sur suivant
  • Sélectionnez fonctionnalités de .NET Framework 3.5 puis cliquez sur suivant
  • Cliquer encore sur suivant après avoir lu le message explicatif pour le rôle de serveur Web
  • Sans modifier les services de rôle proposé par défaut, cliquez sur suivant
  • Dans la fenêtre confirmer les sélections d’installation, cliquez sur spécifier un autre chemin d’accès source :

  • Dans la fenêtre spécifier un autre chemin d’accès source, remplissez le chemin vers le répertoire SXS du DVD d’installation. Par exemple, si votre lecteur DVD est monté sur le lecteur D, le chemin sera D:\sources\sxs.

  • Cliquez sur OK pour valider le chemin alternatif
  • Cliquer enfin sur installer pour terminer l’assistant et patientez jusqu’à ce que l’installation soit terminée.
  • Cliquer sur fermer

Vous pouvez vérifier que IIS est bien installé en accédant depuis le serveur aux adresses suivantes (remplacez [nomDuServeur] et [IPduServeur] par les bonnes valeurs, par exemple demo01 et 192.169.10.2) :

Répétez ensuite le test avec les deux dernières adresses depuis une machine du réseau : cette machine devra être en mesure de joindre le serveur GLPI (routage) et le port TCP/UDP 80 doit être autorisé (firewall) ; vous pouvez simplifier le test en utilisant une machine sur le même segment d’adressage.

Installation de PHP

Pour respecter une règle de sécurité élémentaire, le serveur GLPI qui sera utilisé dans mon infrastructure ne doit pas accéder à internet. Par conséquent, il sera nécessaire de récupérer les package et de les installer manuellement. Commencez par récupérer la dernière version de PHP 32 bits Non-Thread Safe (NTS) à l’adresse https://windows.php.net/download#php-7.2 ; cet article utilisera la version 7.2.8. Une fois téléchargée :

  • Copiez le fichier sur le serveur GLPI ; pour cet article, il sera positionné dans c:\Sources\Php
  • Créez le dossier Php dans C:\Program Files (x86)
  • Créez le dossier 7.2.8 dans C:\Program Files (x86)\Php
  • Décompressez l’archive dans C:\Program Files (x86)\Php\7.2.8

Une fois les binaires installés sur le système, vous devez modifier le chemin par défaut de recherche des emplacements de fichier du serveur et ajouter la fonctionnalité FastCGI à IIS (dans cet ordre pour les commandes ci-après) :

  • Ouvrez PowerShell en mode administrateur
  • Exécutez la commande suivante pour stocker le contenu de la variable path actuel :
$OldPath = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).Path
  • Ensuite, exécutez la commande suivante pour recalculer la nouvelle valeur :
$NewPath= 'C:\Program Files (x86)\Php\7.2.8;' + $OldPath
  • finalement, exécutez la dernière commande pour mettre à jour la variable :
Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value $newPath
  • Installer le module FastCGI :
install-windowsFeature WEB-CGI
  • Pour que la modification soit effective, fermez puis ouvrez à nouveau votre session.

Les binaires de PHP requiert également l’installation de Visual C++ : téléchargez la dernière version x86 depuis l’URL https://support.microsoft.com/fr-fr/help/2977003/the-latest-supported-visual-c-downloads :

  • Transférez-le fichier sur le serveur GLPI ; pour cet article les sources seront copiées dans c:\Sources\VC++
  • Exécutez VC_Redist.x86.exe
  • Cochez la case j’accepte les conditions générales de la licence puis cliquez sur installer
  • Cliquez sur fermer

Vérifiez alors que PHP est bien installé :

  • Lancez un interpréteur de commande (cmd.exe)
  • Exécutez la commande
php -info | more

PHP fonctionnel, il ne reste plus qu’à configurer IIS pour qu’il l’utilise… Pour ce faire, configurez le module FastCGI et IIS pour l’utilisation de PHP :

  • Ouvrez le gestionnaire de services internet
  • Sélectionnez le serveur GLPI dans la colonne de droite
  • Ouvrez mappages de gestionnaires
  • Faites un clic-droit dans le cadre du milieu et sélectionnez ajouter un mappage de modules
  • Remplissez les informations comme ci-dessous :

  • Cliquez sur OK puis Oui
  • Cliquez sur le nom du serveur dans la colonne de gauche
  • Ouvrez document par défaut
  • Cliquez sur ajouter dans la colonne de droite
  • Saisir index.php et cliquez sur OK
  • Cliquez à nouveau sur ajouter dans la colonne de droite
  • Saisir default.php et cliquez sur OK
  • Cliquez sur le nom du serveur dans la colonne de gauche
  • Dans la colonne de droite, cliquez sur redémarrer

Le serveur est maintenant configuré avec PHP : pour le vérifier, créez un fichier de test sur le site par défaut :

  • Lancez notepad et créez le fichier phpinfo.txt dans c:\sources\php et entrez le texte suivant :
<?php 
     phpinfo(); 
?>
  • Fermez Notepad
  • Renommez le fichier de phpinfo.txt en phpinfo.php
  • Copiez le fichier phpinfo.php dans C:\inetpub\wwwroot
  • Vérifiez que PHP fonctionne en accédant à l’URL http://localhost/phpinfo.php depuis le serveur

Installation de MySQL

Pour la base de données de GLPI, nous allons installer MySQL :

  • Téléchargez Visual C++ x64 pour visual Studio 2015 et installez-le sur le serveur ; les sources sont disponibles à l’adresse https://www.microsoft.com/en-us/download/details.aspx?id=48145
  • Téléchargez la dernière version de MySQL Server depuis https://dev.mysql.com/downloads/installer/ en utilisant le lien mysql-installer-community-8.0.12.0.msi

  • Transférez le fichier sur le serveur GLPI ; pour cet article, nous le positionnerons dans c:\Sources\MySQL
  • Double-cliquez sur le fichier mysql-installer-community-8.0.12.0.msi
  • Cochez I accept the licence terms et cliquez sur next
  • Sélectionnez server only et cliquez sur next
  • Cliquez sur execute et patientez jusqu’à pouvoir cliquez sur next
  • Cliquez encore sur next
  • Laissez l’option Standalone MySQL server / Classic MySQL Replication et cliquez sur next
  • Dans config type, sélectionnez Server Computer et cliquez sur next
  • Sélectionnez Use Legacy Authentication Method (retain MySQL 5.x compatibility) et cliquez sur next
  • Définissez le mot de passe du compte Root de MySQL
  • Cliquez sur Add User et ajoutez l’utilisateur GLPI.DbAdmin

  • Cliquez sur next
  • Laissez les options pour le service MySQL par défaut et cliquez à nouveau sur Next
  • Cliquez sur Execute
  • Cliquez sur finish
  • Cliquez une dernière fois sur next
  • Cliquez finalement sur finish une dernière fois

La base de données MySQL est maintenant disponible, vous devez pouvoir vous y connecter avec la commande suivante :

  • Ouvrez un interpréteur de commande (cmd.exe)
  • Saisissez la commande
cd c:\Program Files\MySQL\MySQL Server 8.0\bin
  • Saisissez la commande mysql.exe -u root -p puis entrez le mot de passe du compte Root : vous devriez avoir accès au shell.
  • Entrez la commande status pour voir l’état du serveur
  • Pour vérifier que le compte glpi.dbadmin est bien déclaré, entrez la commande
select host,user,password_expired,password_last_changed,account_locked from mysql.user;
  • Tapez exit pour revenir à la ligne de commande
  • Testez le compte glpi.dbadmin avec la commande mysql.exe -u glpi.dbadmin -p
  • Tapez exit pour revenir au shell

Installation de GLPI

Le serveur est maintenant prêt à être paramétré pour accueillir GLPI : il ne reste plus qu’à le personnaliser. Pour commencer, nous allons préparer IIS avec un nouveau site, ce qui nous permettra d’aborder quelques thématiques propres à IIS (et qui reviennent souvent dans les questions que l’on me pose).

Tout d’abord, un peu de théorie : IIS est un moteur web qui, comme Apache ou autre, peut héberger plus d’un site web. Toutefois, il n’est pas possible d’associer une adresse réseau et un port à plusieurs sites web : le serveur ne saurait pas, par défaut, sur lequel vous orienter. D’ailleurs, si vous le faites, vous obtiendrez un magnifique message d’avertissement ! Pour remédier à ce point, il existe au moins deux méthodes simple :

  • Utiliser un couple adresse IP : Port de réseau par site web
  • Utiliser un nom d’hôte différent à chaque site web

Le nom d’hôte permet à IIS de réutiliser une même combinaison adresse IP : port de réseau sur plusieurs sites et de gérer les certificats SSL (c’est même obligatoire) ; il requiert une configuration d’un enregistrement DNS pour chaque site ainsi créé.

La combinaison adresse IP : port de réseau ne nécessite aucun enregistrement DNS spécifique : dès lors que le serveur reçoit une demande sur cette adresse et ce port, il renvoie le site concerné. La combinaison doit être unique.

Il est également possible de combiner les deux méthodes : par exemple, si vous souhaitez l’implémenter sur l’adresse IP du serveur dans votre réseau et sur une URL précise lorsque cela vient de l’extérieur. Dans notre cas, nous allons configurer le serveur pour qu’il réponde à une URL spécifique (glpi.demo.ms-sec.fr).

Note : pensez à créer l'entrée DNS avant de faire les tests !

Pour commencer, créez le site web et configurez-le pour qu’il soit disponible selon les critères énoncés précédemment :

  • Créer un dossier C:\Glpi\0.9.3, n’y mettez aucune source pour l’instant.
  • Copiez dans le dossier le fichier phpinfo.php précédemment créé.
  • Ouvrez le gestionnaire de services internet
  • Double-cliquez sur le nom du serveur
  • Double-cliquez sur sites
  • Faites-un clic droit sur Default Web Site et sélectionnez Gérer les sites web puis arrêter (le site ne répondra plus sur le port 80)
  • Faites un clic-droit sur sites et sélectionnez ajouter un site web
  • Remplissez les champs comme dans la capture ci-dessous (en remplaçant le nom de l’hôte par votre URL) :

  • Cliquez sur OK : vous disposez maintenant d’un nouveau site (vide) qui répond sur le port 80 à son URL spécifique.

Pour palier à un problème courant lorsque l’on déploie GLPI, il est nécessaire de modifier le composant FastCGI pour que son Time-Out soit allongé (par défaut 60 secondes). Procédez ainsi :

  • Ouvrez l’interpréteur de commande (cmd.exe)
  • Exécutez la commande
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='"C:\Program Files (x86)\Php\7.2.8\php-cgi.exe"'].activityTimeout:600

Pour tester le site depuis le serveur (pensez à désactiver la sécurité renforcée d’internet explorer) :

Pour tester le site depuis une autre machine :

Si vous accéder avec succès à toutes les pages, le serveur est paré ! Passons alors au déploiement de GLPI 9.3 :

  • Récupérer les sources de GLPI et positionnez-les à disposition sur le serveur GLPI ; pour cet article, nous placerons l’archive dans c:\sources\glpi
  • Décompressez le fichier glpi-9-3.tgz dans c:\sources\glpi
  • Décompressez le fichier glpi-9-3.tar dans c:\sources\glpi
  • Copiez l’intégralité de c:\sources\glpi\glpi dans c:\gpli\0.9.3
  • Faites-un clic-droit sur le dossier c:\gpli\0.9.3, allez dans les propriétés puis choisissez l’onglet sécurité
  • Ajoutez IIS_IUSRS , IUSRS et SERVICE RESEAU et donnez-leur le privilège modification

Vérifier ensuite que GLPI est bien fonctionnel sur l’URL souhaité :

  • Accédez à l’URL http://glpi.home.ms-sec.fr depuis un poste client
  • Sélectionnez la langue de votre choix et cliquez sur ok
  • Sélectionnez j’ai lu et accepte les termes de la licence énoncés ci-dessus et cliquez sur continuer
  • Cliquez sur installer

Cette page nous permet de valider la configuration de notre environnement PHP : comme vous le constatez, la configuration par défaut n’est pas bonne… Commençons par créer un fichier de configuration adapté :

  • Copiez c:\program files (x86)\php\7.2.8\php.ini-developpement vers c:\program files (x86)\php\7.2.8\php.ini
  • A l’aide de notepad, ouvrez c:\program files (x86)\php\7.2.8\php.ini
  • Appuyer sur CTRL+G, entrez la valeur 1763 et retirer le signe commentaire « ; » devant la ligne opcache.enable_cli = 0
  • Appuyer sur CTRL+G, entrez la valeur 1760 et retirer le signe commentaire « ; » devant la ligne opcache.enable = 1
  • Appuyer sur CTRL+G, entrez la valeur 1344 et retirer le signe commentaire « ; » devant la ligne session.save_path = “/tmp” 
  • Appuyer sur CTRL+G et entrez la valeur 885 et retirer le signe commentaire « ; » devant les extensions à activer, à savoir curl, fileinfo, gd2, imap, ldap, mbstring, mysqli, openssl et xmlrpc
  • Appuyer sur CTRL+G, entrez la valeur 782 et retirer le signe commentaire « ; » devant la ligne fastcgi.impersonate = 1
  • Appuyer sur CTRL+G, entrez la valeur 769 et retirer le signe commentaire « ; » devant la ligne cgi.fix_pathinfo = 1
  • Appuyer sur CTRL+G, entrez la valeur 749 et retirer le signe commentaire « ; » devant la ligne cgi.force_redirect = 1
  • Appuyer sur CTRL+G, entrez la valeur 732 et retirer le signe commentaire « ; » devant la ligne extension_dir = “ext”
  • Appuyer sur CTRL+G, entrez la valeur 378 et passez max_execution_time= 30 à 600
  • Appuyer sur CTRL+G, entrez la valeur 304, retirer le signe commentaire « ; » devant la ligne open_basedir = ; ajouter à la fin de la ligne la valeur C:\glpi\0.9.3″
  • Sauvez ensuite le fichier sous le nom c:\program files (x86)\php\7.2.8\php.ini

Il faut redémarrer IIS pour que les modifications soient prises en compte :

  • Ouvrez un interpréteur de commande (cmd.exe)
  • Exécutez la commande
IISRESET
  • Retourner sur la page d’installation de GLPI et cliquez sur réessayer

Il existe encore des extensions que vous pouvez activer pour améliorer les performances de GLPI : nous ne détaillerons pas leur installation ici, alors cliquez simplement sur continuer et configurez la base de données :

  • Saisissez localhost comme serveur SQL
  • Saisissez glpi.dbadmin comme utilisateur
  • Saisissez le mot de passe du compte
  • Cliquez sur continuer
  • Sélectionnez créer une nouvelle base et donnez-lui un nom (par exemple GLPI-0-9-3)
  • Patientez jusqu’à ce que l’étape 3 s’affiche et vous invite à poursuivre (cela dure un moment) : cliquez alors sur continuer
  • Décochez la case envoyer “statistiques d’usage” : le serveur n’est pas connecté à internet
  • cliquer sur continuer
  • Cliquez sur continuer à l’étape 5
  • Cliquez sur utiliser GLPI à l’étape 6.

GLPI est maintenant opérationnel. Bonne utilisation !

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

(61 commentaires)

Passer au formulaire de commentaire

    • JustIT on 4 septembre 2019 at 21 h 37 min

    Bonjour,
    Tout d’abord merci pour ce tuto ! Il m’a été très utile pour l’installation de PHP.
    Je m’adresse à vous en espérant trouver une personne qui a déjà rencontré la même problématique que moi.

    Après avoir effectué la migration de mon serveur, il m’était impossible de charger un document (aucune prise en compte du fichier sélectionné).
    J’ai vu sur un forum qu’il était nécessaire de modifier la ligne contenant “upload_tmp_dir=” du fichier php.ini.
    A présent, je peux télécharger un fichier mais lorsque je sauvegarde le ticket le fichier disparaît.
    En réalité, il reste stocké dans le répertoire glpi\files\_tmp.
    Est-ce que quelqu’un a une piste ?
    Cordialement

      • L'auteur on 5 septembre 2019 at 8 h 17 min
        Author

      C’est un problème de permission sur les dossiers, de mémoire. J’avais trouvé l’explication sur le forum GLPI (en anglais).

    • Warren on 22 août 2019 at 12 h 14 min

    Bonjour,
    Merci d’avoir partagé vos connaissance à travers ce super tuto.

    Je rencontre deux problème:
    Lors de l’installation de MySQL et de l’ajour d’un utilisateur je ne peux pas ajouter le username que vous avez donnez (glpi.dbadmin) il n’accepte pas le “.” J’ai donc mis comme utilisateur dbadmin, est-ce qu’il y aurait une incidence sur la suite?

    Je pose cette question car je rencontre un deuxième problème au moment de tester le nouveau site créé : http://glpi.demo.ms-sec.fr/phpinfo.php
    L’erreur donné par IE est “Cette page ne peut pas s’afficher”
    J’ai suivi toutes les étapes précédentes pas à pas mais je ne vois d’où vient ce problème.

    Avez-vous une idée pour corriger ce problème, car du coup je ne peux pas aller plus loin.

    Merci d’avance!

      • L'auteur on 23 août 2019 at 15 h 20 min
        Author

      Bonjour Warren,

      Il n’y a pas d’incidence à changer le nom, pensez simplement à en tenir compte dans la suite du tuto.
      Pour votre deuxième problème, à moins de me racheter mon nom de domaine et la zone DNS qui lui est associée (ms-sec.fr), vous ne pourrez jamais vous y connecter. Essayer avec l’adresse IP et définissez votre propre adresse web.

      Cdt,
      Loïc.

    • indypat on 18 juin 2019 at 16 h 00 min

    bonjour, merci pour ce super tuto
    je suis comme beaucoup a la phase finale d’installation de glpi.
    j’ai pas mal d’extension en defaut pour poursuivre, si vous avez un moyen pour contourner cela.

    Test de l’extension ldap l’extension ldap est manquante
    Test de l’extension imap l’extension imap est manquante
    Test de l’extension Zend OPcache l’extension Zend OPcache est manquante
    Test de l’extension APCu l’extension APCu est manquante
    Test de l’extension xmlrpc l’extension xmlrpc est manquante
    Test de l’extension CAS l’extension CAS est manquante
    Test de l’extension exif l’extension exif est manquante
    Test de l’extension mysqli L’extension mysqli est absente
    Test de l’extension fileinfo L’extension fileinfo est absente
    Test de l’extension mbstring L’extension mbstring est absente
    Test de l’extension curl L’extension curl est absente
    Test de l’extension gd L’extension gd est absente

    merci

      • L'auteur on 18 juin 2019 at 20 h 02 min
        Author

      Bonjour,

      Vous devez activer ces options depuis le fichier php.ini. De memoire, deux fonctions ne seront pas disponibles mais elles ne vous bloqueront pas pour poursuivre l’installation.

      Je ferai un article la dessus plus tard.

    • dj on 30 mai 2019 at 20 h 29 min

    Bonjour,

    Tout d’abord merci pour votre tuto.
    J’ai un problème lors de la navigation sur le plugin dashboard qui retourne aléatoirement “Erreur interne au serveur – 500” sur certains pages…
    J’ai déjà eu à commenter la ligne open_basedir pour réussir à installer ce plugin.
    J’ai également bien ajouté IIS_IUSRS , IUSRS et SERVICE RESEAU avec le privilège modification sur le dossier C:\Glpi\9.4.2\

    Avez-vous une idée ?
    Est-ce qu’il aurait fallu plutôt utiliser le dossier C:\inetpub\wwwroot ?

    Merci beaucoup,

      • L'auteur on 30 mai 2019 at 21 h 55 min
        Author

      Les erreurs 500 sont systématiquement liées à une mauvaise configuration : fichier ini contenant une erreur, permission insuffisante… Pour les permissions, vous pouvez ajouter “full control” pour “everyone” et tester le site : si cela fonctionne, c’est effectivement une permission mal positionnée (pensez à le retirer ensuite).

        • dj on 31 mai 2019 at 12 h 44 min

        Bonjour Loïc,

        Pour compléter, j’utilise le plugin : GLPI-dashboard_plugin-0.9.7.zip

        Quand tu indiques les permissions “full control” pour “everyone”, c’est à quel niveau ? php.ini ? ou sur NTFS ?
        Car j’ai déjà mis ca sur le dossier Glpi : https://imgur.com/a/p9IXGPe

        Chose étrange, lorsque je suis directement sur le serveur et lance le plugin dashboard je n’ai pas l’erreur 500 mais une autre à la place :

        PHP Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in C:\Glpi\9.4.2\inc\dbmysql.class.php:319
        Stack trace:
        #0 C:\Glpi\9.4.2\plugins\dashboard\front\main.php(274): DBmysql->fetch_assoc(false)
        #1 {main}
        thrown in C:\Glpi\9.4.2\inc\dbmysql.class.php on line 319

          • L'auteur on 31 mai 2019 at 13 h 14 min
            Author

          Ca ressemble à un problème sur la configuration PHP. En général, l’activation des options peut causer des problèmes. Je vous invites à poser la question sur le forum GLPI en précisant la configuration de votre fichier php.ini.

            • dj on 31 mai 2019 at 13 h 39 min

            L’activation des options c’est à dire ? car j’ai suivi à la lettre le tuto sauf pour les extensions manquantes où j’ai cherché sur forum. Seul l’extension APCu qui malgré sa configuration faisait planté le GLPI je l’ai donc recommnenté dans php.ini.
            Je vais m’inscrire sur le forum GLPI.
            Est-ce que suite à votre installation, tous les plugins fonctionnent correctement de votre côté ?

            Merci bien

            • L'auteur on 31 mai 2019 at 20 h 43 min
              Author

            Oui, mais attention : leur configuration varie en fonction de votre version de PHP.

            • dj on 3 juin 2019 at 18 h 15 min

            Ok, avez-vous prévu une description pour l’installation des extensions manquantes ?
            Merci encore

            • L'auteur on 4 juin 2019 at 7 h 44 min
              Author

            Si le temps me le permet, un jour 🙂

    • DALBARD on 14 mai 2019 at 17 h 56 min

    Merci pour le TUTO

    Une petite Solution pour ces 3 extensions ?

    Test de l’extension Zend OPcache l’extension Zend OPcache est manquante
    Test de l’extension APCu l’extension APCu est manquante
    Test de l’extension CAS l’extension CAS est manquante

    Merci d’avance

      • L'auteur on 16 mai 2019 at 20 h 29 min
        Author

      Je prévois de faire un article pour chacun : ce n’est pas très compliqué mais cela demande effectivement une grosse recherche dans les forums spécialisés dev 🙂

    • Damien on 7 mai 2019 at 11 h 55 min

    Re-bonjour Loïc,
    Je me réponds pour dire que la solution est trouvée. J’ai trouvé d’abord le message d’erreur : PHP Fatal error: Uncaught UnexpectedValueException: GlobIterator::__construct(): open_basedir restriction in effect.

    Si vous rencontrez ce problème, il faut modifier une ligne dans le fichier C:\Glpi\0.9.3\vendor\zendframework\zend-cache\src\Storage\Adapter\Filesystem.php.
    Mettez la ligne 232 en commentaire :
    // $glob = new GlobIterator($path, $flags);
    $glob = glob($path);

    J’ai trouvé en cherchant sur le web, pas de confusion, je ne suis pas l’auteur de ce correctif 😉

      • L'auteur on 7 mai 2019 at 18 h 57 min
        Author

      Merci pour avoir partagé la réponse avec nous 🙂

    • Damien on 7 mai 2019 at 11 h 20 min

    Bonjour à tous et merci Loïc pour ce tuto qui m’a permis de lancer GLPI dans l’entreprise où je travaille.
    J’ai suivi ce tuto à la lettre sauf pour la version de glpi puisque j’ai installé la 9.4.1.1 sur 2012R2 et aujourd’hui, je veux la mettre à jour en 9.4.2 car les performances semblent bien meilleures.

    J’ai donc téléchargé et décompressé la nouvelle version à la place de l’ancienne, après quelques hésitations quand même, puis en me connectant j’ai bien l’assistant de mise à jour. Tout va bien jusqu’à la migration de ma base existante, là, j’ai une page erreur 500. Si je me reconnecte, GLPI me demande à nouveau de mettre à jour ma base et je reviens à ma page d’erreur.

    Sur la page de vérification avant de valider la mise à jour de la base, j’ai 4 extensions manquantes, je ne sais pas si c’est “grave” (Zend OPcache, APCu, CAS et exif). J’ai aussi un message “l’accès web au dossier files ne devrait pas être autorisé mais …” … Si quelqu’un a eu ce problème et a une solution à partager, ce serait vraiment sympa. Merci

    • Maximilien on 4 avril 2019 at 15 h 09 min

    Bonjour Loïc,
    Je suis bloqué au niveau de ce message “Note : pensez à créer l’entrée DNS avant de faire les tests !”
    J’aimerai savoir si tu as une procédure pour cette étape, car j’ai beau avoir essayé et réessayé, impossible de faire marché mon adresse web, or localhost.

    Sinon merci pour ce tuto 😉

      • Maximilien on 4 avril 2019 at 16 h 03 min

      Bon finalement j’ai laissé tombé pour continuer en localhost, soit en travaillant sur le dossier wwwroot.
      Mais j’ai quand même un problème… après avoir fait les modifications du fichiers php.ini et en mettant cette ligne : open_basedir =”C:\inetpub\wwwroot”.
      En relançant IIS, le site ne marche plus.

      J’ai une erreur 500: Erreur interne au serveur.
      Savez-vous pourquoi j’ai cette erreur ?

        • L'auteur on 17 avril 2019 at 21 h 13 min
          Author

        Cela ressemble à une erreur de permission. Vous pouvez commenter la ligne pour commencer et vérifier que cela refonctionne.

      • L'auteur on 17 avril 2019 at 21 h 07 min
        Author

      Bonjour Maximilien,
      Les entrées DNS sont à créer sur un serveur DNS. Il s’agit de créer une entrée CNAME (pour une redirection vers l’entrée A du serveur) ou une entrée A pointant sur l’IP du serveur.

    • Renscorp on 12 mars 2019 at 15 h 38 min

    Bonjour Loïc,
    merci pour votre réponse rapide. Je rencontre un autre pb. je suis néophyte alors merci pour votre compréhension.
    J’ai finalement réussi à installer GLPI qui avait pour url glpi.test.fr. Ce nom ne me convenant pas j’ai tenter de recréer un nouveau site pointant sur le même dossier il n’a jamais voulu. Je ne comprend pas.

    J’ai donc recommencé la procédure depuis le début. Mais alors que j’arrive à afficher les infos php avec le fichier phpinfo.php en localhost. Dès que je place ce fichier sous GLPI/9.4.0 et que je l’attaque avec l’url du site créé.
    Plus rien . la encore les autorisation sont données ????

    • Renscorp on 11 mars 2019 at 15 h 12 min

    Bonjour Loïc,
    Je rencontre un pb lors de l’installation de GLPI. J’ai suivi votre tuto (d’ailleurs merci il est très bien fait).
    J’accède au site glpi.test.fr. Je sélectionne la langue je click ok et j’ai un message accès refusé. J’ai bien donné les droits au utilisateurs spécifiés dans le tuto mais il me jette.

    Pourriez vous me dire si j’ai loupe quelque chose ?

    Merci d’avance

      • L'auteur on 11 mars 2019 at 17 h 24 min
        Author

      Bonjour,

      Le message “accès refusé” doit provenir de l’impossibilité pour le script PHP de modifier le fichier de configuration : c’est clairement un problème soit de droit NTFS, soit de configuration d’un des fichiers de configuration PHP ou GLPI. Il faut commencer par troubleshooter les logs IIS pour identifier l’erreur.

      Note : pour une première installation, essayez en créant le site web dans wwwroot : il a toutes les autorisations qu’il faut et vous permettra d’isoler un problème de permission NTFS. Les droits IIS sont expliqués ici : MS IIS Rights

      • Renscorp on 12 mars 2019 at 8 h 49 min

      Bonjour,
      j’ai trouve la source de mon pb. La connexion renforcé d’internet explorer qui me bloquait
      Merci

    • Tarek HATEM on 1 mars 2019 at 9 h 51 min

    Bonjour Loic,

    Tout d’abord merci pour le tuto. Clair et très bien rédigé.
    Néanmoins, je bloque sur la partie :
    “Pour tester le site depuis le serveur (pensez à désactiver la sécurité renforcée d’internet explorer) :

    Copiez le fichier c:\sources\php\phpinfo.php dans c:\gpli\0.9.3
    Testez l’URL http://glpi.demo.ms-sec.fr/phpinfo.php
    Pour tester le site depuis une autre machine :”

    Je n’ai pas de fichier phpinfo.php dans le dossier c:\sources\php\phpinfo.php.

    Du coup impossible de tester l’URL.

      • L'auteur on 1 mars 2019 at 10 h 18 min
        Author

      bonjour,

      vous devez créer le fichier, ce n’est pas un fichier livré avec php mais un fichier de test : ci-dessous la partie de l’article qui décrit l’action.

      Le serveur est maintenant configuré avec PHP : pour le vérifier, créez un fichier de test sur le site par défaut :
      Lancez notepad et créez le fichier phpinfo.txt dans c:\sources\php et entrez le texte suivant :
      < ?php phpinfo(); ?>
      Copy
      Fermez Notepad
      Renommez le fichier de phpinfo.txt en phpinfo.php
      Copiez le fichier phpinfo.php dans C:\inetpub\wwwroot
      Vérifiez que PHP fonctionne en accédant à l’URL http://localhost/phpinfo.php depuis le serveur

    • Tarek on 28 février 2019 at 13 h 55 min

    Bonjour Loic,

    Merci pour votre tuto. Il est clair et bien rédiger. Néanmoins, je bloque sur l’étape :
    Copiez le fichier c:\sources\php\phpinfo.php dans c:\gpli\0.9.3.
    Dans mon dossier sources, je n’ai pas le fichier phpinfo.php dans le dossier php. J’essaye de récupérer ce fichier depuis le dossier inetpub\wwwroot.
    Je suis donc bloqué à l’étape du test de l’URL. Je précise que j’ai les dernières version de PHP et de GLPI.

    Merci de votre aide.

    Bien cordialement.

    • Geoffrey on 13 février 2019 at 9 h 26 min

    Bonjour,
    Je ne comprend pas trop au moment ou il faut modifier le fichier ini en enlevant les commentaires.
    Faut il renommer le fichier php.ini-developpement en php.ini ?
    Car je ne vois pas comment on peu copier un fichier dans un même répertoire tout en le changeant de nom ?
    Cordialment,
    Geoffrey.

      • L'auteur on 17 février 2019 at 16 h 33 min
        Author

      vous le copier tout simplement avec un nouveau nom :
      copy c:\example\fichier.txt c:\example\nouveau-fichier.txt

    • francois on 8 janvier 2019 at 10 h 37 min

    Bonjour,

    Apres etre bloquer a l’etape 3, j’ai le message suivant:

    PHP Notice: Undefined index: glpilanguage in C:\GLPI\9.3.3\inc\html.class.php on line 1168
    PHP Notice: Undefined index: in C:\GLPI\9.3.3\inc\html.class.php on line 1168

    • David on 4 janvier 2019 at 15 h 08 min

    Re,

    J’ai trouvé la solution du problème de Philippe.
    Le problème provient du fichier php.ini changer la valeur de cette variable “max_execution_time = 60 à 180”

    Bonne journée.

    D.Gehrig

      • L'auteur on 4 janvier 2019 at 17 h 40 min
        Author

      Merci à vous, David ! Je vais ajouter l’information dans l’article 🙂

    • David on 4 janvier 2019 at 10 h 23 min

    Bonjour à tous mes meilleurs voeux,

    Je vous remercie déjà pour vos tutos qui sont de bonnes qualités.

    J’ai le même problème que Philippe (pourtant aucun message d’erreur) effectué aussi la modification écrit dans le Fix.

    Si quelqu’un trouve merci d’avance.
    De mon coté je vais continuer les investigations et si je trouve je vous donne la réponse.

    Je vous souhaite une bonne journée.

    D.Gehrig

    • Philippe on 3 janvier 2019 at 10 h 13 min

    J’ai pas de chance je pense, j’ai fais exactement ce qui est écrit dans le Fix et toujours bloqué étape 3…

      • L'auteur on 3 janvier 2019 at 10 h 40 min
        Author

      Le problème doit être analysé spécifiquement à votre environnement. Regardez en particulier les logs MySQL, ils pourraient vous mettre sur la piste.

    • Philippe on 2 janvier 2019 at 14 h 54 min

    Bonjour a tous et meilleurs voeux pour 2019

    Je me suis lancé dans l’installation de GLPI a mon retour de vacances.. et je suis bloqué a l’étape 3. Tout le processus antérieur a été fait dans les règles, aucuns messages d’erreurs.

    Là, je suis bloqué sur cette page depuis plus de 30 minutes ..! Si quelqu’un a une idée ?

    GLPI Setup
    Etape 3
    Initialisation de la base de données
    Base de données créee

    Merci

      • L'auteur on 2 janvier 2019 at 17 h 33 min
        Author

      inutile d’attendre davantage : cela n’ira pas plus loin.
      Je ne me souviens plus de comment j’ai réussi à résoudre le problème, mais je l’ai rencontré…
      Heureusement, je l’ai documenté sur le blog : https://ms-sec.fr/?p=2749

      Petit veinard 🙂

    • kbaudoux on 27 décembre 2018 at 11 h 04 min

    Bonjour,
    Avant tout, merci pour ce guide qui m’a bien aidé lors de l’installation de GLPI.
    Je suis arrivé au bout de l’installation cependant, je me retrouve confronté à un problème lors de la connexion de GLPI à MySQL.
    Je met bien localhost, mon identifiant glpi.dbadmin et le mot de passe et je me vois retourné ce message :
    Impossible de se connecter à la base de données
    Le serveur a répondu : The server requested authentication method unknown to the client

    Cependant, quand je test la connexion à la base de MySQL en ligne de commande, ça fonctionne bien. J’ai essayé de chercher un peu, mais je suis un peu perdu. Merci d’avance

      • L'auteur on 27 décembre 2018 at 13 h 44 min
        Author

      Ce problème est historiquement connu et provient peut-être d’un mot de passe de 16 caractères ou plus. Pour confirmer cette théorie, remplacez le mot de passe du compte avec une longueur moindre.

        • kbaudoux on 28 décembre 2018 at 13 h 42 min

        Oui, effectivement, c’était tout bête. Merci de votre réponse.
        Il me reste plus qu’un conflit avec l’ancienne BDD à régler j’ai un message :

        PHP Notice: Undefined index: dbversion in E:\GLPI\9.3.3\inc\config.php at line 257
        Et
        PHP Warning: file_exists(): open_basedir restriction in effect. File(E:\GLPI\9.3.3/../lib/jquery/js/jquery-1.10.2.min.min.js) is not within the allowed path(s): (E:\GLPI\9.3.3) in E:\GLPI\9.3.3\inc\html.class.php at line 5935

        Que je n’arrive pas à gérer. J’ai la sensation de devenir chèvre à force. Tout allez bien jusqu’au rapatriement de l’ancienne base :/

          • L'auteur on 28 décembre 2018 at 14 h 38 min
            Author

          Pour le premier, il y a une erreur de déclaration dans la configuration PHP. Pour le second, le chemin passe de “\” en “/” : il ne faut utiliser qu’une seule des deux notations (normalement “\”).

    • Guigue on 13 novembre 2018 at 10 h 31 min

    Merci Nico j’avais déjà suivi ton tuto pour la version 2012 server j’avais trouvé ton post su rle forum GLPI. Encore un grand bravo pour le taff et les articles du site son aussi très utile.

    • Eric Charland on 5 octobre 2018 at 20 h 34 min

    J’ai le message suivant lors de l’installation de Glpi après la création du php.ini

    PHP Warning: Unknown: open_basedir restriction in effect. File(C:\Glpi\0.9.3\index.php) is not within the allowed path(s): (“C:\glpi\0.9.3″) in Unknown on line 0
    PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0

      • L'auteur on 6 octobre 2018 at 8 h 12 min
        Author

      Bonjour,

      Je pense que votre fichier est mal interprété par PHP (utf16 au lieu d’utf8 ?) : essayer de le recréer.

    • hamelin on 24 septembre 2018 at 10 h 41 min

    Bonjour a tous,

    Suite a l’installation du MySQL Server > l’utilisateur GLPI.DbAdmin ne peut pas se connecter !
    ERROR 1045 (28000) : Acces denied for user ‘GLPI.DbAdmin’@’localhosts’

    Avez-vous une idée ?

    J’arrive a me connecter sans pb en root, mais impossible de fournir de des pour l’autre compte…

      • L'auteur on 24 septembre 2018 at 10 h 52 min
        Author

      Vous avez indiqué @localhosts, mettez @localhost (sans s a la fin).

        • hamelin on 24 septembre 2018 at 11 h 26 min

        Bonjour Loic,

        Il s’agit d’une erreur de frappe.. dsl
        Le message d’erreur est bien > ERROR 1045 (28000) : Acces denied for user ‘GLPI.DbAdmin’@’localhost’
        using password: YES

        J’ai suivis la procedure mais impossible a me connecter avec le compte

          • L'auteur on 24 septembre 2018 at 12 h 24 min
            Author

          L’acces en ligne de commande fonctionne-t-il avec ce compte ? A-t-il les bons droits ?

            • hamelin on 24 septembre 2018 at 12 h 28 min

            mysql -u root -p > OK

            mysql -u GLPI.DbAdmin -p > NOK > ERROR 1045 (28000): Access denied for user ‘GLPI.DbAdmin’@’localhost’

            La commande select host,user,password_expired,password_last_changed,account_locked from mysql.user; >
            ———–+
            | host | user | password_expired | password_last_changed | ac
            unt_locked |
            +———–+——————+——————+———————–+—
            ———–+
            | % | GLPI.DbAdmin | N | 2018-09-21 11:43:34 | N
            |
            | localhost | mysql.infoschema | N | 2018-09-21 11:43:24 | Y
            |
            | localhost | mysql.session | N | 2018-09-21 11:43:24 | Y
            |
            | localhost | mysql.sys | N | 2018-09-21 11:43:24 | Y
            |
            | localhost | root | N | 2018-09-21 11:43:34 | N
            |

            • L'auteur on 24 septembre 2018 at 12 h 54 min
              Author

            Le mot de passe a expiré le 21/9.

            • hamelin on 24 septembre 2018 at 14 h 05 min

            Pourtant le password_expired est N ?
            Pareil pour le compte root, cependant j’arrive a me connecter..
            J’ai pas trop de connaisance en sql… mais la je seche completement !

            • L'auteur on 25 septembre 2018 at 8 h 21 min
              Author

            Exact, mauvaise lecture depuis mon téléphone, désolé 🙂

            • hamelin on 24 septembre 2018 at 16 h 27 min

            pourtant password_expired est sur N ?
            j’avoue je seiche un peu… n’ayant pas beaucoup de connaissance en BDD..

            • L'auteur on 25 septembre 2018 at 8 h 21 min
              Author

            Vous pouvez parfaitement utiliser le compte root pour GLPI : ce n’est effectivement pas propre en terme de bonne-pratique de sécurité, mais si le serveur MySQL et la base de données qu’il héberge sont exclusivement dédié à GLPI, alors root ou GLPI_DbAdmin représente le même niveau de privilège et donc le même risque.

            Essayer de créer un nouveau compte pour MySQL ; il y a peut-être eu une erreur à la création par le script : https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql

            En espérant que cela vous aidera.

    • Cerre philippe on 13 septembre 2018 at 14 h 01 min

    Merci pour ce tuto.
    j’ai cependant un souci, lors des vérifications des extensions, “l’extension CAS est manquante”.
    et je ne trouve pas cette extension.
    aurais-tu une idée ?
    philippe

      • L'auteur on 13 septembre 2018 at 23 h 16 min
        Author

      bonjour Philippe,

      Il faut chercher du coté de PHP pour activer le module. Cela peut requiert des manipulations assez avancées… bon courage !

    • Asticotmargot on 9 août 2018 at 11 h 33 min

    Bonjour,
    Merci beaucoup pour la redaction de ce tutoriel.
    Autodidacte et avec l’aide d’un stagiare Nico nous avons pu installer GLPI avec IIS 8.5 et Windows server 2012 r2
    Loic nous a aidé directement en rédigeant ce tuto suite à notre demande.
    Merci pour ta réactivité,ta patience et ton engagement
    Nous t’avons sollicité par mail pour plusieurs problèmes (de débutants et de non compétence) et à chaque fois tu nous as aiguillé correctement dans la résolution de nos diffcultés
    Je te réitère MILLE MERCI ainsi qu’à NICO (notre stagiaire) pour la mise en place de ce projet.
    La réalisation n’est pas simple pour des débutants mais accessible en analysant toutes les étapes de ce tuto
    Merci encore
    Maintenant un autre job nous attend…la gestion de GLPI

    Cordialement
    Asticotmargot

      • L'auteur on 9 août 2018 at 12 h 43 min
        Author

      Merci. Comme disais un ami à moi, “la connaissance s’accroit quand on la partage”. Je crois qu’il a emprunté ça à un certain Einstein 🙂

Les commentaires sont désactivés.