préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 2 : mise en place de serveurs virtuels apache 2
Topic 208.2 partie 1
Supports créées par Noël Macé sous Licence Creative Commons BY-NC-SA.
1. Linux LPIC2 noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Mise en place de serveurs virtuels
Apache 2
Services web
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
2. Linux LPIC2 noelmace.com
Plan
• Introduction
• Deux solutions
• Directive VirtualHost
• Serveurs virtuels par IP
• Serveurs virtuels par nom d'hôte
• Mécanisme de sélection de serveur virtuel
3. Linux LPIC2 noelmace.com
Introduction
• Héberger plusieurs sites sur un même serveur
• Deux types :
IP based
• Nécessite plusieurs interfaces (ou routage)
Named based
• Répond en fonction de l'url appelée
• Configurés dans httpd.conf
ou /etc/apache2/sites-available/ sur Debian et dérivés
• Documentation officielle : https://httpd.apache.org/docs/current/vhosts/
4. Linux LPIC2 noelmace.com
Deux solutions
• Faire tourner un processus httpd pour chaque domaine
plusieurs installations séparées
répartition de sécurité
• directives User, Group et ServerRoot différentes
répartition des interfaces (adresses ip)
• via des directives Listen différentes
• Utiliser un unique processus résident
partage de configuration des serveurs virtuels
meilleures performances
Listen 192.170.2.1:80Listen 192.170.2.1:80
User httpd1
Group httpd1
ServerRoot "/etc/httpd/server1"
User httpd1
Group httpd1
ServerRoot "/etc/httpd/server1"
5. Linux LPIC2 noelmace.com
Directive VirtualHost
Contexte : Configuration du serveur
rassemble des directives qui ne s'appliqueront qu'à un serveur virtuel particulier
• La plupart des directives (toutes celles acceptant le contexte "Serveur Virtuel" - cf
doc) sont compatibles
• Exemple
<VirtualHost adresse IP[:port] [adresse IP[:port]] ...> ... </VirtualHost><VirtualHost adresse IP[:port] [adresse IP[:port]] ...> ... </VirtualHost>
<VirtualHost *:80>
ServerAdmin contact@example.org
DocumentRoot /www/docs/www.example.org
ServerName www.example.org
ErrorLog logs/example.org-error_log
TransferLog logs/example.org-access_log
</VirtualHost>
<VirtualHost *:80>
ServerAdmin contact@example.org
DocumentRoot /www/docs/www.example.org
ServerName www.example.org
ErrorLog logs/example.org-error_log
TransferLog logs/example.org-access_log
</VirtualHost>
6. Linux LPIC2 noelmace.com
Serveurs virtuels par IP
• Directive VirtualHost
définition des directives ServerAdmin, ServerName,
DocumentRoot, ErrorLog ainsi que TransferLog ou CustomLog
Exemple
<VirtualHost 172.20.30.40:80>
ServerAdmin webmaster@www1.example.com
DocumentRoot /www/vhosts/www1
ServerName www1.example.com
ErrorLog /www/logs/www1/error_log
CustomLog /www/logs/www1/access_log combined
</VirtualHost>
<VirtualHost 172.20.30.40:80>
ServerAdmin webmaster@www1.example.com
DocumentRoot /www/vhosts/www1
ServerName www1.example.com
ErrorLog /www/logs/www1/error_log
CustomLog /www/logs/www1/access_log combined
</VirtualHost>
7. Linux LPIC2 noelmace.com
Serveurs virtuels par nom d'hôte
• Directive VirtualHost
grâce à la directive ServerName, permettant de définir le nom auquel répondra le serveur
virtuel
• peu répondre à plusieurs noms grâce à la directive ServerAlias
Exemple
<VirtualHost *:80>
# Le premier serveur virtuel de la liste est aussi le
# serveur par défaut pour *:80
ServerName www.example.com
ServerAlias example.com
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName other.example.com
DocumentRoot /www/otherdomain
</VirtualHost>
<VirtualHost *:80>
# Le premier serveur virtuel de la liste est aussi le
# serveur par défaut pour *:80
ServerName www.example.com
ServerAlias example.com
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName other.example.com
DocumentRoot /www/otherdomain
</VirtualHost>
8. Linux LPIC2 noelmace.com
Mécanisme de sélection de serveur virtuel
1) Par couple adresse IP / port
Les chaînes sans caractères génériques l'emportent sur celles qui en contiennent
Le port est également pris en compte
• ie : il peu exister deux hôtes virtuels 192.168.1.1:80 et 192.168.1.1:8080
la configuration du serveur principale sera utilisée si aucune correspondance n'est trouvée
2) Par nom d'hôte
Si (et seulement si) plusieurs hôtes virtuels correspondent au couple adresse IP / Port
Comparaison des directives ServerName et ServerAlias avec le nom de serveur dans la requête
• Le premier correspondant est utilisé
- Y compris si un caractère générique (*) est présent (aucune priorité particulière)
• Si aucune correspondance n'est trouvée, le premier hôte virtuel correspondant au couple IP / Port
sera employé
Remarque : il est bien entendu nécessaire d'avoir configuré votre DNS en conséquent
9. Linux LPIC2 noelmace.com
Ce qu’on a couvert
• Qu'est ce qu'un hôte virtuel.
• Mise en place des serveurs virtuels Apache 2
avec ou sans adresse IP dédiée
• Comment sont sélectionnés les hôtes virtuels.
Weight : 2
Description : Candidates should be able to configure a web server to use
virtual hosts, Secure Sockets Layer (SSL) and customise file access.
208.2 Maintaining a web server (Part 1)
10. Linux LPIC2 noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.