Vous êtes sur la page 1sur 11

Plan

Protocole HTTP

Gnralits dApache

Installation et Configuration dApache

Administration dApache

Htes virtuels

HTTP

HTTP est un protocole de niveau


applicatif qui permet la transmission de
documents distribus et multimdia
travers le web

HTTP

HTTP

Historique

1991 : HTTP/0.9
1997 : HTTP/1.0
2000 : HTTP/1.1

Mode de fonctionnement : Client/Serveur

Utilise en gnral le protocole TCP

Port par dfaut 80

Une seule Connexion TCP pour chaque requte (http1.0)

Fermeture de la connexion aprs la rponse du serveur.

Possibilit dexcuter plusieurs requtes sur la mme connexion


(HTTP1.1)
Serveur

Client
Requte HTTP

Internet
Rponse HTTP
4

HTTP: Requte du client

La requte du client est compose

Mthode url version

Ligne obligatoire

Champ entte

Principales mthodes

Entte

Plusieurs lignes indiquant les caractristiques du client

Mthode

Description

GET

Requte de la ressource situe l'URL spcifie

HEAD

Requte de la ressource situe l'URL spcifie (la


rponse ne contient que lentte, et pas le contenu
de la ressource)

POST

Envoi de donnes au programme situ l'URL


spcifie (le corps de la requte peut tre utilis)

PUT

Envoi de donnes l'URL spcifie (idem POST)

DELETE

Suppression de la ressource situe l'URL spcifie

Corps

HTTP: Requte du client

Peut tre vide

Lentte et le corps sont spars par une ligne vide

HTTP: Requte du client

HTTP: Requte du client

Principaux champs

Principaux champs

Champ

Description

Champ

Description

Accept

Type de contenu accept par le navigateur (par


exemple text/html, ce sont les codes MIME).

From

Permet de spcifier l'adresse e-mail du client

Content-Length

Longueur du corps de la requte

Referer

URL du lien partir duquel la requte a t effectue

Content-Type

Type de contenu du corps de la requte (par


exemple text/html).

If-Modified-Since

Dernire date de rception du contenu de la ressource

Date

Date de dbut de transfert des donnes

Host

Nom du serveur/domaine de destination

Cookie

Valeur du cookie envoy par le mme serveur

User-Agent

Forwarded

Utilis par les proxys entre le navigateur et le serveur

Chane donnant des informations sur le client, comme


le nom et la version du navigateur, du systme
d'exploitation

HTTP: Rponse du serveur

HTTP: Requte du client

Exemple
POST /script HTTP/1.0
Accept: www/source
Accept: text/html
Accept: image/gif
Accept: image/jpeg
User-Agent: Lynx/2.2 libwww/2.14
* une ligne vide *
name1=value1&
name2=value2

La rponse du serveur est compose de

Entte

Ligne de statut

Champs dentte

Lignes dinformations sur

Corps

Version-http code-rponse

Le contenu de la rponse (gnralement un fichier html)

Lentte et le corps sont spars par une ligne


vide.

10

11

HTTP: Rponse du serveur

HTTP: Rponse du serveur

Ligne de statut

La version du protocole HTTP du serveur (ex HTTP/1.1)

Code-rponse

Principaux champs dentte

Version-HTTP

Quatre classes de codes

1XX : Informationnels

2XX : succs de la requte

3XX : redirection

4XX : Invalides

12

Content-Lenght : cest la longueur du corps de la rponse


Content-Type : le type MIME du contenu du corps (ex
text/html
image/jpg.
Content-Encoding :Type de codage du corps de la rponse
Date : elle renseigne sur la date de dernire modification du
fichier
Location : la nouvelle adresse de la ressource en cas de
redirection (code 3XX)
Set-Cookie : permet d'indiquer au client des cookies
stocker
Server : Caractristiques du serveur ayant envoy la rponse

13

HTTP: Rponse du serveur

Gnralits dApache

Exemple

HTTP/1.0 200 OK
Date: Wed, 02Feb97 23:04:12 GMT
Server: NCSA/1.1
MIME-version: 1.0
Last-modified: Mon,15Nov96 23:33:16 GMT
Content-type: text/html
Content-length: 2345
* une ligne vide *
<HTML><HEAD><TITLE> ...

Objectifs dApache

Publication des fichiers statiques


Publication des fichiers dynamiques

Programmation web dynamique

CGI
PHP
ASP

Possibilit dinteragir avec des BDs

14

15

Gnralits dApache

Serveur HTTP modulaire

Facilit dextension
Charger juste les modules utiliss

Gnralits dApache
Compatibilit

Toutes les plates formes

Langages dynamiques (PHP, CGI, JSP)

Tous les systmes dexploitation

Environ 70% du march


Contraction de A Patchy Server

Unix, Linux, Windows, mac

Environnement de prdilection

16

PC, station de travail, mac

Unix, Linux
PHP
MySQL

17

Gnralits dApache

Installation

Autres serveurs web

Microsoft-IIS
Netscape-Enterprise
WebLogic
thttpd
AOLserver
WebSitePro

Choisir Apache lors de linstallation de la


partition Linux
Tlcharger et installer le serveur
Apache partir dun site officiel

Exemple

www.apache.org

18

19

Configuration dApache

Configuration dApache

A partir de la version 2 plusieurs fichiers


de configuration.

Configuration du mode de fonctionnement du


serveur

Chaque fichier configure une fonctionnalit


particulire.
Tous les fichiers sont inclus par la suite
dans le fichier de configuration principal
httpd.conf
Cette sparation facilite la lisibilit et la
comprhension.

Le serveur peut tre lanc selon deux modes

inetd

standalone

Plus utilis
Demande moins de ressources

Syntaxe

20

Demande plus de ressources


Plus scuris

ServerType inetd
ServerType standalone

21

Configuration dApache

Configuration dApache

Deux types de configuration

Configuration de lenvironnement du serveur

Configuration de lenvironnement du
serveur
Configuration des sites web

Lenvironnement du serveur est constitu de :

Lemplacement des fichiers de base


Le nombre de connexions autorises
User et Group

Deux classes de directives de lenvironnement du


serveur

Directives de configuration de base


Directives de configuration des connexions

22

Directives de configuration de base

23

Directives de configuration de base

Directive
Directive

Description

Description

ServerRoot

Rpertoire de base du serveur. C est--dire l o


est install le serveur.

LockFile

Ce fichier doit tre sur un disque local


obligatoirement. Vous ne devez changer cette
directive que si le ServerRoot est mont travers
le rseau.

PidFile

Le fichier contenant le pid d'Apache.

24

ScoreBoardfile

Fichier utilis pour stocker des informations


internes du processus d'Apache. Ce n'est pas
requis par toutes les architectures, et ce fichier
ne doit pas tre partag par plusieurs instances
diffrentes d'Apache.

User

Apache utilisera cet utilisateur lors de son


fonctionnement, une fois qu'il aura effectu
toutes les oprations o il doit tre root.

Group

Apache utilisera ce groupe lors de son


fonctionnement, une fois qu'il aura effectu
toutes les oprations o il doit tre root.
25

Directives de configuration des connexions

Directive

Description

Timeout

Dure de timeout

KeepAlive

Accepter plus d'une requte par connexion.

MaxKeepAliveRequests

Le nombre maximum de requtes par


connexion (0 pour illimit)

KeepAliveTimeout

Directives de configuration des connexions

Le nombre de secondes attendre pour la


requte suivante du mme client sur la mme
connexion

Directive
MinSpareServers
MaxSpareServers

Spcifie les limites pour le nombre de processus


serveurs faire tourner. Ces valeurs peuvent tre
dpasses pour faire face la charge et les
valeurs par dfaut sont correctes pour la majorit
des sites

StartServers

Le nombre de processus serveurs dmarrer


initialement.

MaxClients

Le nombre maximum de clients qui pourront se


connecter en mme temps. Si ce nombre est
atteint, les clients suivants seront bloqus

26

27

Configuration des sites web

Directives de configuration des connexions

Directive

Description

MaxRequestsPerChild

Le nombre maximum de requtes servi par un


processus avant qu'il ne meure. Ceci est utile pour
les plateformes (Solaris par exemple) sur lesquelles
Apache ou ses librairies ont des fuites de ressources.

Listen

Cest le port d' coute d'Apache. On peut ajouter


plusieurs ports ou des adresses IP.

DirectoryIndex

Cest la page qui sera lance l'ouverture du site.

Description

Pour chaque site web nous devons


prciser

28

Informations de base
Nom serveur
Rpertoire racine
Fichier de logs

Options des rpertoires


Droits daccs aux rpertoires

29

Configuration des sites web

Configuration des sites web


Informations de base

Syntaxe

Directive

ServerName webmaster
DocumentRoot rpertoire_racine
<Directory chemin_rpertoire>
Options <option1>
Order Allow,Deny
Allow From ALL
</Directory>

Description

ServerName

Cest le nom DNS du serveur, cette directive sert,


par exemple, lors de l'enregistrement DNS.

DocumentRoot

Indique le chemin vers le rpertoire contenant les


documents du site Internet que l'on veut publier.

ErrorLog

Chemin vers le fichier d'enregistrement des logs.

30

31

Arguments de la directive Options

Directive

Arguments de la directive Options

Directive

Description

Description

ExecCGI

Permet d'excuter les scripts CGI (Common Gateway


Interface) dans ce rpertoire. Ces scripts peuvent tre crits
et excuts dans n'importe quel langage, pourvu qu'Apache
sache comment les excuter. Par exemple pour utiliser des
scripts crits en Perl, il vous faudra charger le module
mod_perl.

Cette directive est semblable la prcdente, mais


elle ne permet pas dexcuter des scripts.

MultiViews

Permet la ngociation de contenu grce au module


mod_negociation.

Permet de suivre les liens symboliques dans le


rpertoire courant. Attention cela ne change pas le
chemin utilis pour les droits dfinis dans des blocs
Directory.

All

Permet d'activer toutes ces options sauf MultiViews qui doit


tre prcis explicitement.

None

Inverse de l'argument ail, c'est--dire que l'on enlve toutes


les options sur ce dossier.

Indexes

Permet aux clients d'afficher un listing du rpertoire,


donc de voir le contenu du rpertoire.

Includes

Permet d'inclure des fichiers ct serveur. Ceci est


utilisable grce au module mod_include.

IncludesNOEXEC
FollowSymlinks

32

33

Droits daccs aux rpertoires

Droits daccs aux rpertoires

Les deux directives allow et deny permettent


de spcifier les droits daccs pour

Un nom de domaine
Un sous rseau
Une machine
Une @IP
Tous (all)
Personne (none)

La directive Order dfinit lordre


dapplication de lautorisation et de
linterdiction

Order Allow, Deny

Spcifie dabord la liste autorise puis la liste


interdite

Order Deny, Allow

Spcifie dabord la liste interdite puis la liste


autorise

34

35

Droits daccs aux rpertoires

Administration dApache

Exemples

Allow 192.168.1.2 , 192.168.1.3


Allow from 172.16

Order Allow, Deny


Allow from 192.168.1
Deny from all

Le serveur Apache peut tre lanc et


administr en ligne de commande via
lutilitaire apachectl
Lutilitaire apachectl possdent
plusieurs arguments

36

start, stop, restart,

37

Administration dApache

Administration dApache

arguments d apachectl
Directive

arguments d apachectl

Description

start

lancement du serveur, les fichiers de configuration


sont tests avant le lancement

startssl

Lancement du serveur avec SSL activ.

stop

Arrt propre du serveur.

restart

Arrte et relance le serveur, s'il n'est pas en


fonctionnement,alors il est lanc. Les fichiers de
configuration sont tests avant le lancement.

configtest

Teste les fichiers de configuration pour des erreurs

Directive

Description

fullstatus

Affiche l'tat complet du serveur. Cela ncessite


que le mod_status soit activ et qu'un navigateur
texte de type lynx soit install.

status

Affiche l'tat du serveur. C'est la mme chose que


l'option prcdente, sauf que la liste des requtes
en cours n'est pas affiche.

graceful

Relance le serveur ou le lance s'il n'tait pas en


fonctionnement. Ce cas est diffrent de restart car
les requtes en cours ne sont pas annules, mais
le problme est que cela laisse les anciens fichiers
de logs ouverts, tant que les requtes ne sont pas
finies.

de typographie ou de syntaxe.
38

39

Htes virtuels

Htes virtuels

Apache permet de grer plusieurs sites


web sur un seul serveur
Deux manires de dfinir des htes
virtuels:

Htes virtuels par lAdressage IP

Le serveur dispose de plusieurs @IP


Chaque @ IP dessert un site web

Adressage IP
Rsolution de nom DNS.

40

41

Htes virtuels

Htes virtuels

Htes virtuels par lAdressage IP

Exemple

<VirtualHost 192.168.1.1>
ServerAdmin webmaster@localhost1
DocumentRoot /var/www/site1
ServerName www.site1.com
ErrorLog /var/www/site1/1ogs/error_log
<Directory /var/www/site1/>
</Directory>
</VirtualHost>

Htes virtuels par rsolution de nom

Le serveur dispose dune seule @IP


Le serveur possde plusieurs Alias dans le
serveur DNS

Un alias pour chaque site web

<VirtualHost 192.168.1.2>
ServerAdmin webmaster@localhost2
DocumentRoot /var/www/site2
ServerName www.site2.org
ErrorLog /var/www/site2/1ogs/error_log
<Directory /var/www/site2/>
</Directory>
</VirtualHost>

42

Htes virtuels

Htes virtuels par rsolution de nom

Exemple
NameVirtualHost 192.168.1.1:80
<VirtualHost 192.168.1.1:80>
ServerName www.site1.com
DocumentRoot /var/www/site1
</VirtualHost>
<VirtualHost 192.168.1.1:80>
ServerName www.site2.com
DocumentRoot /var/www/site2
</VirtualHost>

44

43

Vous aimerez peut-être aussi