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]