• Installer Concrete5 sur IIS

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    I - PREPARATION DE LA VM

    -> afin de s'entraîner, nous le faisons donc dans une VM avec Windows Server 2022 (version Desktop pour commencer !) installé dessus. On suppose que vous avez déjà réalisé l'installation de Windows Server et qu'elle est prête à fonctionner.

    La VM doit pouvoir accéder à internet.

    ### Pour ceux qui utilisent Hyper-V ###
    - D'abord, pour plus de confort, on va activer le mode de session étendue

    Eteignez la VM.
    Puis,
    Dans Powershell en mode admin, tappez :

    Set-VMHost -EnableEnhancedSessionMode $true
    ### ----------------------------------------- ###

    ### Pour les autres, vous installerez vos guest-additions une fois démarré ###

    Démarrez votre VM... Une proposition d'affichage adapté va apparaître lors du démarrage.
    (et ce afin de ne pas travailler avec un tout petit écran !).

    (tout ce qui va suivre se déroule DANS LA VM) :

    1) Réglez les MAJ en mode manuel :
    Lancez PowerShell en mode admin, tappez

    sconfig

    choix 5
    choix M
    quittez sconfig avec le choix 15

    2) Installer le module WindowsUpdate et faire les MAJ

    Install-Module -Name PSWindowsUpdate -Force

    (répondez oui pour Nuget - tappez simplement [ENTRER])

    Get-WindowsUpdate -Install

    (n'installez QUE les MAJ Windows - avec des numéros KB...)

    Redémarrez la VM lorsque cela vous est demandé. 
    Une fois redémarrée (et que les installations des MAJ sont terminées), attendez que le gestionnaire de serveur se soit lancé et ait terminé son check-up, puis éteignez la VM via le menu Windows habituel.

    3) Faîtes un snapshot (ou point de contrôle si vous utilisez Hyper-V) et faîtes également un export de votre VM pour en garder une copie pour d'autres tests ou installations futures.

    4) Installer IIS
    Depuis le gestionnaire de serveur, Ajouter des rôles et des fonctionnalités, Installation basée sur un rôle ...
    Cocher Serveur Web (IIS), Ajouter des fonctionnalités (.NET Framework est déjà coché, pas besoin d'autre chose), Suivant, Services de rôles : descendez, déroulez Développement d'applications et cochez CGI, Suivant, Installer.

    Eteignez le serveur.

    5) Faîtes un nouveau snapshot

    Voilà, vous êtes prêt pour l'installation du reste de la pile WIMP (équivalent de la pile LAMP sur Linux) :-D...

    ------------------------------------------------------------------------------------------------------------------------------------------------------
    II - INSTALLATION DE LA PILE WIMP

    Au-delà du serveur Web (IIS) que nous venons d'installer (le "i" de WIMP)
    pour installer Concrete5, et bien d'autres applications, il faut installer et configurer la pile WIMP, composée de
    1) Windows Server

    2) IIS (le serveur web)
    3) Mariadb ou Mysql (serveur SQL)
    4) PHP

    5) Configurez le logiciel qui va reposer sur la pile (Concrete5, glpi, wordpress etc...)

    Nous avons déjà réalisé les 2 premières étapes.

    3) Installez et Configurez MariaDB
    Téléchargez MariaDB Server ici 
    Choisissez la version Mariadb Server 10.6.11 (les versions de la branche 10.6 sont une branche de production d'un cycle de 5 ans, les autres ont une durée de support plus courte).
    MariaDB Server 10.6.11
    Operating System : Windows
    Architecture : x86_64
    Package Type : MSI Package

    Téléchargez et installez en double-cliquant dessus.
    Définissez le mot de passe root (il doit être suffisamment costaud) et cochez "Use UTF8 as default..."
    Pour "Innodb engine settings", montez la valeur de Buffer pool size à 1024MB, Installez.

    Un joli raccourci "HeidiSQL" apparaît alors sur le bureau. 
    SUPPRIMEZ-LE !
    Malheureusement, cet HeidiSQL est un peu planté... Donc on ne va pas s'en servir.
    On va le ré-installer.
    Télécharger la version Installer 32/64 bits sur la page suivante et installez-la

    Un nouveau raccourci apparaît sur le Bureau, cette fois ouvrez l'appli
    Cliquez sur "Ajouter" en bas à gauche,
    On vous demande d'abord de changer le nom de la nouvelle "session" qui apparaît dans le menu de gauche, écrivez "IIS" ou peu importe... 
    Nom d'hôte 127.0.0.1, ne pas changer
    Utilisateur : root
    Mot de passe : celui que vous avez mis lors de l'installation de mariadb !
    Port par défaut  3306
    OUVRIR

    Dans le menu de gauche, faîtes un clic-droit sur IIS ou "le peu importe ce que vous avez créé",
    Créer un nouveau/elle, Base de donnée.
    Nommez-la "mabaseconcrete5" (ou ce que vous voulez)
    Sélectionnez votre base "mabaseconcrete5" qui apparaît (cliquez dessus), puis menu Outils, Gestionnaire utilisateur (ou l'icône correspondant dans la barre des raccourcis).
    Ajouter.
    Nom d'utilisateur: adminCONCRETE (ou autre)
    A partir de l'hôte: localhost
    Mot de passe : admin (évidemment, vous mettez autre chose !!!)
    Autoriser l'accès à: +Ajouter un objet, sélectionnez 
    "mabaseconcrete5", OK. 

    Cocher "Base de données; mabaseconcrete5" qui est apparu, on veut un utilisateur privilégié ici.. sinon choisissez le détail !

    Enregistrer, Fermer

    Votre Base est prête.
    Vous pouvez Quitter HeidiSQL

    4) Installer PHP
    - Créez le dossier C:\PHP
    - Sur la page officielle suivante, télécharger le paquet PHP 8.1 (8.1.12 - à l'heure actuelle) "VS16 x64 Non-thread-Safe", le paquet Zip.
    Sur cette même page, cherchez bien (dans le menu de gauche, encart VC15 & VS16), car vous devez aussi installer Visual C++ for Visual Studio 2019 x64 sinon php ne fonctionnera pas (ou sinon, vous cliquez sur le lien que je viens de vous mettre !)
    - Installez Visual C++ que vous venez de télécharger.
    - Extraire directement le dossier PHP zippé téléchargé dans C:\PHP.

    #### Vient le moment de configurer PHP ####
    La configuration de php se fait en modifiant le fichier php.ini-production qui se trouve dans C:\PHP.
    On édite ce fichier, on y effectue les modifications nécessaires, puis on le renomme en php.ini

    Je vais vous montrer 3 approches, qui ne sont hélas pas toutes interchangeables !

    Pour configurer PHP, vous pouvez soit :
    - METHODE 1 : éditer le fichier de config de php (php.ini) manuellement et faire toute la configuration ainsi.
    - METHODE 2 : soit utiliser un gestionnaire graphique (PHP manager) ET éditer le fichier de config php (php.ini) manuellement (vous ne pourrez hélas pas tout faire uniquement via le gestionnaire graphique) 
    - METHODE FLEMMARD : soit utiliser directement le fichier 
    Télécharger « php.ini »
     (clic-droit, enregistrer le lien sous) optimisé pour Concrete5 que j'ai préparé, et qui vous évite d'avoir à le faire (gain de temps considérable... vous pouvez me croire).

    Attention, ce fichier est conçu pour fonctionner avec la procédure ci-dessus.. Si vous avez changé le répertoire C:\PHP pour autre chose, ça ne fonctionnera pas !
    ####

    Puisqu'il est quand même pas mal d'essayer PHP Manager, je présente donc ici uniquement la METHODE 2.
    La METHODE 1 revenant à faire ce que j'ai fait dans la METHODE FLEMMARD, vous n'aurez qu'à ouvrir le fichier que j'ai posté ici et regarder comment c'est fichu.
    Pour ceux qui choisissent la METHODE FLEMMARD, sautez l'encart délimité par les --- suivant et ne réalisez pas l'étape 8) puisqu'elle fait aussi partie de la METHODE 2.

    ------------------------------------------------------
    METHODE 2 :

    - Ouvrez l'application Bloc-notes en mode administrateur, puis Fichier, ouvrir, rendez-vous dans C:\PHP, Remplacez le critère "Fichiers texte (*.txt)" par "tous les fichiers" et ouvrez le fichier "php.ini-production"
    Dans le menu Edition, cliquez sur "Atteindre", Ligne 782 (le numéro peut varier en fonction des versions)
        Mettez la valeur 1 à 0, tel que ;cgi.force_redirect = 0 (n'enlevez pas le ";")
    Dans le menu Edition, cliquez sur "Atteindre", Ligne 763 (le numéro peut varier en fonction des versions)
        Modifiez tel que : ;extension_dir = "C:\PHP\ext"
    Dans le menu Edition, cliquez sur "Atteindre", Ligne 968 (le numéro peut varier en fonction des versions)
        Modifiez tel que : ;date.timezone = Europe/Paris
    ... Ligne 918 (;extension=curl), enlevez le ";" devant
    ... Ligne 928 (;extension=mbstring), enlevez le ";" devant
    ... Ligne 930 (;extension=mysqli), enlevez le ";" devant
    ... Ligne 961 (;extension=zend_extension=opcache), enlever le ";" devant

    Enregistrez le fichier sous "php.ini" dans le dossier C:\PHP.
    Le nom du fichier va changer tout seul et devenir php (avec un icône de feuille de papier avec une roulette).

    - Installer PHPManagerForIIS, pour vous faciliter la vie pour la suite.
    Téléchargez le lien suivant
    Installez-le
    ------------------------------------------------------

    Revenons à nos moutons, peu importe la METHODE CHOISIE.
    Vous devez à présent rajouter une variable d'environnement :

    - Aller dans le Panneau de Configuration, Système et Sécurité, Système, Paramètres Avancés du Système (tout en bas), Variables d'environnement.
    Dans l'encart "Variables utilisateur pour Administrateur", cliquez sur "Path", Modifier, Nouveau, écrivez C:\PHP
    Cliquez sur OK, OK et sortez

    - Configurer PHP pour IIS
    Ouvrez le gestionnaire des services internet (IIS), soit par la barre rechercher de windobe, soit en passant par le gestionnaire de serveur, IIS, puis clic-droit sur le nom de votre serveur.
    Cliquez sur votre serveur dans le menu de gauche
    Double-cliquez sur Mappages de gestionnaires (écran du milieu)
    Menu de droite, Ajouter un mappage de modules...
    Chemin des demandes : *.php
    Module : FastCgiModule
    Exécutable : C:\PHP\php-cgi.exe
    Nom : FastCGI - PHP
    OK
    Voulez-vous créer une application... OUI

    Recliquez sur votre serveur dans la menu de gauche pour revenir à la Page d'accueil
    Double-cliquez sur "Document par défaut" au milieu
    Menu de droite, Ajouter...
    Nom : index.php
    OK

    5) Télécharger Concrete5
    Télécharger Concrete5 version 9.1.3
    Dézipper directement le contenu dans C:\inetpub\wwwroot
    ## Note, je choisis ici de remplacer le site par défaut d'IIS par Concrete5... mais vous pouvez procéder autrement ! ##

    Vous devez à présent modifier des droits d'accès sur C:\inetpub\wwwroot
    Faîtes un clic-droit sur le dossier wwwroot, propriétés, onglet sécurité, Modifier,
    Accordez le contrôle total à Utilisateurs et IIS_IUSRS

    ------------------------------------------------------
    REPRISE DE LA METHODE 2 :

    8) Dans le gestionnaire des services Internet IIS
    Cliquez sur votre nom d'hôte, puis clic-droit sur Sites, actualiser
    Le "Default Web Site" contient désormais toute la plateforme Concrete5
    Double-cliquez sur PHP Manager.
    Le gestionnaire vous informe d'une configuration non optimale,
    Cliquez sur Visualiser les recommandations, cocher tout, OK
    Descendez vers l'encart Extensions PHP, cliquez sur Activer ou désactiver une extension (vous allez y retrouver les extensions que nous avions manuellement configurées dans le fichier php.ini... ici, vous pouvez le faire plus facilement (mais il était bon que vous voyiez comment on fait en réalité... en éditant le fichier !!).
    Pour faire fonctionner Concrete5 correctement, il va falloir activer les extensions suivantes (clic-droit, activer)
    - php_bz2
    - php_curl
    - php_exif
    - php_fileinfo
    - php_gd
    - php_gettext
    - php_intl
    - php_ldap
    - php_mbstring
    - php_mysqli
    - php_odbc
    - php_openssl
    - php_opcache
    - php_pgsql
    - php_soap
    - php_sodium
    - php_sqlite3
    - php_tidy
    - php_xsl

    Dans le menu de gauche, faîtes un clic-droit sur Default Web Site, Gérer le site web, Redémarrer (afin de permettre aux extensions d'être prises en compte)

    ------------------------------------------------------

    Votre site est désormais prêt, il ne manque qu'un dernier réglage pour faciliter la vie de vos usagers : 

    9) Enregistrement DNS
    - Ouvrez l'application Bloc-notes en mode administrateur, puis Fichier, ouvrir, rendez-vous dans C:\Windows\System32\drivers\etc
    Remplacez le critère "Fichiers texte (*.txt)" par "tous les fichiers" et ouvrez le fichier "hosts"
    En bas du fichier (évidemment, vous aurez pris soin de récupérer l'IP de votre serveur avec ipconfig !! n'écrivez pas IP-DE-VOTRE-SERVEUR !!), ajoutez la ligne suivant :

    IP-DE-VOTRE-SERVEUR monconcrete5

    Enregistrez et quittez
    (évidemment, vous pouvez changer monconcrete5 par ce que vous voulez)

    Ouvrez un navigateur et tapper : http://monconcrete5
    L'installeur de Concrete5 s'ouvre, vous fait un checkup pour vérifier que tout est bon (logiquement oui)

    Il ne vous reste plus qu'à entrer les informations de votre base de données SQL et créer un identifiant pour administrer concrete5... et voilou !


    Tags Tags : , , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :