Installation d Egroupware sur serveur Windows 2003, IIS 6 Pablo Denis Octobre 2006
Installation de Egroupware sur Windows 2003/IIS6 chapitre 2/24 1. Introduction... 3 2. Considérations préliminaires... 3 3. Installation... 4 3.1. Installation de IIS 6 sur windows 2003... 4 3.2. Installation de mysql... 5 3.3. Installer php5... 12 3.3.1. Configuration... 13 3.3.2. IIS... 14 3.3.3. Test... 17 3.4. Installation de phpmyadmin... 18 3.5. Installation d egroupware... 21
Installation de Egroupware sur Windows 2003/IIS6 chapitre 3/24 1. Introduction Ce document a pour but de décrire l installation, configuration et mise em exploitation du logiciel Egroupware sur un serveur 2003 avec le serveur Web IIS6. Ce logiciel sera utilisé dans le cadre de la gestion du helpdesk de IT4NET et de la gestion des participants du programme 5D. 2. Considérations préliminaires Pour des raisons de sécurité, il est recommandé de déplacer le répertoire par défaut de la racine Web (par défaut C:\Inetpub\wwwroot). Dans ce cas, la racine du serveur a été déplacé sur la partition D : dans le dossier www\root, hébergeant les dossiers de IIS, de Egroupware et phpmyadmin. PHP 5 sera installé sur le disque C : Voici les arborescences utilisées : C : --- php5 --- --- sessions D: --- www --- --- phpmyadmin --- --- root --- --- ---- egroupware Créer les répertoires qui apparaissent en gras
Installation de Egroupware sur Windows 2003/IIS6 chapitre 4/24 3. Installation 3.1. Installation de IIS 6 sur windows 2003 Depuis le Panneau de configuration, choisir Ajout / Suppression de programme. Dans la fenêtre qui s'ouvre, choisir Ajouter ou supprimer des composants Windows. Ci-après un récapitulatif visuel des différentes étapes de l'installation d IIS :
Installation de Egroupware sur Windows 2003/IIS6 chapitre 5/24 IIS fait partie de la catégorie Serveur d'applications. Entrer dans les détails d IIS et choisir Service World Wide Web. Tout sera alors sélectionné automatiquement par l'assistant. Il est toujours possible de revenir ici et de rajouter des composants par la suite. 3.2. Installation de mysql Si vous avez déjà utilisé MySQL 4.0.x, vous verrez que l'assistant d'installation de cette nouvelle version n'a strictement rien à voir. Avec cette nouvelle version, tout est fait au moment de l'installation. MySQL est disponible gratuitement sur www.mysql.com. La version que j'ai utilisée pour ce tutorial est la 4.1.7. Pour ceux qui ont déjà installé une version 4.0.x de MySQL, ils avaient peut être l'habitude d'utiliser WinMySQLMyAdmin, moi aussi. Vous ne le trouverez plus avec MySQL, il a été remplacé par MySQL Administrator disponible gratuitement. Il est beaucoup plus complet et très simple d'utilisation.
Installation de Egroupware sur Windows 2003/IIS6 chapitre 6/24
Installation de Egroupware sur Windows 2003/IIS6 chapitre 7/24 La phase d'installation est très rapide. Sélectionnez l'option Custom afin d'avoir la possibilité de modifier les éléments à installer, ainsi que le répertoire d'installation (d:\mysql dans mon cas). Copie des fichiers terminés, passons à la phase de configuration...
Installation de Egroupware sur Windows 2003/IIS6 chapitre 8/24
Installation de Egroupware sur Windows 2003/IIS6 chapitre 9/24
Installation de Egroupware sur Windows 2003/IIS6 chapitre 10/24
Installation de Egroupware sur Windows 2003/IIS6 chapitre 11/24 Pour commencer, à la fin de l'installation, choisissez Configure the MySQL Server now. Un nouvel assistant, de configuration celui la, se lance. Choisissez l'option Detailled Configuration. Dans mon cas, étant donné que je ne dispose pas d'un serveur dédié, j'ai choisi Server Machine. Ensuite, pour des raisons de capacités de ma machine, j'ai choisi un système exclusivement non-transactionel (Non-Transactional Database Only). Choisissez ensuite le nombre de connexions concurrentes que vous allez accepter. Le choix par défaut (Decision Support (DSS)/OLAP) me parait largement suffisant pour le développement. Laissez ensuite Enable TCP/IP Networking activé sur le port par défaut (3306) ainsi que le Jeu de Caractères par défaut (Standard Character Set). Choisissez également d'installer MySQL en tant que Service Windows. Libre à vous de choisir son mode de démarrage. Dernière étape des choix cruciaux, le choix du mot de passe root. Pas besoin de vous préciser qu'un mot de passe du style toto ne sera quasiment d'aucune utilité, choisissez le assez complexe tout de même. Dernière étape de la configuration, appliquer tous ces choix. L'assistant vous détaille les étapes et une petite coche bleue doit apparaître sur les 4 étapes pour que ce soit OK. Finish, votre serveur MySQL est prêt.
Installation de Egroupware sur Windows 2003/IIS6 chapitre 12/24 Un petit test à l'aide de la console pour vérifier que le serveur est bien disponible et que votre mot de passe est le bon :D Comme vous pouvez le constater, l'installation de MySQL est simple, rapide et complète. Nettement plus efficace que l'ancienne version de l'instaleur. Prochaine étape Php... 3.3. Installer php5 Pour info, PHP, comme tous les autres modules, donne de meilleures performances en mode Isapi qu'en mode CGI, c'est pour cela que je ne détaillerai que l'installation en mode Isapi, mais sachez que l'installation ne diffère pas énormément en mode CGI. Le mode Isapi permet à IIS de charger PHP comme s'il faisait partie intégrante de IIS. Il est donc chargé en mémoire une seule fois. Le mode CGI, au contraire, force IIS à appeler une nouvelle instance de PHP à chaque demande de page PHP. Vous pouvez utiliser CGI si vos appels aux pages PHP sont rares. Je recommande cependant d'utiliser le mode Isapi dans tous les cas. L'installation de PHP5 est quasiment la même que celle de PHP4. Seul quelques petits changements sont à apporter à cause de IIS6. Pour commencer, téléchargez sur le site de PHP (www.php.net) la dernière version de PHP sans programme d'installation. Décompressez l'archive et copier son contenu dans d:\php5 par exemple, ça sera notre répertoire de travail avec PHP. Créez tout de suite le répertoire php5\sessions\, si ce n'est pas encore fait, il servira au stockage des fichiers de sessions. Copiez maintenant les fichiers suivant dans les répertoires indiqués : php5isapi.dll et php5ts.dll dans c:\windows\system32\inetsrv libmysqli.dll dans c:\windows\system32 php.ini-recommanded dans c:\windows\ en le renommant en php.ini
Installation de Egroupware sur Windows 2003/IIS6 chapitre 13/24 php5isapi.dll est le fichier qui fait le «pont» entre IIS et le parser à proprement parler, php5ts.dll. libmysql.dll permet d'utiliser MySQL avec PHP, ce qui, avec la version 5 n'est plus implémentée en standard. php.ini est le fichier de configuration de PHP. Tous les fichiers dont nous avons besoin étant à leur place, passons à la configuration. Vous vous demandez certainement pourquoi je n'utilise pas l'installer qui est disponible en téléchargement. Trois bonnes raisons : la première est simple. Je n'ai jamais réussi à avoir un Php opérationnel avec un IIS en utilisant cet assistant. La deuxième est que vous êtes plus libre de vos choix de configuration. Il y en a une troisième, mais un peu moins importante, c'est le contenu, qui est beaucoup plus restreint que la version que je vous fais utiliser, regardez seulement la taille de l'archive ;). 3.3.1. Configuration La configuration de php se déroule en 2 étapes. La première porte sur Php lui-même et la seconde sur IIS pour intégrer Php. Php.ini Editez maintenant le fichier php.ini que vous venez de copier. Il y a quelques paramètres à vérifier et à modifier afin de correspondre à la configuration de votre machine. Error handling and logging error_reporting = E_ALL display_errors = on Php vous montrera ainsi toutes les erreurs qu'il rencontrera dans les scripts. Une fois votre serveur en production, mettez display_errors à off Data handling register_globals = Off Pour des raisons de sécurité, il est préférable de laisser ce paramrète à Off. Paths and Directories extension_dir = "d:\php5\ext\" Renseignez ici le répertoire où Php trouvera ses extensions. Dynamic Extensions extension=php_mysqli.dll Comme nous configurons Php avec une version de MySQL supérieur à la 4.1.x, il doit utiliser l'extension MySQLi Session session.save_path = "d:\php5\sessions\" session.auto_start = 0
Installation de Egroupware sur Windows 2003/IIS6 chapitre 14/24 Renseignez ici le répertoire de stockage des fichiers de sessions (par défaut gérées en mode fichier). auto_start est à faux, la majorité des hébergeurs le mettant à faux, il est préférable de le laisser ainsi. Copier le fichier libmysql.dll dans le c:\windows\system32 Configurons maintenant IIS pour y intégrer Php... 3.3.2. IIS Ouvrez une console d'administration des Services Web (Démarrer > Exécuter > inetmgr ou Démarrer > Programmes > Outils d'administration > Gestionnaire des services Internet (IIS)). Tout ce fera à partir d'ici où presque
Installation de Egroupware sur Windows 2003/IIS6 chapitre 15/24
Installation de Egroupware sur Windows 2003/IIS6 chapitre 16/24
Installation de Egroupware sur Windows 2003/IIS6 chapitre 17/24 Première étape, ajouter Php comme filtre Isapi. Pour cela, utilisez l'onglet approprié dans les propriétés du site web. Choisissez Ajouter. Donnez lui par exemple le nom Php5 en Isapi et sélectionnez php5isapi.dll que vous avez copié dans c:\windows\system32\inetsrv\ comme Exécutable. Voila une chose de faite. Maintenant, il faut associer l'extension.php à notre filtre Isapi. Dans l'onglet répertoire de base, choisissez Configuration puis Ajouter. L'exécutable est le même que pour le filtre (php5isapi.dll), l'extension est donc.php. Les autres options sont par défaut correctes. OK et le tour est joué, IIS sait maintenant que quand il rencontrera une page avec l'extension php, il devra utiliser php5isapi.dll pour la traiter Si vous désirez travailler principalement avec Php, vous devez préciser que index.php est la page par défaut du site Web (c'est comme ça dans la majorité des scripts php que vous récupérez sur Internet). Pour cela, allez dans l'onglet Documents, choisissez Ajouter et saisissez index.php. index.php apparaît alors, mais en bas de la liste. Pour être sur que IIS regarde d'abord les pages index.php, utilisez le bouton Monter jusqu'à le faire arriver en début de liste. Dernière étape, et sûrement la plus importante. Autoriser l'extension php. Toujours dans la console de management de IIS, faites un clic droit sur Extensions du Site Web et choisissez Ajouter une nouvelle extension de Service Web... Donnez lui le nom php5 par exemple et une fois de plus, la dernière, promis, sélectionnez php5isapi.dll comme Fichiers requis et sélectionnez l'option Définir le statut de l'extension à Autorisée. OK, php5 apparaît dans la liste avec une petite coche verte normalement. Vous pouvez maintenant fermer la console IIS. Lancer une commande MS-Dos (Exécuter > Cmd) et tapez-y iisreset pour relancer IIS et charger Php. Cette dernière étape, ainsi que la première, ne sont pas utiles pour installer php avec les versions de Windows 2000 Professionel et XP (respectivement 5 et 5.1) de IIS. C'est la seule différence entre les 2 types d'installation. 3.3.3. Test Pour tester si Php est bien installé et configuré, créez un fichier index.php contenant le code suivant à la racine de votre serveur Web : <?php phpinfo();?> Lancez votre navigateur et allez à la page suivante : http://localhost/. Vous devriez voir apparaitre toute la configuration de Php en détail. Si tel n'est pas le cas, reprenez toutes les étapes précédentes une par une. Dernière étape de cette installation, la mise en place de phpmyadmin...
Installation de Egroupware sur Windows 2003/IIS6 chapitre 18/24 3.4. Installation de phpmyadmin L'installation et la configuration de phpmyadmin sont des plus simples. Décompressez phpmyadmin dans le dossier de votre choix. Ensuite rendez-vous dans la console d'administration de IIS pour lui créer un répertoire virtuel. Pour installer phpmyadmin, j'ai décidé de le mettre dans un répertoire virtuel, afin qu'il n'encombre pas la racine de mon site Web. La première étape est donc de créer cet espace virtuel. L'intérêt de cette méthode est qu'il est possible de protéger phpmyadmin à l'aide du système d'authentification Windows et des droits NTFS.
Installation de Egroupware sur Windows 2003/IIS6 chapitre 19/24 Pour activer la demande de login / mot de passe sur le dossier, et ainsi restreindre son accès, allez dans les propriétés du répertoire virtuel que nous venons de créer. Dans l'onglet Sécurité de répertoire, choisissez Authentification et contrôle d'accès. Désélectionnez Activer la connexion anonyme. Essayez maintenant d'accéder à phpmyadmin depuis le navigateur d'une autre machine pour vérifier. Pensez à configurer les droits NTFS sur le répertoire physique de phpmyadmin pour contrôler les accès. Editez ensuite le fichier de configuration de PHPMyAdmin : config.inc.php Plusieurs éléments sont à renseigner : URL pour accéder à MySQL $cfg['pmaabsoluteuri'] = 'http://server/phpmyadmin/'; Le $i du fichier de configuration vous permet de disposer d'autant de configurations que vous le désirez. Ainsi pour chaque configuration, ces paramètres sont à modifier. Serveur où se situe la base MySQL Nom ou adresse IP du serveur $cfg['servers'][$i]['host'] = 'localhost';
Installation de Egroupware sur Windows 2003/IIS6 chapitre 20/24 L'extension que vous utilisez avec PHP (voir plus haut) pour accéder à vos bases MySQL $cfg['servers'][$i]['extension'] = 'mysqli'; Utilisateur et mot de passe que l'utilisateur utilise pour se connecter $cfg['servers'][$i]['user'] = 'user'; $cfg['servers'][$i]['password'] = '*********'; Il se peut que vous ayez un vilain message rouge en bas de la page principale de phpmyadmin vous indiquant que l'extension PHP mbstring n'a pu être localisée. Qu'à cela ne tienne, ajoutez la par l'intermédiare du fichier de configuration de Php, dans la section Dynamic Extension, il suffit de décommenter la ligne extension=php_mbstring.dll(suppression du ;). Attention de ne pas oublier de relancer IIS pour prendre en compte ces modifications. Pour fonctionner au mieux, phpmyadmin a besoin de garder certaines informations, bien sur dans une base de données. Créez une base de données que vous nomerez phpmyadmin. Base de données de phpmyadmin $cfg['servers'][$i]['pmadb'] = 'phpmyadmin'; Précisez également le nom des tables de cette base utilisées pour stocker ces données: Tables de phpmyadmin $cfg['servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['servers'][$i]['relation'] = 'pma_relation'; $cfg['servers'][$i]['table_info'] = 'pma_table_info'; $cfg['servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['servers'][$i]['column_info'] = 'pma_column_info'; $cfg['servers'][$i]['history'] = 'pma_history'; Après avoir créé la base de données phpmyadmin, créez maintenant les tables précédentes à l'aide du script contenu dans ce fichier : CreateTables.sql La création des tables peut se faire à partir de phpmyadmin, l'absence de celles-ci n'affectant en rien son fonctionnement. Conclusion Comme vous pouvez le constater, l'installation est simple et rapide. En quelques instants vous disposez d'un serveur Web basé sur Php / MySQL avec en prime une interface d'administration de vos bases de données agréable et efficace.
Installation de Egroupware sur Windows 2003/IIS6 chapitre 21/24 3.5. Installation d egroupware Télécharger egroupware et egroupware-contrib et décompresser d abord egroupware et consuite le paquet contrib dans le dossier racine du site web Donner les droit d écriture aux utilisateurs (ne pas oublier des les enlever après la config) Créer une base de données egroupware avec un mot de passe et un utilisateur egroupware avec tous les droits Ouvrir la page «http://192.168.32.23/egroupware/setup/check_install.php» pour commencer la configuration de egroupware Résoudre les warnings et relancer la page. Attention un warning indiquant que php_mysql n est pas activé s affiche ; il faut l ignorer est Ecrire le fichier de config header.inc.php après avoir paramétré les noms de répertoire etc.
Installation de Egroupware sur Windows 2003/IIS6 chapitre 22/24 Après génération et écriture du fichier header la page suivante s affiche :
Installation de Egroupware sur Windows 2003/IIS6 chapitre 23/24 Elle donne accès à la page d installation des applications. Pour installer des applications, décompresser le paquet egroupware-contrib et effectuer installation des applications. Le bouton «Editer la configuration» permet de configurer l authentification etc.
Installation de Egroupware sur Windows 2003/IIS6 chapitre 24/24 Remarque : Pour activer l authentification sur Active Directory : Le fichier header.inc.php est généré et placé au niveau de la racine du répertoire egoupware. Afin d utiliser l authentification ADS copier depuis c:\php les bibliothèques libeay32.dll et ssleay32.dll. vers le répertoire windows\system32 Editer php.ini de windows et décommenter extension php_ldap.dll. Copier c:\php5\ext\ hp_ldap.dll vers windows\system32 Relancer IIS puis aller dans la config EGW dans la rubrique LDAP activer : Activer LDAP version 3 = oui Créer un compte administration à l aide du bouton «Création du compte Administrateur»