Vous êtes sur la page 1sur 16

Serveur Web

apache
Serveur web

• Serveur web ou serveur httpd : logiciel qui offre des pages Web aux clients

en se basant sur le protocole http.

• Il est capable d'interpréter les requêtes http arrivant sur le port associé au

protocole HTTP (port 80 par défaut) et de fournir une réponse avec ce

même protocole.
Principaux serveurs Web

• Apache (Unix / Linux)

(67 % environ de parts de marché)

• MIIS (Windows)

Microsoft Internet Information Server (21 % environ de parts de marché)

• Java Web Server (Unix/ Linux / Windows)

• Jakarta-Tomcat (qui cohabite avec Apache)

• …
Répartition des serveurs sur le marché
Serveur web apache
• Apache est un serveur web qui peut être installer sur une large variété de
plateformes :
‒ Unix
‒ Linux
‒ MAC
‒ Windows …
• Il est distribué sous une licence "Open source" ce qui implique :
‒ Qu'il est gratuit.
‒ Qu'il est librement réutilisable et distribuable (même pour développer
des produits ou des services commerciaux) sous réserve de respecter les
termes de sa licence.
‒ Que le code source du programme est accessible à tout le monde.
Les versions d'Apache

Apache est disponible en deux versions majeures :

- Les versions 1.3 : cette version est destinée aux système d’exploitation

Unix/Linux

- Les versions apache 2 : ces versions apportent plusieurs améliorations,

la plus importante est le support de plusieurs plates-formes (Windows,

Linux et UNIX, …)
Installation d’apache sous linux
Il existe trois méthodes d'installation d'Apache sous Linux.
• Pendant l'installation du système
‒ la plus simple et la plus aboutie.
‒ Il s'agit d'installer Apache pendant l'installation même du système.
• Installation avec les paquetages
‒ Il s'agit ici d'installer le paquet compilé d'Apache. Ce paquet est
disponible sur les CDs du système. Mais, il est aussi téléchargeable sur
différents sites des distributions.
‒ Sous Red Hat et Fedora Core, Le paquet d'Apache y est désigné par
httpd.rpm.
• Compiler les fichiers sources
‒ Les sources sont compressées sous les extensions .tar et / ou .gz. Ils
sont téléchargeables sur Internet.
Configuration d’apache sous Linux
Le principale fichier de configuration du serveur apache est httpd.conf situé dans le
répertoire /etc/httpd/conf/
Ce fichier contient plusieurs directives regroupées en trois grandes sections.
• Section 1: Environnement global
Permet de contrôler le fonctionnement du serveur apache
• Section 2: Configuration du serveur
Définit les paramètres du site principal (par défaut)
• Section 3: Hôtes virtuels
Permet d’avoir plusieurs hôtes virtuels  plusieurs sites web sur la même
machine
RQ : pour vérifier la syntaxe de ce fichier, utilisez la commande httpd -S
Configuration d’apache sous Linux
• Section 1: Environnement global
‒ ServerRoot : emplacement des fichiers de configuration et des fichiers journaux
d'Apache ( par défaut "/etc/httpd" ).
‒ Timeout : désigne, en secondes le temps mort maximal requis entre une réception
d’une requête et L’ émission d’une réponse.
‒ Listen : indique l’interface et le N° de port (Par défaut 80) sur lesquels apache doit
écouter (exemple listen 172.16.1.1:80 ou listen 80).
‒ User : utilisateur propriétaire du processus apache (Par défaut apache)
‒ Group  : groupe propriétaire du processus apache (Par défaut apache)
‒ KeepAlive : permet d’activer ou non la fermeture de connexion entre un client et
un serveur après une requête  si elle est à on, on peut avoir plusieurs requêtes
en une seule connexion.
‒ MaxKeepAliveRequest : nombre Max de requêtes par connexion.
Configuration d’apache sous Linux
• Section 2 : Configuration du serveur
– ServerAdmin  root@localhost : désigne l'adresse e-mail de l'administrateur

– ServerName nom_serveur : indique le nom DNS du serveur. On pourrait aussi y mettre

son adresse (par exemple : 192.168.2.12).


– DocumentRoot "/var/www/domaine" : emplacement des fichiers html ou tout autre

contenu web (images, videos, …)


– DirectoryIndex index.html index.shtml index.php : définit les fichiers qui s'exécutent

automatiquement lorsqu'on entre dans un répertoire. C'est fait par ordre de priorité.


– ErrorLog : emplacement des fichiers d’erreurs

– LogLevel : indique les évènements à stocker dans les fichiers journaux.


Configuration d’apache sous Linux
• Section 3: Hôtes virtuels
permet l'hébergement de plusieurs sites Web sur un seul serveur.
Dans le cas où vous désirez mettre plusieurs sites Web en fonction sur un même serveur,
il est nécessaire de mettre en place un moyen qui permettra de les différencier.
Il existe trois possibilités pour différencier vos sites Web :
– L'adresse IP : affectez une adresse IP différentes à chaque sites. intéressant au
niveau sécurité. Si vous mettez votre site Intranet et votre site Web publique sur le
même serveur, vous aurez la possibilité de définir sur le routeur de l'entreprise une
liste d'accès qui permettra au IP venant de l'extérieur d'accéder à l'IP du site Web
Publique mais pas celle de l'intranet. Spécifiez l'adresse IP à laquelle le site Web
devra répondre ou laissez « (Toutes non attribuées) » pour que le site réponde à
toutes les adresses que possède ce serveur.
Configuration d’apache sous Linux

– Le port : le port 80 est attribué par défaut au site Web mais pour permettre de
distribuer plusieurs sites sur la même adresse, il est possible d'attribuer un port
différent par site. Si vous voulez affecter un autre port que le Port 80, vous
devez choisir un port supérieur à 1023 pour ne pas créer de conflit avec les
autres protocoles.
– L'en-tête d'hôte : Permet d’associer les sites Web à l'adresse URL qui va les
nommer, ex «www.ofppt.org, www.ista.ma, … ».
Configuration d’apache sous Linux

• Section 3: Hôtes virtuels

– NameVirtualHost : permet d'indiquer au serveur web Apache sur quel (s)


couple IP:port il doit attendre les requêtes destinées à un hôte Virtual.
Exemple
NameVirtualHost 192.168.1.10:2000
‒ ServerName : indique l'URL (nom DNS) du site Web hébergé.
‒ ServerAdmin, DocumentRoot : mêmes fonctionnalités que celles déjà
vues. 
Configuration d’apache sous Linux

• Hôtes virtuels basés sur le nom


NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin votre-mail@monsite1.ma
ServerName www.monsite1.ma
ServerAlias monsite1.ma
DocumentRoot /var/www/monsite1
</VirtualHost>

<VirtualHost *:80>
ServerAdmin votre-mail@monsite2.ma
ServerName www.monsite2.ma
ServerAlias monsite2.ma
DocumentRoot /var/www/monsite2
</VirtualHost>
Configuration d’apache sous Linux
• Hôtes virtuels basés sur le port

Listen 80

Listen 8080

NameVirtualHost *:80

NameVirtualHost *:8080

<VirtualHost *:80>
DocumentRoot /var/www/virtual1
ServerName www.virtual1.com
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot /var/www/virtual2
ServerName www.virtual2.com
</VirtualHost>
Configuration d’apache sous Linux
• Hôtes virtuels basés sur l'adresse IP

NameVirtualHost 192.168.1.1:80

NameVirtualHost 192.168.2.1:80

<VirtualHost 192.168.1.1:80>
DocumentRoot /var/www/virtual1
ServerName www.virtual1.com
</VirtualHost>

<VirtualHost 192.168.2.1:80>
DocumentRoot /var/www/virtual2
ServerName www.virtual2.com
</VirtualHost>

Vous aimerez peut-être aussi