Il y a quelques semaines, j'ai acheté une offre VPS (de chez OVH), car j'ai plusieurs petits sites internets et que j'aimerais plutôt que ce soit moi qui gère mon propre serveur (c'est plus pratique pour l'organisation, les bibliothèques...) Ayant déjà quelques connaissances de base en linux, ça m'a permis d'en apprendre encore plus.
J'ai donc installé debian 7 + le pack LAMP sur le serveur. Et il s'avère qu'en fait, j'ai un problème de configuration sur les virtual host de mon serveur.
Mettons que j'ai deux sites : siteA.fr et siteB.fr. Pour gérer cela facilement, j'ai donc créé deux utilisateurs : siteA et siteB. Dans leurs /home, j'ai placé un répertoire /public/ (j'aurais aussi pu mettre www), où je mets la racine du virtualhost. Au niveau serveur, les racines de siteA.fr et siteB.fr sont donc respectivement /home/siteA/public/ et /home/siteB/public/.
Pour siteA.fr, je n'ai aucun problème : lorsque je vais sur siteA.fr il s'affiche bien (si je fais un a2dissite siteA j'obtiens un 403). Et c'est là qu'avec siteB, je n'arrête pas d'avoir des problèmes : qu'il soit activé ou non, je tombe toujours sur une 403. Parfois même, siteB.fr me redirige sur siteA.fr...
Cela fait quelques semaines que j'ai ce problème, et je ne sais plus où donner de la tête étant donné que les deux fichiers de configuration des sites sont parfaitement identiques (mis à part les noms)... J'ai déjà essayé de supprimer tous les sites d'apache et les users de mon debian pour tout recommencer à zéro, mais sans succès.
Je mets ici les deux fichiers de configuration des sites dans apache (je précise que bien sûr il n'y a pas de .htaccess sur les deux sites) :
<VirtualHost *:80>
ServerName siteA.fr
DocumentRoot /home/siteA/public/
<Directory />
Options +FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/siteA/public/>
Options -Indexes +FollowSymLinks -ExecCGI
AllowOverride All
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 ${APACHE_LOG_DIR}/siteA-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/siteA-access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName siteB.fr
DocumentRoot /home/siteB/public/
<Directory />
Options +FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/siteB/public/>
Options -Indexes +FollowSymLinks -ExecCGI
AllowOverride All
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 ${APACHE_LOG_DIR}/siteB-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/siteB-access.log combined
</VirtualHost>
J'ai également vérifié le chmod des fichiers des deux sites, apache peut les lire et les exécuter...
Si quelqu'un a déjà expérimenté ce problème (voire même bug pour le coup ? ) une aide serait grandement vénérée, car je ne sais vraiment plus où chercher.