Version 1 — Janvier 2009 — livier
De façon générale chaque site hébergé sur un serveur Apache est configuré comme VirtalHost par un fichier dans le répertoire /etc/apache2/sites-available et activé par un lien dans le répertoire /etc/apache2/sites-enabled. Voir la doc de Apache à ce sujet : Hôtes virtuels
Un seul fichier Virtualhost
Etant donné que les différents sites mutualisés sous SPIP doivent pointer sur le même répertoire SPIP il est possible de les déclarer tous dans le même VirtualHost de la façon suivante :
<VirtualHost *:80>
ServerName site1.tld
ServerAlias www.site1.tld
ServerAlias site2.tld
ServerAlias www.site2.tld
DocumentRoot "/var/www/spip"
<Directory "/var/www/spip">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Inconvénients de cette méthode : les autres éléments de configuration du site seront aussi partagés. En particulier il ne sera pas possible de configurer ErrorLog
et CustomLog
pour chaque site et les fichiers de log se retrouveront mélangés.
D’autres considérations de sécurité / confidentialité / séparations entre les sites pourraient être à considérer. Que ceux qui pourraient nous éclairer mieux le fassent ici ;-)
Un fichier Virtualhost par site
<VirtualHost *:80>
ServerName site1.tld
ServerAlias www.site1.tld
DocumentRoot "/var/www/spip"
<Directory "/var/www/spip">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
pour site1.tld
<VirtualHost *:80>
ServerName site2.tld
ServerAlias www.site2.tld
DocumentRoot "/var/www/spip"
<Directory "/var/www/spip">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
pour site2.tld
Quand à moi je n’arrives toujours pas à configurer ErrorLog
et CustomLog
différemment pour chaque site et je fais planter Apache.
Cette prise de notes est faite pour rendre service ... et recueuillir d’autres comptes rendus d’expérience pour éclairer la mienne ;-)