Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:apache2:multisite [22/03/2011 10:00] freddec |
doc:reseau:apache2:multisite [22/03/2011 12:14] freddec |
||
---|---|---|---|
Ligne 13: | Ligne 13: | ||
==== Pré-requis ==== | ==== Pré-requis ==== | ||
- | Un serveur Apache 2 (+/- PHP, MySQL suivant le type de site à réaliser) \\ | + | * Un serveur Apache 2 (+/- PHP, MySQL suivant le type de site à réaliser) \\ |
+ | * Au moins 2 sites a tester ! | ||
Je ne reviens pas sur les modalités d'installation de ces outils, [[config:apache|reportez vous à cette page du wiki Debian-Facile]] | Je ne reviens pas sur les modalités d'installation de ces outils, [[config:apache|reportez vous à cette page du wiki Debian-Facile]] | ||
Ligne 28: | Ligne 30: | ||
Puis on refait la même chose pour le site-2 | Puis on refait la même chose pour le site-2 | ||
==== Contenu du fichier de vhost ==== | ==== Contenu du fichier de vhost ==== | ||
+ | Dans votre éditeur de texte favori (pas un traitement texte attention !) ouvrez le fichier site-1 \\ | ||
+ | Faisons un rapide tour d'horizons des sections qui nous intéressent: | ||
+ | <code><VirtualHost *:80> | ||
- | <VirtualHost *:80> | ||
- | ServerAdmin webmaster@localhost | ||
- | DocumentRoot /var/www | + | ServerAdmin webmaster@localhost |
+ | |||
+ | DocumentRoot /var/www | ||
<Directory /> | <Directory /> | ||
Options FollowSymLinks | Options FollowSymLinks | ||
Ligne 71: | Ligne 76: | ||
</VirtualHost> | </VirtualHost> | ||
+ | </code> | ||
+ | |||
+ | * **//<VirtualHost *:80>//** et **//</VirtualHost>//**: Signale le début et la fin de la section du vhost, en écoute pour toute les ip (*) sur le port :80 | ||
+ | * **//ServerAdmin //** //webmaster@localhost// : adresse mail où envoyer les messages d'erreur. Devra donc être remplacée par la vôtre | ||
+ | * **//ServerName //** //www.blablabla.xxx // : Nom utilisé par le vhost, remplacez le par le nom de votre site (ici site-1) | ||
+ | * **//ServerAlias //** //site-1.xxx*.site-1.xxx // :ServerAlias définie les autres sous domaines pour lesquels le serveur répondra. | ||
+ | * **//DocumentRoot//** // /var/www/htdocs // : Répertoire de stockage du site (sa racine). Vous devrez donc modifier cette directive pour qu'elle pointe sur votre racine (ex: /home/www/site-1 ) | ||
+ | * **//DirectoryIndex//** //index.php // : En l'absence de page spécifique demandée par l'internaute, c'est cette page que sera affichée, c'est donc en quelque sorte votre page d'accueil. A modifier donc si votre page d'accueil porte un nom différent (default.htm, acceuil.php etc...) | ||
+ | |||
+ | <note>Voila pour les directives qui nous préoccupent. \\ | ||
+ | Comme vous le constatez vous même, il en reste d'autre que je n'ai pas détaillées, mais qui sont importantes notamment pour la sécurité. Je vous invite donc à consulter cette page pour savoir plus : http://doc.ubuntu-fr.org/apache2</note> | ||
+ | |||
+ | ==== Fichier vhost adapté ==== | ||
+ | Voyons voir a quoi pourrait ressembler notre fichier une fois adapté à nos besoins: | ||
+ | <code> | ||
+ | <VirtualHost *:80> | ||
+ | ServerAdmin MonMail@gmail.com | ||
+ | ServerName www.site-1.fr | ||
+ | ServerAlias site-1.fr *.site-1.fr | ||
+ | |||
+ | DocumentRoot /home/www/site-1 | ||
+ | DirectoryIndex index.php | ||
+ | <Directory /> | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </Directory> | ||
+ | |||
+ | <Directory /home/www/site-1> | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | AllowOverride None | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </Directory> | ||
+ | |||
+ | ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ | ||
+ | <Directory "/usr/lib/cgi-bin"> | ||
+ | AllowOverride None | ||
+ | Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | </Directory> | ||
+ | |||
+ | ErrorLog /home/www/apache_log/error_site-1.log | ||
+ | |||
+ | # Possible values include: debug, info, notice, warn, error, crit, | ||
+ | # alert, emerg. | ||
+ | LogLevel warn | ||
+ | |||
+ | CustomLog /home/www/apache_log/access_site-1.log combined | ||
+ | |||
+ | Alias /doc/ "/usr/share/doc/" | ||
+ | <Directory "/usr/share/doc/"> | ||
+ | Options Indexes MultiViews FollowSymLinks | ||
+ | AllowOverride None | ||
+ | Order deny,allow | ||
+ | Deny from all | ||
+ | Allow from 127.0.0.0/255.0.0.0 ::1/128 | ||
+ | </Directory> | ||
+ | |||
+ | </VirtualHost> | ||
+ | </code> | ||
+ | Renouveler les opérations pour créer un fichier de vhost pour site-2 | ||
+ | |||
+ | ==== Activation/Désactivation des sites ==== | ||
+ | Une fois les fichiers de vhost créés, il reste a les activer pour qu'Apache2 les prennent en compte. \\ | ||
+ | Ce mecanisme permet d'avoir tout les fichiers de vhosts que l'on veut et de n'activer que ceux nécessaires. \\ | ||
+ | |||
+ | **Deux méthodes possible:** \\ | ||
+ | * //Méthode Classique:// Création/suppresion d'un lien symbolique dans ''/etc/apache2/sites-enable'' pointant vers''/etc/apache2/sites-avalaible/site-1'' | ||
+ | <code>#ln -s /etc/apache2/sites-avalaible/site-1 /etc/apache2/sites-enable | ||
+ | </code> | ||
+ | * //Méthode Debian :// les Développeurs Debian, qui font bien les choses (sinon, ils ne seraient pas DD !), ont mis en place un outil très simple: | ||
+ | <code># a2ensite site-1</code> | ||
+ | ...et comme ils ne font pas les choses a moitié, ils ont aussi prévu la désactivation | ||
+ | <code># a2dissite site-1</code> | ||
+ | |||
+ | ===== Création du fichier de configuration des vhost ===== | ||
+ | * Placez vous dans le répertoire ''/etc/apache2/conf.d'' \\ | ||
+ | Tout ce qui est dans ce répertoire est lu au démarrage d'Apache2 | ||
+ | <code># cd /etc/apache2/conf.d </code> | ||
+ | * Créez un fichier virtual-host.conf | ||
+ | <code># touch virtual-host.conf </code> | ||
+ | Puis remplissez le comme suit (en adaptant a votre cas biensur) | ||
+ | <code>Alias /site-1 /home/www/site-1 | ||
+ | Alias /site-2 /home/www/site-2 | ||
+ | </code> | ||
+ | ===== Adaptation du fichier /etc/hosts ===== | ||
+ | Éditez votre fichier ''/etc/hosts'' et modifiez le comme suit pour que votre machine fasse le rapport entre vos vhost et le localhost \\ | ||
+ | Remplacer le 192.168.10.100 par l'IP de votre machine | ||
+ | |||
+ | <code> | ||
+ | 127.0.0.1 localhost site-1 site-2 | ||
+ | 127.0.0.1 NomDeMachine.MonDomaine.org NomDeMachine | ||
+ | 192.168.10.100 site-1 | ||
+ | 192.168.10.100 site-2 | ||
+ | 127.0.0.1 | ||
+ | </code> | ||
+ | ===== Relancer le serveur apache2 et tester===== | ||
+ | ==== Relancer apache2 ==== | ||
+ | |||
+ | <code># /etc/init.d/apache2 restart</code> | ||
+ | |||
+ | ==== Testez vos sites ==== | ||
+ | Ouvrez votre navigateur et testez en tapant dans la barre d'adresse: \\ | ||
+ | * ''localhost/site-1.fr'' et/ou ''localhost/site-2.fr'' | ||
+ | |||
+ | Puis | ||
+ | |||
+ | * ''192.168.10.100/site-1.fr'' et/ou ''192.168.10.100/site-2.fr'' | ||
+ | |||
+ | Vous devriez voir apparaitre à chaque test la page d'accueil des site-1 et site-2 | ||
+ | ===== A propos de ce tutoriel ===== | ||
+ | Comme dit en préambule, il s'agit là de la mise en forme des quelques note que j'ai prise au cours de mes tests. \\ | ||
+ | Je ne suis pas un spécialiste de la chose et ce document peut surement être amélioré et contient peut-être (surement ?) des erreurs et des approximations. \\ | ||
+ | Si tel est la cas, n'hésitez pas à les signaler sur le forum de Debian-facile et à les corriger si vous êtes rédacteur. \\ | ||
+ | Le wiki est fait pour cela 8-) | ||
+ | Les remarque peuvent être faites dans ce topic : http://www.debian-facile.org/forum/viewtopic.php?id=3659 |