Vous êtes sur la page 1sur 15

Serveur Web

apache
Serveur web

• Serveur web ou serveur httpd : logiciel qui sert 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 le 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.
– 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 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>
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 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>

Vous aimerez peut-être aussi