Vous êtes sur la page 1sur 3

Installation et configuration dun serveur Web Apache

Objectifs du TP
Configurer, lancer et administrer le serveur Web Apache sous Linux
Machines sous Linux
Fichiers de configuration et de lancement du serveur Web Apache

I - Prsentation dApache
Un serveur HTTP - ou serveur Web - est un programme qui sexcute en arrire-plan et qui attend
quun client (navigateur) lui envoie une demande de connexion pour y rpondre.
Lorsquun client est connect, le serveur traite les requtes du client (envoie des informations
demandes : page HTML, image ).
Apache 2 est le serveur HTTP le plus utilis actuellement. Sa configuration et sa flexibilit le rendent
incontournable. Lorsquun serveur Apache reoit des requtes, il peut les redistribuer des processus
fils. La configuration permet de lancer des processus de manire anticipe et den adapter
dynamiquement le nombre en fonction de la charge.
Apache peut grer plusieurs sites Web en mme temps, ayant chacun son propre nom , laide des
htes virtuels.

II - Installation du serveur Apache


Afin de pouvoir utiliser Apache, il faut au pralable installer tous les fichiers dont il a besoin. Pour la
distribution Linux Fedora, l'installation se fait en gnral via des paquetages ddis appels 'rpm'.
L'installation d'un paquetage rpm place les bons fichiers aux bons endroits sur la machine cible.
l'inverse, une dsinstallation supprime tous les fichiers installs et laisse le systme tel qu'il tait avant
l'installation :
Pour installer un paquetage rpm : rpm -ivh nom_du_paquetage.rpm

Fedora fournit aussi un gestionnaire de paquets yum qui permet de tlcharger des paquetages rpm
depuis un dpt internet et de les installer ainsi dune faon trs simple et dynamique.

III - Fichiers de configuration du serveur Apache


Le fichier de configuration principale dapache est /etc/httpd/conf/httpd.conf.
Ce fichier est organis sous forme de directives dfinissant les paramtres gnraux du serveur web.
Il nest pas possible de lister toutes les directives du fichier httpd.conf mais quelque unes sont
importantes :
DocumentRoot : dfinit lemplacement de la racine du serveur ou sont placs les fichiers du
site web hberg par le serveur. La valeur par dfaut est /var/www/html.
ServerRoot : rpertoire contenant les fichiers du serveur
Listen : ports sur lesquels le serveur Apache coute. Par dfaut 80
ServerAdmin : adresse de courrier lectronique de ladministrateur
ServerName : nom dhte du serveur. Il ne correspond pas forcment au nom de la machine.
Par contre, il doit tre valide, par exemple www.mondomaine.org
ErrorLog : fichier o des logs derreur du serveur. /var/log/httpd/error_log.
CustomLog : fichier journal dApache. /var/log/httpd/access_log.

IV - Lancement/Arrt/Test du serveur Apache


Lorsquil est install, Apache est lanc comme un service de la station grce au script de dmarrage
/etc/init.d/httpd. Ainsi, pour grer le serveur Apache on peut soit utiliser la commande service ou
invoquer directement le script de dmarrage (il faut tre root).
/etc/init.d/httpd start ou service httpd start : dmarre ;
/etc/init.d/httpd stop ou service httpd stop : stoppe ;
/etc/init.d/httpd restart ou service httpd restart : redmarre ;

Il existe plusieurs mthodes pour vrifier le bon lancement du serveur Apache :


Utilisation de la commande service httpd status
V - Configuration de base du serveur Apache
Configurez votre serveur de noms si ce n'est pas fait, puis modifiez le fichier de configuration laide
de lditeur vi :
Exemple:
ServerAdmin : root@maroc.ma
ServerName : www.maroc.ma

Testez en lanant votre navigateur sur http://www.ista.ma

VI - Virtual Host
"L'hte virtuel" se rfre la pratique de maintenir plus d'un serveur sur une seule machine, ceux-ci
tant diffrencis par leur nom d'hte apparent. Par exemple, il est souvent dsirable, pour des socits
partageant un serveur web, d'avoir leurs propres espaces avec des serveurs accessibles comme
www.company1.com et www.company2.

La mise en place de serveurs web virtuels, permet de faire cohabiter plusieurs serveurs sur un mme
hte. Nous verrons qu'il y a plusieurs techniques pour faire cela.
On va utiliser l'adresse ip de maroc.com pour les url www.maroc1.ma et www.maroc2.ma . Ce sont
deux zones de dploiement de site web diffrentes, sur un mme serveur HTTP.

Modification du fichier de configuration :

#Site secondaire de domain1


<VirtualHost 192.168.0.1>
ServerAdmin root@maroc1.ma
DocumentRoot /var/www/html/site1
ServerName www.maroc1.ma
</VirtualHost>

<VirtualHost 192.168.0.1>
ServerAdmin root@maroc2.ma
DocumentRoot /var/www/html/site2
ServerName www.maroc2.ma
</VirtualHost>
C'est termin, les requtes sur :

http://www.domain2.ma
http://www.domain3.ma
Doivent retourner les bonnes pages.

VII- Authentification
Lauthentification est un principe simple. Elle permet de limiter laccs un site Web des utilisateurs
autoriss. Pour ce faire, il faut dabord crer une base de donnes des utilisateurs avec un mot de passe
pour chacun deux. Puis ensuite, modifier le fichier de configuration dApache de faon activer
lauthentification sur les rpertoires protger.

1- Cration des mots de passe

La base de donnes contenant les mots de passe des utilisateurs est stocke dans un fichier dont le
format est semblable celui du fichier /etc/passwd de Linux. Ce fichier est gr laide de la
commande htpasswd et doit tre cr lextrieur du rpertoire point par DocumentRoot.
Lexemple suivant prsente la cration du fichier laide de la commande htpasswd :

#htpasswd c /var/www/html/MotDePasse user

Le fichier est lisible et modifiable avec un diteur de texte mais les mots de passe sont crypts.
2- Directive dauthentification
a. Fichier .htaccess

La configuration du serveur consiste dfinir un espace dans lequel lauthentification est ncessaire.
Ceci est effectu dans un bloc <Directory> en spcifiant les directives suivantes :

#vi .htaccess
AuthTypeBasic
AuthNameuser
AuthUserFile/var/www/html/MotDePasse
requirevaliduser

AuthType :
Cette directive slectionne le type d'authentification pour un rpertoire. Seul le type Basic est
actuellement implment.
AuthName
Cette directive indique le nom du schma d'autorisation.
AuthUserFile
La directive AuthUserFile dfinit le nom du fichier texte dans lequel est enregistre une liste de noms
d'utilisateurs et des mots de passe qui leur sont associs dans le but d'une authentification d'accs.
nomFichier est le chemin d'accs absolu au fichier d'utilisateurs. Chaque ligne de ce fichier spcifie un
nom d'utilisateur suivi d'un deux-points, puis du mot de passe.
AuthGroupFile
La directive AuthGroupFile dfinit le nom du fichier texte contenant la liste des groupes d'utilisateurs
destine servir de base l'authentification d'accs.
require
Cette directive choisie quels utilisateurs autoriss peuvent accder un rpertoire.
require valid-user : Seuls les utilisateurs des groupes cits peuvent accder au rpertoire.

Dans le fichier /etc/httpd/conf/httpd.conf cest la directive AccessFileName qui permet de dfinir le


nom du fichier qui sera reconnu comme tant un fichier de restriction d'accs. Par dfaut, c'est
.htaccess :

AccessFileName.htaccess

De plus, il est parfois ncessaire de modifier la directive AllowOverride de faon autoriser


lutilisation des fichiers .htaccess. Voici un exemple :

AllowOverride All