Installation d'un serveur < Apache HTTP - Apache Tomcat - MySQL - PHP > sous Windows XP SP2

Cet article vous présente l'installation d'un serveur Web, qui se sert des technologies citées dans le titre de l'article. Le but premier de cet article est d'aider les nouveaux programmeurs à configurer un serveur de développement sur leur ordinateur maison possédant le système d'exploitation Windows XP avec Service Pack 2.



Quels sont les technologies utilisées ?

Apache HTTP Server est un serveur HTTP, soit un serveur Web.
Apache Tomcat est un serveur HTTP basée sur la technologie JSP(JavaServer Pages).
MySQL est un serveur de base de données.
PHP est un langage de programmation Web.



Configuration logiciel

Je fais ici la description des logiciels présents sur l'ordinateur avec lequel j'ai construit l'article suivant. Bien sur tout au long de l'article les logiciels permettant la création du serveur Web s'ajouteront à cette liste.

Commentaire

Excepté Microsoft Windows tous les logiciels cités sont des logiciels libre d'utilisation.



Considérations Générales avant installation

Lorsque vous déciderez de faire cet installation, veuillez prendre note des considérations suivantes, car elles pourraient être une source de problème lors de l'installation du serveur Web.

Si vous possédez un routeur, il se pourrait que vous ayez à ouvrir les ports suivant: 80, 8080, 3306 afin d'accéder à votre serveur Web. Ces ports sont ceux du services HTTP soit le port 80 ou 8080 si votre fournisseur Internet bloque le port 80 et le port 3306 pour le serveur de base de données MySQL.

L'utilisation d'un pare-feu(firewall) peut engendrez des problèmes de configuration, d'installation ou d'utilisation du serveur Web. Si vous utilisez une solution de pare-feu assurez vous que celui-ci est bien configuré afin qu'il vous permette d'utiliser votre serveur Web.

N'oubliez pas que Windows XP SP2 possède une solution de pare-feu intégré et que celle-ci peut bloquer l'utilisation de votre serveur Web. Je verrai tout au cours de cet article comment désactivé le pare-feu de Windows.

Les solutions antivirus que vous utilisé peuvent elles aussi comporter des solutions de pare-feu intégrés, comme par exemple: Norton en possède un qui se nomme Norton Internet Security.



Désactivation du pare-feu intégré de Windows XP SP2

Afin de désactivé le pare-feu intégré de Windows XP, vous devez vous rendre dans les services de Windows. Pour se faire:

  • Cliquez sur Démarré
  • Puis sur Exécuter...
  • Écrivez "services.msc" et
  • Cliquez sur "Ok"
  • Il vous apparaitra la fenêtre suivante:

  • Trouvez dans la liste le service "Windows Firewall/Internet Connection Sharing (ICS)" ou si vous êtes en français "Pare-feu Windows / Partage de connexion Internet"
  • Double cliquez sur celui-ci
  • Dans la fenêtre qui apparait:

  • Sélectionnez dans le champ Startup Type 'Disabled'
  • Cliquez sur "Stop"
  • Cliquez sur "Appliquer"
  • Finalement cliquez sur "Ok"
  • Il vous reste simplement à redémarrer votre ordinateur.

    Commentaire

    Si vous ne le redémarré pas le service bien qu'arrêté continue de s'exécuter en arrière plan.



Programmes utilisés pour l'installation du serveur Web

Les programmes si dessous sont les programmes que nous devons installer afin de faire fonctionner notre serveur Web.



Installation

La partie préparation de l'article est présentement terminé. Nous voici rendu dans la partie intéressante de l'installation du serveur. Soyez sur d'avoir déjà tout les fichiers cités dans la partie Programmes utilisés pour l'installation du serveur Web car j'y ferai référence sous le nom de leur exécutable.



Installation d’Apache HTTP Serveur

Pour débuter l'installation nous aurons besoin du fichier -> apache_2.2.4-win32-x86-no_ssl.msi

  • Double cliquez sur le fichier
  • Vous devez maintenant suivre les étapes de l'installation.
  • // Je commenterai seulement celles qui ont besoin de détails de configuration.

    À la prochaine étape nous devons spécifier les trois champs suivants :

  • Network Domain
  • Server Name
  • Administrator Email Address
  • Chacun de ces champs peut être remplacé selon l'installation que vous voulez en faire.
    Par exmple si vous possédez un adresse www.no-ip.com ou www.dyndns.org vous pouvez l'inscrire dans les deux premier champs.
    Vous pouvez aussi mettre votre propre adresse email dans le troisième champ ou simplement laissé admin@localhost

    Pour ce qui est du port je vous conseille de choisir le premier sois le 80 qui démarre automatiquement, à moins que vous ne soyez familier avec les services windows. Pour ce qui est du numéro de port nous aurons la possibilité de le reconfigurer plus tard.

    L'installation complété nous pouvons nous servir de l'outil 'Monitor Apache servers' pour valider que notre serveur fonctionne bien.

  • Vérifiez ou double cliquez sur l'icone rose avec une flèche verte ou un carré rouge
  • En double cliquant dessus vous ouvrez l'outil 'Monitor Apache servers'.
  • Celui-ci indique si le serveur est démarré ou non



Test du serveur Apache

Pour valider que votre serveur est bien installé et fonctionnel, ouvrez votre fureteur Internet préféré et allez à l'adresse suivante :

http://localhost
ou selon votre configuration
http://localhost:8080

En allant à cet adresse si vous voyez la même fenêtre que celle-ci c'est que votre installation est fonctionnel, sinon reporté vous aux étapes précédentes.




Configuration avancée du serveur Apache HTTP

La configuration d'Apache se fait par le biais d'un fichier.
Ce fichier se nomme 'httpd.conf' et se retrouve par défaut dans le dossier :

"C:\Program Files\Apache Software Foundation\Apache2.2\conf"

Ce fichier contient l'intégralité des configuration d'Apache.
Voici la liste des champs que vous devrez éditer:

*** Afin d'éditer le fichier 'httpd.conf' je me suis servis du logiciel Programmer's Notepad ***

  • Listen 80
  • Si vous voulez que votre serveur se serve du port 8080 au lieu de 80. Remplacez cette ligne par :
    Listen 8080

  • ServerName localhost:80
  • Si vous voulez complétez la configuration du changement de port 80 vers 8080 modifiez cette ligne par :
    ServerName localhost:8080

  • ServerAdmin admin@localhost
  • Si vous voulez utilisé une de vos adresse personnel changez cette ligne par :
    ServerAdmin mon_adresse_email@mon_serveur_mail.com

  • DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
  • Si vous désirez changer l'emplacement de vos fichiers web. Remplacez cette ligne par le chemin du dossier où vous désirez les enregistrer.

    exemple : Vous voulez entreposer vos documents dans le dossier "C:\wwwroot"
    Remplacez la ligne par :
    DocumentRoot "C:/wwwroot"

  • Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
  • Si vous avez apporté quelques modifications que se soit à la précédente vous devez remplacer celle-ci par la même dossier.

    exemple : Vous avez modifié la ligne précédente par DocumentRoot "C:/wwwroot", vous devez alors changer votre ligne par :
    Directory "C:/wwwroot"

  • DirectoryIndex index.html
  • Afin d'ajouter à Apache la possibilité de lire plus d'une extension de fichier web. Veuillez changer cette ligne par :

    DirectoryIndex index.html index.php index.htm default.htm default.html default.php

Si vous désirez télécharger mon fichier 'httpd.conf' cliquez ici.



Installation de PHP

Premièrement vous devez dé-zipper le fichier 'php-5.2.3-Win32.zip' dans le répertoire que vous voulez.
Ou comme dans le tutoriel nous le dé-zipperons sur la racine du 'C:\' dans le dossier que vous devez créer nommé 'php' ce qui nous donnera 'C:\php'




Intégration Apache/PHP

Afin d'intégrer Apache et PHP nous devons éditer le fichier 'httpd.conf' comme à l'étape 'Configuration avancée d'Apache' afin d'y insérer quelques lignes de configuration.

Voici la liste des lignes que nous devrons ajouter :

  • PHPIniDir "C:/php/"
  • Cette ligne est à ajouter à la fin complètement du fichier.

  • LoadModule php5_module c:/php/php5apache2_2.dll
  • Cette ligne peut être ajouter à la fin ou après les autres modules.

  • AddType application/x-httpd-php .php
  • Cette ligne peut être ajouter à la fin ou après les autres types mimes.



Test de l'intégration Apache/PHP

Afin de vérifier que notre fichier 'httpd.conf' est bien configuré nous devons se servir de l'outil 'Monitor Apache servers'
Servez vous en pour arrêter le serveur Apache et ensuite sauvegardez le fichier 'httpd.conf' et redémarrez le serveur.
Si les lignes de commandes sont exactes votre serveur Apache redémarrera sans problème sinon il peut y avoir une faute d'orthographe ou autre. Si vous ne voulez pas editer le fichier 'httpd.conf' vous pouvez downloader celui-ci
fichier.

Télécharger le fichier "httpd.conf"

Si tout a bien réussi, votre serveur Apache redémarrera parfaitement.



Configuration de PHP

Le fichier 'php.ini'

Nous allons devoir éditer le fichier 'php.ini', qui se trouve à la racine du dossier 'php' que nous venons juste de créer soit le "C:\php".
Trouvez le fichier qui se nomme 'php.ini-recommended' et renommez-le en 'php.ini'. Par la suite ouvrez le dans votre éditeur de texte que vous préférez (dans le tutoriel il est ouvert avec Programmer's Notepad).

    Premièrement nous devons spécifier où se trouve le dossier contenant les extensions que PHP utilise :

  • Trouvez la ligne
  • extension_dir = "./"

  • Remplacez la par
  • extension_dir = "C:/php/ext"

    Afin de spécifier le dossier d'upload de PHP

  • Trouver la ligne
  • ;upload_tmp_dir =

  • Remplacez la par
  • upload_tmp_dir = "C:/php/uploadtemp"
    Vous devez par contre allez créer le dossier 'uploadtemp' dans le dossier 'C:\php'

    Vous devez décommenter (soit enlever le ; devant la ligne) les lignes suivantes afin de pouvoir se servir des extensions de PHP

  • Trouvez
  • ;extension=php_mbstring.dll

  • Remplacez par
  • extension=php_mbstring.dll

  • Trouvez
  • ;extension=php_gettext.dll

  • Remplacez par
  • extension=php_gettext.dll

  • Trouvez
  • ;extension=php_mcrypt.dll

  • Remplacez par
  • extension=php_mcrypt.dll

  • Trouvez
  • ;extension=php_mysql.dll

  • Remplacez par
  • extension=php_mysql.dll

    Finalement, on doit créer un dossier nommé 'sessionsave' afin de sauvegarder les sessions ouvertes par PHP.

  • Trouvez la ligne
  • ;session.save_path = "/tmp"

  • Remplacez la par
  • session.save_path = "C:/php/sessionsave"

    Finalement notre fichier 'php.ini' est configuré. Vous devez redémarrer Apache afin que ces changements soient pris en compte.



L'extension 'php_mcrypt.dll'

L'extension 'php_mcrypt.dll'

Cette extension permet de faire de l'encryptions à l'aide de PHP. Hors pour s'en servir il nous faut télécharger le fichier suivant
libmcrypt.dll

Ce fichier dois être placé dans le dossier 'C:\php\ext'

Vous devez copier les extensions 'php_mcrypt.dll', 'php_mysql.dll' et 'libmcrypt.dll' dans le dossier "C:\WINDOWS\System32".
Vous trouverez ces extensions dans le dossier "C:\php\ext"

Cette étape vous évitera d'avoir un message d'erreur lorsque vous tenterez de vous autentifier sur phpMyAdmin.



Test du serveur Apache HTTP et PHP

Afin de tester si Apache est capable d'ouvrir et afficher les fichiers dont l'extension est '.php', ouvrez Programmer's Notepad et créez un nouveau fichier.

Écrivez les lignes suivantes à l'intérieur du fichier.

<?php
echo "Hello world";
?>

Vous pouvez le télécharger ici --> index.php

Enregistrez et nommez le fichier 'index.php' dans le dossier "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs" ou sinon dans le dossier racine que vous avez choisi ultérieurement.

Ouvrez votre fureteur Internet et entrez l'adresse suivante

--> http://localhost ou http://localhost/index.php ou http://localhost:8080 ou http://localhost:8080/index.php

Il devrait vous afficher le texte suivant

Ceci confirme que votre serveur apache fonctionne bien avec PHP.



Installation de MySQL (Serveur de base de données)

Premièrement vous devez télécharger le fichier 'mysql-5.0.45-win32.zip' si ce n'est pas déjà fait.
Vous devez l'extraire à l'aide de 7-zip ou tout autre utilitaire du genre.
Double cliquer sur le fichier 'setup.exe'.

Ceci débutera l'assistant d'installation de MySQL.

Sélectionnez l'installation de type complète

Cliquez sur 'Install'
Cliquez 2 fois sur 'Next' afin de passer les publicités de MySQL

Assurez vous que la case 'Configure the MySQL Server now' soit cochée et cliquez sur 'Finish'



Configuration de l'instance du serveur MySQL

Vous serez amené dans l'assistant de configuration du serveur MySQL.
Cliquez sur 'Next'

Sélectionnez le type de configuration 'Detailed Configuration' puis cliquez sur 'Next'

Choisissez 'Developer Machine' ce qui allègera l'utilisation de vos ressources machines

Choisissez 'Multifunctionnal Database'

Cliquez sur 'Next' le système installera les fichiers de base de données par défaut dans "C:\Program Files\MySQL\MySQL Server 5.0\data"

Étant donné qu'il s'agit d'un serveur local et non d'entreprise sélectionnez 'Decision Support(DSS)/OLAP' soit l'équivalent de 20 connections supportées simultanées.

Cliquez sur 'Next' afin de garder le port par défaut de MySQL

Cliquez sur 'Next' afin de sélectionner la disposition des caractères par défaut

Cochez la case 'Include Bin Directory in Windows PATH' afin de pouvoir démarrer MySQL dans une commande DOS
Cliquez sur 'Next'

Créez votre mot de passe du compte 'root'
Ne cochez pas les cases 'Create An Anonymous Account' et 'Enable root access from remote machines' pour des fin de sécurité.
Si par contre vous voulez être capable de vous loguez à distance sur votre serveur MySQL cochez 'Enable root access from remote machines'
Cliquez sur 'Next'

Il vous apparait maintenant la fenêtre d'exécution du script de configuration de MySQL.
Cliquez sur 'Execute' afin de le démarrer.

*** Si vous êtes derrière un routeur et que votre port 3306 n'est pas activé l'exécution vous retournera un message d'erreur.

L'installation est complété.



Test du serveur MySQL

Pour tester MySQL trouver l'outil 'MySQL Command Line Client' qui se trouve dans tout les programmes sous

Maintenant il vous apparait l'outil dans lequel vous devez saisir le mot de passe que vous avez créé quelque minute auparavant dans la configuration de MySQL

Après s'être autentifié il vous apparait cette fenêtre

Saisissez les lignes de commandes suivantes:

-> use mysql + 'ENTER'
-> SELECT user FROM user;

Si tout c'est bien passé vous devriez y voir ceci

Ceci confirme que votre serveur MySQL est fonctionnel.



Installation de MySQL Gui Tools

Comme auparavant aller chercher le fichier 'mysql-gui-tools-5.0-r12-win32.msi' et exécutez le en double cliquant dessus.
Cette outil est des plus facile à installer il s'agit presque de faire 'Next' jusqu'à ce que ce soit terminé.

Ici je ne commenterai aucune photo car tous y est par la simple vues de celles-ci.

Cliquez 2 fois sur 'Next' pour passer les publicités

Pour trouver les outlis installés par MySQL Gui Tools rendez-vous sur 'Démarrer' puis sur 'Tous les programmes' sous



Description des outils de MySQL Gui Tools

Description des 4 outils :

  • MySQL Administrator
  • Permet d'administrer les utilisateurs et de faire des backups de vos bases de données.

  • MySQL Migration Toolkit
  • Vous permet de transférer une base de données d'un autre type( exemple Oracle) vers MySQL.

  • MySQL Query Browser
  • L'outil le plus utile, il vous sert à exécuter tous vos commandes SQL, ainsi que de voir le schéma de vos bases de données et de vos tables.

  • MySQL System Tray Monitor
  • Utilitaire qui se loge dans le 'system tray' de windows et vous indique le statut du serveur MySQL.



Installation de phpMyAdmin

Ce logiciel est un outil semblable à MySQL GUI Tool, mais à la différence qu'il ne s'installe pas localement sur une machine.
Cet outil est un outil web qui nous permet d'accéder à notre serveur de base de données MySQL à partir de n'importe où grâce à un interface web.

Tout d'abord on doit extraire le dossier phpMyAdmin de l'archive nommée 'phpMyAdmin-2.11.0-rc1-all-languages.zip'
Vous devez l'extraire sur la racine de votre serveur Apache soit dans le dossier

"C:\Program Files\Apache Software Foundation\Apache2.2\htdocs" ou tout autre selon votre configuration

Dans le dossier htdocs vous devriez y voir ceci

Commentaire :

// Principalement le fichier 'index.php' que nous avons créé plus tôt.
// Ainsi qu'un dossier nommé 'phpmyadmin', il est bien important de le mettre en minuscule afin qu'il soit facile à retrouver.
// Il peut y avoir d'autre fichier photo et index.html qui sont les fichiers d'installation de Apache.



Configuration de phpMyAdmin

Comme auparavant avec PHP et Apache nous devons configurer un fichier pour que phpMyAdmin fonctionne.

Trouvez le fichier qui se nomme 'config.sample.inc.php' celui-ci se trouve à la racine du dossier 'phpMyAdmin'
Copiez le et renommez la copie 'config.inc.php'
Ouvrez le fichier dans un éditeur de texte
Nous devons modifier le fichier comme ceci:

$cfg['blowfish_secret'] = '';

Remplacez la par

$cfg['blowfish_secret'] = 'hello'; // ici hello peut être remplacé par n'importe quoi par exemple : zoulou

Télécharger config.inc.php



Test de phpMyAdmin

Ouvrez votre fureteur Internet allez à l'adresse suivante: 'http://localhost/phpmyadmin'
Vous devriez voir la page suivante

Cette page est la page d'accueil de phpMyAdmin
Vous devez vous autentifier avec le mot de passe et le nom d'utilisateur de MySQL que vous avez précédement créé.

Je vous laisse donc explorer cette application.



Installation serveur Apache Tomcat

Dans cette partie de l'article nous installerons le deuxième serveur nécessaire à l'exécution des pages JSP. Ce serveur est un serveur complet en soit, mais il nous permettra d'intégrer les technologies de Apache HTTP server et de Apache Tomcat ensemble afin de combiner les deux technologies ensemble et de posséder un serveur qui exécute les 2 deux technologies ensemble grâce au connecteur de Tomcat. Le plus gros avantages de cette configuration est d'éviter l'utilisation du port 8080 lors de l'utilisation du serveur Apache Tomcat.

Ainsi à partir du serveur Apache HTTP nous pourrons appelé les fonctionnalités du serveur Tomcat sans toutefois devoir passez par le port de Tomcat, car c'est le connecteur Tomcat qui s'en chargera.

Installation:

Exécutez le fichier 'apache-tomcat-6.0.14.exe'

Si vous avez déjà utilis le port 8080 pouir votre serveur Apache HTTP, vous devez modifiez le port pour un autre port afin que Tomcat puisse s'exécuter. (exemple: 8282, 8181)

Vous devez créer le mot de passe pour le compte admin du serveur Tomcat

Lorsque l'installation est terminé et que le serveur Apache Tomcat s'exécute sur l'ordinateur, l'icône avec une petite engrenage jaune s'ajoute au System Tray, ceci indique que Apache Tomcat s'exécute bien lorsque le triangle est vert.

Afin de tester que votre serveur est installé et fonctionnel, ouvrez la page suivate :

http://localhost:8080/

// Si toute fois vous avez modifiez le port du serveur Tomcat, veuillez modifier celui-ci dans le URL.



Configuration du serveur Apache Tomcat

Nous devons à nouveau aller dans le fichier 'httpd.conf' afin d'y modifier les paramêtres d'Apache HTTP.
Vous retrouverez ce fichier dans le dossier suivant : "C:\Program Files\Apache Software Foundation\Apache2.2\conf"

Première modification

Ajoutez ces lignes à la fin du fichier :

#
# Mod_jk settings
#
JkWorkersFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/workers.properties"
JkLogFile "C:/Program Files/Apache Software Foundation/Apache2.2/logs/mod_jk.log"
JkLogLevel warning
JkMount /tomcat default
JkMount /tomcat/* default
#End of mod_jk settings
#

Par défaut dans le tutoriel j'ai choisi de mettre mon application JSP dans le dossier intitulé 'tomcat' que j'ai créé dans le dossier suivant:

'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps'

Maintenant j'ai un dossier comme suit :

'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\tomcat'

Les lignes suivantes peuvent être modifiées par le nom que vous voulez -> par exemple si vous voulez vous créer un dossier jsp au lieu de tomcat modifiez les lignes suivantes comme suit :

  • JkMount /tomcat default

Deuxième modification

Vous devez ouvrir l'archive : 'tomcat-connectors-1.2.25-src.zip' (source)
Sous le dossier 'conf' cherchez pour le fichier 'worker.properties.minimal'
Copiez le dans le dossier : "C:\Program Files\Apache Software Foundation\Apache2.2\conf"

Renommez le fichier 'worker.properties'
Editez le fichier et remplacez les lignes suivantes comme suit :

worker.list=wlb,jkstatus worker.list=default,jkstatus
worker.wlb.type=lb worker.default.type=lb
worker.wlb.balance_workers=ajp13w worker.default.balance_workers=ajp13w

Ces lignes d'instructions permettent de faire la première configuration du fichier 'httpd.conf' hors si ces lignes et celles de la première configuration sont différentes le serveurs ne fonctionnera pas. C'est pour cette raison que nous avons écrit :

JkMount /tomcat default

Expliquons cette ligne et son utilisation :

/tomcat -> spécifie le nom de dossier utilisé par le serveur Tomcat
default -> spécifie le nom 'worker.list' // ceci sert de raccourci

Troisième modification

Renommez le fichier 'mod_jk-apache-2.2.4.so' en 'mod_jk.so'

Puis ajoutez au fichier 'httpd.conf' la ligne suivante sous la section des modules:

LoadModule jk_module modules/mod_jk.so

Copiez le fichier 'mod_jk.so' dans le dossier module d'Apache :

'C:\Program Files\Apache Software Foundation\Apache2.2\modules'



Test du serveur Apache Tomcat

Afin de tester le serveur Tomcat nous devons absolument créer une page JSP sinon le serveur nous retournera une erreur.

Dans un éditeur de texte créez un fichier nommez 'index.jsp'

Écrivez les lignes suivantes à l'intérieur :

<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY>
<H1>Hello World</H1>
Today is: <%= new java.util.Date().toString() %>
</BODY>
</HTML>

Puis enregistrez le dans le dossier que vous avez créé pour vos JSP -> dans le tutoriel il s'agit du dossier 'tomcat' :

'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\tomcat'

Télécharger index.jsp

Puis redémarrez vos serveur Apache HTTP et Apache Tomcat ou redémarrez votre ordinateur.

Ensuite allez à l'adresse suivante afin de tester votre serveur Tomcat :

http://localhost/tomcat/index.jsp

Si vous voyez cette fenêtre c'est que votre serveur est désormais fonctionnel avec la technologie JSP.



Conclusion

En conclusion nous venons de mettre au point un serveur web qui permet les technologies les plus courante pour le développement Web. Soit PHP/MySQL/JSP, tous réunies sous le serveur Apache. Cet environnement vous permet de dévelloper dans les cours qui le nécessite des applications java sous JSP ou PHP avec la base de donnée MySQL.

The End