You are on page 1of 21

Administration

Rseau Linux HTTP Server APACHE

Installation dun serveur HTTP (Hypertext Transfer


Protocol) sous Dbian 6

1
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE

Table des matires


Installation dun serveur HTTP (Hypertext Transfer Protocol) sous Dbian 6 ................ 1
Serveur HTTP ou Serveur WEB .................................................................................... 3
Le modle Client-Serveur ................................................................................................. 3
Le serveur Web Apache ......................................................................................................... 9
Larborescence du serveur Web Apache2 ......................................................................... 9
1 Mise en uvre Topologie et versions utilises...................................................... 11
2 Installation et Configuration du serveur WEB Apache 2 ....................................... 12
Installation de plusieurs serveurs web (Virtual Hosts) sur une instance Apache2 .......... 12
3 Vrification du fonctionnement du server HHTP WEB Apache 2.18

2
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE

Serveur HTTP ou Serveur WEB

Le serveur Web s'inscrit dans l'architecture informatique dite client-serveur.


Son rle est de " servir " des pages Web sur la demande d'un internaute utilisant un logiciel
client Web dont la dnomination usuelle est navigateur Web. Pour cela, il met en uvre le
protocole correspondant, HTTP.
Un ordinateur faisant office de serveur Web ou excutant, entre autres processus serveurs, un
processus serveur Web, doit tre reli par une connexion permanente Internet, avec une
adresse IP fixe, de sorte que les sites Web qu'il sert soient disponibles en permanence.
On peut galement parler de serveur Web pour dsigner un serveur de pages HTML ne
fonctionnant que sur un rseau local, sans liaison directe Internet.
Mais si l'on veut tre rigoureux, il vaut mieux dans ce cas parler de serveur HTTP.
Les moyennes et grandes entreprises disposent en gnral de leur propre serveur Web, tandis
que les travailleurs indpendants et les particuliers font hberger leurs pages Web chez leur
FAI.
Une solution intermdiaire est galement propose par les Fournisseurs de Services Internet
(FSI), notamment l'intention des PME : l'hbergement d'un ordinateur serveur Web
entirement rserv lentreprise.

Le modle Client-Serveur
Cest la description du fonctionnement coopratif entre le serveur et le client. Les services
internet sont conus selon cette architecture. Ainsi, chaque application est compose de
logiciel serveur et logiciel client. A un logiciel serveur, peut correspondre plusieurs logiciels
clients dvelopps dans diffrents environnements: Unix, Mac, PC; la seule obligation est
le respect du protocole entre les deux processus communicants. Ce protocole tant dcrit dans
un RFC (Request For Comment).
Larchitecture client/serveur dsigne un mode de communication entre des ordinateurs et des
logiciels. Les mots serveur et client dsignent les logiciels de type serveur et client
dans cette architecture, logiciels fonctionnant sur les ordinateurs quon nomme par abus de
langage serveur informatique et poste client.

Le serveur est lcoute dun rseau informatique, prt rpondre aux requtes
envoyes par des clients.

Les clients sont gnralement pilots par des utilisateurs. Ils prennent linitiative
denvoyer des requtes au serveur, puis attendent la rponse pour la donner, le cas
chant, lutilisateur.

3
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE

Un serveur est capable de servir plusieurs clients simultanment, jusqu plusieurs


milliers.

Le serveur et le client utilisent le mme protocole de communication.


Larchitecture client/serveur correspond la gnralisation des ordinateurs de type PC dans
les entreprises (dans les agences, les points de vente, ) et est une architecture deux
niveaux :

les rgles de gestion, les traitements et les accs aux donnes sont raliss sur le serveur
central,

les contrles de saisie, les enchanements des dialogues sont effectus sur les postes
client.
Ce modle minimise les flux sur le rseau et tire parti de la puissance des machines locale et
centrale.

Caractristiques de larchitecture Client-Serveur :


On peut essayer de prciser ce que lon entend par modle client-serveur, bien quil ny ait
pas de consensus sur une dfinition, en donnant les caractristiques suivantes :
Service :
Le serveur est fournisseur de services. Le client est consommateur de services.
Protocole :
Cest toujours le client qui dclenche la demande de service. Le serveur attend passivement
les requtes des clients.
Partage des ressources :
Un serveur traite plusieurs clients en mme temps et contrle leurs accs aux ressources.
Localisation :
Le logiciel client-serveur masque aux clients la localisation du serveur.
Htrognit :
Le logiciel client-serveur est indpendant des plates-formes matrielles et logicielles.

4
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


Redimensionnement :
Il est possible dajouter et de retirer des stations clientes. Il est possible de faire voluer les
serveurs.
Intgrit :
Les donnes du serveur sont gres sur le serveur de faon centralise. Les clients restent
indpendants.
Souplesse et adaptabilit :
On peut modifier le module serveur sans toucher au module client. La rciproque est vraie. Si
une station est remplace par un modle plus rcent, on modifie le module client (en
amliorant linterface, par exemple) sans modifier le module serveur
Prsentation de larchitecture Client-Serveur :
Dans larchitecture client-serveur, une application est constitue de trois parties : linterface
utilisateur, la logique des traitements, et la gestion des donnes. Le client nexcute que
linterface utilisateur (interfaces graphiques de type Windows) et la logique des traitements
(formuler la requte), laissant au serveur de bases de donnes la gestion complte des
manipulations de donnes. Le qui apparat dans client-serveur correspond tout un
ensemble complexe de logiciels appel middleware qui se charge de toutes les
communications entre les processus. Nous essayons maintenant de donner les principales
volutions en cours dans le domaine des systmes dinformation, bases sur le modle clientserveur.
Les deux types de rseaux les plus frquents sont :

Le rseau local sans serveur, connexion de poste a poste

les rseaux organiss autour dun serveur (Client/Serveur)

Ces deux types de rseau ont des capacits diffrentes.


Serveurs : ordinateurs spcialis dans la fourniture et le stockage des ressources partages des
utilisateurs du rseau
Clients : ordinateurs qui accdent aux ressources partages fournies par un serveur du rseau.
Le type de rseau installer dpend des critres suivants :

Taille de lentreprise ou de lorganisation

Niveau de scurit ncessaire

Type dactivit

Volume du trafic sur le rseau

Besoins des utilisateurs du rseau

Budget (disposition financire)

5
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE

Fonctionnement du Serveur HTTP :

Le principe de base est une connexion de type client/serveur : un client (le navigateur) se
connecte sur un serveur, met une requte et le serveur rpond. La connexion est une simple
ouverture de socket TCP/IP gnralement sur port 80, mais on utilise aussi de temps en temps
le port 8080 (pour les connexions sur proxy, par exemple).

Le protocole le plus utilis pour communiquer avec un serveur Web sur Internet est le protocole
HTTP (Hyper Text Transfer Protocole). Il dfinit les rgles de communication entre un client
(navigateur) et un serveur Web.
La requte la plus simple du protocole HTTP est forme de GET suivi d'une URL qui pointe
sur des donnes (fichier statiques, traitement dynamique...).
Elle est envoye par un navigateur quand nous saisissons directement une URL dans le
champ d'adresse du navigateur.
Le serveur HTTP rpond en renvoyant les donnes demandes.

6
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE

En dtail :

En tapant l'URL d'un site, l'internaute envoie (via le navigateur) une requte au serveur.
Une connexion s'tablit entre le client et le serveur sur le port 80 (port par dfaut d'un serveur
Web).
Le navigateur envoie une requte demandant l'affichage d'un document. La requte contient
entre autres la mthode (GET, POST, etc.) qui prcise comment l'information est envoye.
Le serveur rpond la requte en envoyant une rponse HTTP compose de plusieurs parties,
dont :l'tat de la rponse, savoir une ligne de texte qui dcrit le rsultat du serveur (code 200
pour un accord, 400 pour une erreur due au client, 500 pour un erreur due au serveur) ,les
donnes afficher.
Une fois la rponse reue par le client, la connexion est ferme. Pour afficher une nouvelle
page du site, une nouvelle connexion doit tre tablie.

Avant de commencer :
Un serveur HTTP ou daemon HTTP est un logiciel servant des requtes respectant le
protocole de communication client-serveur Hypertext Transfer Protocol (HTTP), qui a t
dvelopp pour le World Wide Web.

7
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


HTTP : est le protocole du web qui est en charge de transfrer les pages web du serveur vers
le navigateur. Il transmet galement au serveur les informations saisies dans un formulaire.
URL : Uniform Resource Locator, indication dun emplacement dun document et le service
permettant dy accder.
Syntaxe : <protocole>//<adresse du serveur >: <port >/ <chemin du document>
HTML : HyperText Markup Language, est un langage de prsentation de document, travers
des balises ou tags qui sont mlanges avec le texte du document.
Cest le logiciel du navigateur qui interprte un code source HTML et qui affiche la page.
Possibilits de HTML :
1. Structurer un document : titres, sous-titres, paragraphes, listes.
2. Enrichir un document : gras, soulign, italique.
3. Inclure des liens hypertextes.
4. Inclure des rfrences des donnes multimdia : image,son, vido
5. Crer des formulaires.

<HTML>
< ! - - commentaire - - >
<HEAD>
<TITLE> Le titre </TITLE>
</HEAD>
<BODY>
<H1> Trs Gros Titre</H1>
<p> Le corps de la page : ce qui apparat dans la fentre du
navigateur <p>
</BODY>
</HTML>

<HTML> . . . . . </HTML> Dlimite un document HTML


<HEAD> . . . . . </HEAD> len-tte du document
<BODY> . . . . . . </BODY> le corps du document
Les spcifications du style du document : police de caractres, couleurs, emplacement sont
exclues du document HTML et mises dans un document CSS (Cascading Style Sheets), qui
prend en charge laspect du site (feuille de style).

8
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


Le serveur Web Apache
Larborescence du serveur Web Apache2

Les fichiers de paramtrage se trouvent sous linux dans le rpertoire /etc/apache2, les
fichiers de donnes (les pages web) dans /var/www et les fichiers logs dans
/var/log/apache2.
apache2.conf -> fichier de base du serveur, contient des includes (voir plus bas)
conf.d -> paramtrage du serveur dune manire globale : par exemple pour la scurit, le
caracter-set
envvars -> les variables environnement
httpd.conf -> fichier prsent uniquement pour la compatibilit avec certains logiciels qui
ont besoin de voir ce fichier, mme vide. Plus utilis.
magic -> permet de dfinir le type de fichier daprs son extension, pour que le serveur
adapte sa
rponse au client (choix du type MIME renvoy, la langue,..)
mods-available -> les modules supplmentaires disponibles
mods-enabled -> les modules supplmentaires activs
.htaccess -> fichier de configuration dynamique du serveur. Son emplacement spcifie le
rpertoire quil paramtre.
ports.conf -> pour dfinir et ajouter des ports dcoute du serveur
sites-available -> les fichiers de configuration des sites disponibles, mais pas en ligne
sites-enabled -> les fichiers de configuration des sites en ligne
commenter default port * :80
Un des points forts dApache est son architecture modulaire.
Il est facile dajouter ou de supprimer des modules selon les besoins : database, langage de
programmation du style Python, Perl, PHP, Java, .
Aprs chaque modification des fichiers de configuration, redmarrer le serveur avec la
commande :
# service apache2 reload
Le chargement des fichiers se fait par include dans le fichier apache2.conf

Include
serveur
Include
Include
Include
Include
Include

mods-enabled/*.load -> le chargement du module dans le


mods-enabled/*.conf -> le fichier de paramtrage du module
httpd.conf
ports.conf
conf.d/
sites-enabled/

9
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE

apache.conf

mods-enabled/*.load
authnz_ldap.load
cgi.load
dump_io.load
ldap.load

Include mods-enabled/*.load

mods-enabled/*.conf
proxy.conf
ssl.conf
setenvif.conf

Include mods-enabled/*.conf

httpd.conf

Include httpd.conf
Include ports.conf
Include conf.d/

Include sites-enabled/

ports.conf
NameVirtualHost*:80
Listen80
<IfModulemod_ssl.c>
Listen443
</IfModule>
<IfModulemod_gnutls.c>
Listen443
</IfModule>
conf.d/
Charset
localized-error-pagesothervhosts-access-logsecurity

sites-enabled/
000-default

10
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE

1 Mise en uvre Topologie et versions utilises


Linstallation sera effectue sous Linux Dbian 2.6.32-5-amd64.


La version du serveur Apache sera la 2.2

11
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


2 Installation et Configuration du serveur WEB Apache 2
# aptitude install apache2
En installant le service Apache2, un service web de base est dj disponible en ligne dans le
fichier /etc/apache2/sites-enabled/000-default.
Il suffit dajouter et de modifier les pages HTML dans le rpertoire /var/www pour donner
forme votre site.
En tapant ladresse de votre serveur web dans votre navigateur web vous devriez obtenir
le message : it

works !!

Installation de plusieurs serveurs web (Virtual Hosts) sur une instance Apache2
Sources : http://httpd.apache.org/docs/2.2/fr/vhosts/ip-based.html
Un Virtual Host est un serveur web servi par Apache2.
Les Virtual Hosts sont grs comme des modules.
Chaque site obtient un fichier de configuration qui lui est propre.
En ajoutant une adresse IP (alias) une interface virtuelle, on peut crer plusieurs serveurs
virtuels.

Penser adapter les fichiers de configuration votre propre infrastructure !!!

12
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


Cration des interfaces virtuelles dans linux :
Dans le fichier /etc/network/interfaces ajouter (aprs linterface eth0) 2 interfaces eth0:0 et
eth0:1 en y adressant les paramtres IP :

Informations a jouter
manuellement :
- adresse IP de linterface
- masque de sous rseau
- passerelle par dfaut
- adresse de diffusion
- adresse IP du rseau
- adresse IP du serveur DNS
principal

- Les deux interfaces virtuelles

Activer les deux interfaces virtuelles



# ifup eth0:0
# ifup eth0:1

Puis vrifier avec la commande ifconfig que les 3 interfaces sont bien disponibles.

13
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


Le rpertoire /etc/apache2/sites-available vous permet de prparer les sites avant de les
mettre en ligne.
Le plus simple est dutiliser le fichier par dfaut (default, le Default Virtual Host), de le
copier et de le modifier selon vos besoins.
Nous prenons pour exemples les noms de www2 et www3 pour nos deux sites virtuels.
Crer un fichier www2 dans le rpertoire /etc/apache2/sites-available .
Les adresses IP utiliser sont celles configures prcdemment dans le fichier
/etc/network/interfaces : eth0:0 , eth0:1

Le premier site web virtuel www2 :

Dans ce fichier vous retrouvez :


- ladresse IP du 1er serveur web virtuel www2 accessible sur le port 80 (http)
- ladresse email de ladministrateur systme
- le rpertoire de stockage du serveur web www2
- le nom par lequel le serveur sera accessible ( rpertoire.nom-de-votre-domaine)
- lemplacement des fichiers de log
Le deuxime site web virtuel www3 :

14
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


Pour activer les 2 sites taper la commande suivante :
# a2ensite www2
# a2ensite www3

Dans le fichier /etc/hosts ajouter les 2 adresses :

- adresses IP des 2 serveurs web


Respecter la syntaxe IP <TAB>ADRESSE-DU-SERVEUR<TAB>Nom du serveur web
Crer les rpertoires /var/www/www2 et /var/www/www3
Copier le fichier index.html qui se trouve dans /var/www dans chacun de ces rpertoires.

15
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


Puis modifier le fichier index.html comme ceci par exemple pour le www2 :

cd /var/www/www2
# cat index.html

<html><body><h1>Bienvenue sur ce site www2 de grp5.info-msj.net</h1>


<p>Page par dfaut pour site www2.grp5.info-msj.net</p>
</body></html>

Modifier ensuite le fichier /etc/apache2/ports.conf :

- ladresse IP des 2 serveurs web virtuels www2 et www3 accessibles sur le port 80 (http)

16
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE

Ajouter maintenant les enregistrements A et PTR dans le serveur DNS (dans les 2 fichiers de
votre zone) des 2 serveurs web :

Lancer enfin le service apache :


# service apache2 restart

17
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


3 Vrification du fonctionnement du server HHTP WEB Apache 2
La commande dig permet de vrifier la bonne rsolution des 2 serveurs web par le serveur
DNS

18
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


Effectuer un ping sur les 2 adresses IP des serveurs web pour tester leur bonne accessibilit :

Tester enfin sur le navigateur web laccs au site www2 et www3 :


Avec ladresse www2.xxxxxxx.xxx

Avec ladresse IP du serveur :

19
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE


Enfin analyse des requtes http de laccs au site web :

- Adresse source Client


- Adresse serveur WEB
- Requte GET
- URL demande

20
BERNIER Franois AFPA Formation TSGERI 2012-2013

Administration Rseau Linux HTTP Server APACHE

Rponse du serveur HTTP/1.1 200 OK

Contenu de la page index.html

21
BERNIER Franois AFPA Formation TSGERI 2012-2013