2 votes

Configuration d'Apache pour plusieurs sites avec des fichiers communs

J'ai environ 50 sites qui utilisent tous exactement les mêmes fichiers à l'exception des CSS et des IMAGES, je duplique actuellement les fichiers à chaque fois que je crée un nouveau site et que je télécharge des CSS et des images différentes.

Ce que je veux faire, c'est configurer chaque serveur virtuel pour qu'il ait la même DocumentRoot puis ajouter AliasMatch pour les dossiers css et images, par exemple

#Common Files VHOST
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName commonfiles.com
    ServerAlias www.commonfiles.com
    DocumentRoot /home/commonfiles/public_html
</VirtualHost>

#Sample vhost for 1 of the 50 sites.
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName mytest.com
    ServerAlias www.mytest.com
    DocumentRoot /home/commonfiles/public_html
    ......
    AliasMatch /css/(.*) /home/ftpuser/public_html/mycss/$1
</VirtualHost>

L'alias fonctionne parfaitement pour les fichiers personnalisés, mais les fichiers communs ne sont pas accessibles en raison d'erreurs d'autorisation :

[Mon Nov 16 09:31:01 2009] [crit] [client xxx.xxx.xxx.xxx] (13)Permission denied: /home/commonfiles/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

Voici la configuration actuelle du serveur qui, je pense, peut être en partie à l'origine du problème (c'est l'ancien administrateur du serveur qui l'a mise en place) :

  • Apache(Apache/2.2.14 (Unix)
  • PHP 5.2.11
  • CentOS 4.8 i686 standard
  • PHP 5 Handler est dso
  • Apache suEXEC est activé

Des suggestions ?

2voto

Lizard Points 10620

Il semble que par défaut le dossier public_html ait des permissions de 750, j'ai changé pour 755 et j'ai mis à jour les restrictions open_basedir et tout a commencé à bien fonctionner.

Je dois juste m'assurer que je peux toujours avoir un .htaccess par site.

0voto

Pekka 웃 Points 249607

Il ne semble pas que l'AliasMatch soit le problème, le message d'erreur pointe vers votre fichier htaccess. Avez-vous vérifié les autorisations ? A quel utilisateur appartient-il ?

0voto

facildelembrar Points 1176

Une autre solution consisterait à créer des liens symboliques sur chaque domaine pointant vers le dossier où se trouvent les fichiers communs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X