Configuration minimum d`un serveur HTTP Apache avec des virtual

Transcription

Configuration minimum d`un serveur HTTP Apache avec des virtual
Ecole Supérieure du canton de Neuchâtel
- filière informatique de gestion
1
1.1
Services applicatifs
Configuration minimum d’un serveur HTTP Apache avec des virtual hosts
Définition
Lorsque plusieurs serveurs Webs doivent tourner sur une seule et même machine, il est nécessaire de configurer des
serveurs virtuels par nom ou par IP. Pour plus de détail voir [2, 3, 1]
Notre cas d’étude définit les serveurs HTTP suivant :
http://www.entreprise.lan
vitrine de l’entreprise sur doc.entreprise.lan
https://ssl.entreprise.lan/wiki/
accès au wiki sur doc.entreprise.lan avec un canal
sécurisé
https://ssl.entreprise.lan/cms/
accès au CMS sur doc.entreprise.lan avec un
canal sécurisé
https://ssl.entreprise.lan/svn/
accès au système de suivi de versions avec un
canal sécurisé
https:
outil web d’administration de la base de données
//ssl.entreprise.lan/phpPgAdmin
https:
accès aux documents fichiers publics sur webdav
//ssl.entreprise.lan/pub/public/
https://ssl.entreprise.lan/pub/
accès aux documents fichiers de l’intranet sur
intranet/
webdav
http://wiki.entreprise.lan
adresse dirigée vers
https://ssl.entreprise.lan/wiki/
http://svn.entreprise.lan
adresse dirigée vers
https://ssl.entreprise.lan/svn/
on ajoutera encore
http://php.entreprise.lan
accès à un site php
1.2
Serveur virtuel www.entreprise.lan
1.2.1
Emplacement des données
– Créer les dossiers C :\www\www\htdocs et C :\www\www\logs (htdocs contient les pages du site et logs les journaux
d’exécution)
– Ajouter un fichier test.html dans C :\www\www\htdocs
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>test</title>
</head>
<body>
<h1>Ca marche, www.entreprise.lan!</h1>
<p>
<a href="http://validator.w3.org/check?uri=referer">
<img src="http://www.w3.org/Icons/valid-xhtml10"
alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
</p>
</body>
</html>
1
Dominique Huguenin
mailto:[email protected]
Ecole Supérieure du canton de Neuchâtel
- filière informatique de gestion
1.2.2
Services applicatifs
Configuration
– Créer le fichier $APACHE_HOME/conf/extra/www_entreprise_lan.conf contenant
<VirtualHost *:80>
DocumentRoot C:/www/www/htdocs
ServerName www.entreprise.lan
</VirtualHost>
– Ajouter dans $APACHE_HOME/conf/httpd.conf
...
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot C:/www/default/htdocs
ServerName doc.entreprise.lan
</VirtualHost>
Include conf/extra/www_entreprise_lan.conf
Le virtualHost doc.entreprise.lan est ajouté pour pouvoir continuer d’accéder aux pages du site doc.entreprise.lan.
Le premier VirtualHost défini est considéré le VirtualHost par défaut, c’est-à-dire que si le serveur reçoit une requête pour
un virtualhost inconnu, cette requête sera envoyé au VirtualHost par défaut.
1.2.3
Test
– ajouter temporairement dans le fichier C :\WINDOWS\system32\drivers\etc\hosts
...
127.0.0.1 www.entreprise.lan
– Vérifier la syntaxe du fichier de configuration avec la commande
$ cd $APACHE_HOME\bin
$ httpd -S
– redémarrer le serveur Apache
$ cd $APACHE_HOME\bin
$ httpd -k restart
– tester l’url http://www.entreprise.lan/test.html
1.3
Gestion des journaux d’accès et d’erreur
– Dans $APACHE_HOME/conf/httpd.conf, ajouter les modules et les directives permettant de configurer la structure d’un
ligne du journal.
...
LoadModule log_config_module modules/mod_log_config.so
...
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b" common
...
– Dans le fichier $APACHE_HOME/conf/extra/www_entreprise_lan.conf, ajouter les directives indiquant l’emplacement
des fichiers de journalisation pour ce VirtualHost.
2
Dominique Huguenin
mailto:[email protected]
Ecole Supérieure du canton de Neuchâtel
- filière informatique de gestion
Services applicatifs
<VirtualHost *:80>
ServerName www.entreprise.lan
DocumentRoot C:/www/www/htdocs
ErrorLog "C:/www/www/logs/error.log"
CustomLog "C:/www/www/logs/access.log" common
</VirtualHost>
– Vérifier la syntaxe du fichier de configuration avec la commande
$ cd $APACHE_HOME\bin
$ httpd -S
– redémarrer le serveur Apache
$ cd $APACHE_HOME\bin
$ httpd -k restart
– Faire des accès à site http://www.entreprise.lan
– Vérifier dans le fichier C :\www\www\logs\access.log, la présence des derniers accès.
1.3.1
Configuration de journaux d’accès circulaire 1
La directive ci-dessous permet de créer un nouveau journal d’accès chaque jour a minuit. Ce fichier est nomme access_<année>_<mois>_<jour>_<heure>_<minute>.log.
CustomLog "| C:/usr/apache/bin/rotatelogs.exe \
C:/www/ssl/logs/access_%Y_%m_%d_%H_%M.log 86400" common
Le caractère | (pipe) permet de créer un pipeline entre apache et l’application rotatelogs.exe. C’est-a-dire que apache
envoie tous les messages a rotatelogs et c’est ce dernier que gere les fichiers circulaires.
1.4
Les autres serveurs virtuels
idem que pour le point précédent en changeant le nom des dossiers.
fichier conf
dossiers
ssl_entreprise_lan.conf
C :\www\ssl
wiki_entreprise_lan.conf C :\www\wiki
svn_entreprise_lan.conf
C :\www\svn
php_entreprise_lan.conf C :\www\php
– ajouter les includes dans le fichier $APACHE_HOME/conf/httpd.conf
1.5
Configuration du DNS
– Ajouter dans le DNS les nom des serveurs virtuels (voir Configuration du DNS )
– www.entreprise.lan
– wiki.entreprise.lan
– svn.entreprise.lan
– php.entreprise.lan
– ssl.entreprise.lan
– retirer du fichier C :\WINDOWS\system32\drivers\etc\hosts les définitions des serveurs virtuels
1. Configuration optionnelle
3
Dominique Huguenin
mailto:[email protected]
Ecole Supérieure du canton de Neuchâtel
- filière informatique de gestion
1.6
Services applicatifs
Redirection 2 et Alias 3
adresse dirigée vers
http://ssl.entreprise.lan/wiki/
http://svn.entreprise.lan
adresse dirigée vers
http://ssl.entreprise.lan/svn/
Les deux sites virtuel sont redirigé vers le canal sécurisé https ://ssl.entreprise.lan.
– Dans le fichier $APACHE_HOME/conf/httpd.conf, ajouter les modules permettant la définition des alias.
http://wiki.entreprise.lan
Listen 80
LoadModule mime_module modules/mod_mime.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
ServerName 192.168.26.20
DocumentRoot "C:\www\default\htdocs"
DirectoryIndex index.html
NameVirtualHost *:80
<VirtualHost *:80>
Servername doc.entreprise.lan
DocumentRoot "C:\www\default\htdocs"
</VirtualHost>
Include
Include
Include
Include
Include
./conf/extra/www_entreprise_lan.conf
./conf/extra/ssl_entreprise_lan.conf
./conf/extra/wiki_entreprise_lan.conf
./conf/extra/svn_entreprise_lan.conf
./conf/extra/php_entreprise_lan.conf
– Dans le fichier $APACHE_HOME/conf /extra/ssl_entreprise_lan.conf, ajouter les directives pour définir des alias. Une
alias permet pour une partie de l’url de définir une autre emplacement de stockage dans le système de fichiers.
<VirtualHost *:80>
Servername ssl.entreprise.lan
DocumentRoot "C:/www/ssl/htdocs"
alias /wiki "C:/www/wiki/htdocs"
alias /svn "C:/www/svn/htdocs"
</VirtualHost>
– Dans le fichier $APACHE_HOME/conf /extra/wiki_entreprise_lan.conf, ajouter la direction de redirection.
<VirtualHost *:80>
Servername wiki.entreprise.lan
Redirect permanent / http://ssl.entreprise.lan/wiki/
</VirtualHost>
– Dans le fichier $APACHE_HOME/conf /extra/svn_entreprise_lan.conf, ajouter la direction de redirection.
<VirtualHost *:80>
Servername svn.entreprise.lan
Redirect permanent / http://ssl.entreprise.lan/svn/
</VirtualHost>
2. Envoie une redirection externe demandant au client d’effectuer une autre requête avec une URL différente.[4]
3. Permet d’atteindre différentes parties du système de fichiers depuis l’arborescence des documents du site web, ainsi que la redirection d’URL[4].
4
Dominique Huguenin
mailto:[email protected]
Ecole Supérieure du canton de Neuchâtel
- filière informatique de gestion
1.7
Services applicatifs
Références
[1] Configurer des Virtual Host avec Apache sous Windows.
virtual-host/.
http://apache.developpez.com/cours/
[2] Documentation sur les serveurs virtuels Apache. http://httpd.apache.org/docs/2.2/vhosts/.
[3] Exemples d’utilisations
examples.html.
de
VirtualHost.
http://httpd.apache.org/docs/2.2/fr/vhosts/
[4] Module Apache mod_alias. http://httpd.apache.org/docs/trunk/fr/mod/mod_alias.html.
5
Dominique Huguenin
mailto:[email protected]