Vous êtes sur la page 1sur 13

Installation configuration et sécurisation d'un serveur web Apache 2.

2
pour Windows
Installation du serveur Apache 2.2.11

Sélectionnez le type d'installation : typical.

À ce stade de l'installation, utilisez ces paramètres :


1er champ : localdomain
2ème champ : localhost.localdomain
3ème champ : vous@votredomaine.com

Abid SAMEH Base de données orienté objet


Installez le serveur en tant que Service. Indiquez le répertoire d'installation : c:\www\apache-2.2\
Configuration du serveur Apache 2.2.11

Éditez à l'aide du bloc-notes le fichier c:\www\apache-2.2\conf\httpd.conf.


ServerAdmin

Cette directive indique l'adresse électronique de l'administrateur du serveur Web. Elle apparaîtra lors d'éventuelles
erreurs. Vérifiez que cette ligne est bien présente : ServerAdmin vous@votredomaine.com
ServerName

Cette directive permet de définir un nom pour votre serveur. Vérifiez qu'une de ces deux lignes est bien présente :
ServerName localhost.localdomain ou ServerName localhost.localdomain:80. Si la ligne est commentée
(un dièse # au début), décommentez la. Vous pourrez accéder à votre serveur en tapant dans votre navigateur Internet
l'adresse http://127.0.0.1.
Si vous éditez le fichier c:\windows\system32\drivers\etc\hosts et que vous ajoutez la ligne
127.0.0.1 localhost.localdomain, vous pourrez alors accéder au serveur en tapant dans le navigateur, l'adresse
http://localhost.localdomain. Ainsi, vous pourrez ajouter des sous domaines et gérer des hôtes virtuels avec
Apache.

DocumentRoot
Cette directive spécifie le répertoire racine de votre site. Seules les pages présentes dans ce dossier seront interprétées par le
serveur. Remplacez la ligne DocumentRoot "c:/www/apache-2.2/htdocs" par
DocumentRoot "c:/www/monsite".
<Directory></Directory>

Entre ces balises, vous pouvez spécifier les restrictions d'accès des répertoires de votre site. Remplacez la ligne
<Directory "c:/www/apache-2.2/htdocs"> par <Directory "c:/www/monsite">.
Enregistrer puis quitter.

Vérification de la syntaxe du fichier httpd.conf


Le répertoire c:\www\monsite doit être créé avant de tester la syntaxe du fichier de configuration. Cliquez sur
Démarrer/Programmes/Apache HTTP Server/Configure Apache Server/Test Configuration. Si vous
n'obtenez pas de message d'erreur, tout est OK ! Sinon reprenez l'édition du fichier httpd.conf. Au pire, si vous ne
savez plus où vous en êtes, dupliquez le fichier de sauvegarde c:\www\apache-2.2\conf\original\httpd.conf en
c:\www\apache-2.2\conf\httpd.conf puis reprenez la section Configuration du serveur Apache 2.2.11.
Test du serveur Apache 2.2.11

Vous allez maintenant tester votre serveur. Créez une page nommée test.html dans le dossier c:\www\monsite
et insérez y ces quelques lignes :

<html>
<head> <title>ma première page html</title> </head>
<body> <div style="text-align:center;font-size:24px;font-weight:bold;">Ca
marche !!!</div> </body>
</html>

Une fois installé, le serveur Apache démarre automatiquement. Si ce n'est pas le cas, vous pouvez le faire soit dans le menu
Démarrer/Programmes/Apache HTTP Server/Control Apache Server/Start, soit directement dans la barre
des tâches à l'aide de , un simple clic sur cette icône affiche le menu de contrôle qui permet de démarrer, redémarrer ou
arrêter le serveur Apache. S'il est déjà démarré, vous devrez le redémarrer pour que les changements soient pris en compte.
Ensuite, lancez votre navigateur Mozilla, Internet Explorer, Opéra ou autre, et dans la barre d'adresse, tapez
http://127.0.0.1/test.html.
Vous devriez voir un gros "Ca marche !!!" au milieu de l'écran, ce qui signifie que votre serveur fonctionne. Si vous n'entrez
pas l'adresse entièrement, vous risquez d'obtenir un message d'erreur. En effet il se peut que l'accès au contenu du répertoire
soit interdit. Nous verrons plus tard comment corriger cela.
Protection d'un répertoire par .htaccess

Nous allons voir ensemble comment protéger un répertoire. D'abord, créons un répertoire à protéger
c:\www\monsite\AccesProtege. Il pourra contenir toutes sortes d'informations à protéger, afin de voir
s'il est efficace, mettez y des fichiers html, ou des images... Ensuite, il va falloir créer un répertoire
servant à stocker les fichiers de mot de passe et de groupes d'utilisateurs. Ce répertoire doit lui même être
protégé, il ne doit donc pas se situer dans un répertoire racine du site ou de ses enfants. Créons le dossier
c:\www\apache-2.2\users.
Création des utilisateurs et mots de passe avec la commande htpasswd. Maintenant, créons un utilisateur
abid ayant abid pour mot de passe (crypté en MD5 par défaut) et le fichier de mots de passe (vous
pouvez le nommer autrement). À la première insertion d'un utilisateur, il faut créer le fichier à l'aide du
paramètre -c À la création des utilisateurs suivants sameh et yassine, il ne faut pas donner en argument le
paramètre -c car le fichier est déjà existant. Vous pouvez voir la liste des paramètres possibles en tapant
htpasswd /?.
C:\>htpasswd -c c:\www\apache-2.2\users\passwords abid
Automatically using MD5 format.
New password: ****
Re-type new password: ****

Adding password for user sameh C:\>htpasswd c:\www\apache-2.2\users\passwords sameh


Automatically using MD5 format.
New password: ****
Re-type new password: ****
Adding password for user yassine C:\>htpasswd c:\www\apache-2.2\users\passwords yassine
Automatically using MD5 format.
New password: *****
Re-type new password: *****
Éditez c:\www\apache-2.2\conf\httpd.conf et ajoutez y cette directive :

<Directory "c:/www/monsite/AccesProtege"> AllowOverride


AuthConfig Options Indexes </Directory>

La directive AllowOverride permet de dire au serveur quelles sont les options de configuration que vous pouvez
spécifier dans le fichier .htaccess. Ici, on lui dit de ne s'occuper que des Authentifications par mot de passe et on
permet l'affichage du contenu du dossier.
Créons maintenant un fichier contenant les informations de groupes. Les groupes correspondent à un grade, un rang
de personnes ayant les mêmes pouvoirs. Ici abid et sameh sont des administrateurs du site et yassine est un simple
membre. Nous allons stocker ces informations de groupe dans le fichier groups dans c:\www\apache-2.2\users.
Vous pouvez lui donner le nom que vous voulez. Voici son contenu :

admins: abid sameh


membres: yassine
• Attention : ne mettez surtout pas d'espace entre le nom du groupe et les deux points
(:) sinon cela ne marchera pas.
• Ensuite, plaçons nous dans le dossier c:\www\monsite\AccesProtege et créons le
fichier .htaccess. Petite astuce : comme vous ne pouvez pas directement créer un
fichier ayant un nom commençant par un point (.) nommez le comme vous voulez
puis renommez le sous l'invite MS-DOS à l'aide de la commande
ren AncienNom .htaccess vous devez bien entendu vous trouver dans le répertoire
contenant ces fichiers. Ensuite éditez .htaccess et insérez y ces quelques lignes :

AuthType Basic AuthName "zone protégée"


AuthUserFile c:/www/apache-2.2/users/passwords
AuthGroupFile c:/www/apache-2.2/users/groups
Require group admins
Quelques explications.
AuthType détermine le type d'authentification.
AuthName détermine le texte s'affichant sur la fenêtre d'authentification.
AuthUserFile spécifie le chemin absolu (avec des slashs /) du fichier de mots de passe.
AuthGroupFile spécifie le chemin absolu (avec des slashs /) du fichier de groupes. Cette ligne est inutile si vous
n'indiquez pas de groupes après Require
Require indique quels sont les utilisateurs autorisés à accéder au répertoire. Il peut être suivi de group, user ou
valid-user (tout en minuscules).
user indique le ou les utilisateurs autorisés (séparés par des espaces).
group indique le ou les groupes autorisés aussi séparés d'espaces.
valid-user indique que tout utilisateur présent dans le fichier de mots de passe est autorisé.
Maintenant, si vous tapez l'adresse http://127.0.0.1/AccesProtege une fenêtre d'identification doit apparaître vous
laissant 3 essais pour vous identifier. Vous devez donc entrer un nom et mot de passe appartenant au groupe admins :
abid ou sameh. Si les informations demandées ne sont pas valides, vous arriverez sur une page d'erreur.

Information : Par défaut, le fichier auquel se réfère le serveur Apache pour voir s'il y a des informations
supplémentaires de configuration de répertoire se nomme .htaccess Vous pouvez changer ce nom grâce à la
directive
AccessFileName du fichier httpd.conf. Vous pouvez mettre plusieurs noms, ceux-ci ayant une priorité allant de
gauche à droite comme avec DirectoryIndex. Comme sous les systèmes Unix, on met un point (.) en début du nom de
fichier : sous ces systèmes, ces fichiers sont cachés. Apache ne les affichera pas même sous windows.
Là n'est pas la seule utilisation du fichier .htaccess, vous pouvez aussi définir les pages d'erreurs propres à un
répertoire, protéger un fichier par mot de passe, définir les pages d'index, les types Mime
MERCI POUR VOTRE ATTENTION