2009-11-16 7 views
2

J'ai environ 50 sites qui utilisent tous exactement les mêmes fichiers autres que CSS et IMAGES, je duplique actuellement les fichiers chaque fois que je crée un nouveau site et télécharger différents css et images.Configuration Apache pour plusieurs sites avec des fichiers communs

Ce que je veux ne donc mettre en place chaque vhost d'avoir la même DocumentRoot puis ajouter AliasMatch pour les dossiers css et les 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 la fichiers sur mesure, mais les fichiers communs ne peuvent pas être consultés en raison d'erreurs de permission:

[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 

Ceci est la configuration actuelle du serveur que je pense peut-être une partie du problème (Admin Server précédent configurer cela):

  • Apache (Apache/2.2.14 (Unix)
  • PHP 5.2.11
  • CentOS 4.8 i686 standards
  • PHP 5 est gestionnaire DSO
  • Apache suEXEC est sur

Toutes les suggestions?

Répondre

2

Il semble que par défaut, le dossier public_html possède des permissions de 750, j'ai changé à 755 et 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.

+0

Peut-être que vous voulez signaler ceci comme réponse et éditer votre OQ? – ChrisR

+0

Je voudrais mais vous devez attendre 48 heures avant de pouvoir accepter votre propre réponse – Lizard

0

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

+0

Ouais la correspondance d'alias est bien, Exemple: /home/commonfiles/public_html/.htaccess a 644 commonfiles: commonfiles – Lizard

+0

Essayez de donner le répertoire entier 644. Est-ce que cela aide? –

+0

Changement de répertoire à 644 n'a pas aidé, donc comme un test j'ai mis .htaccess et public_html à 777 cela m'a alors donné une erreur séparée 'PHP Erreur fatale: Impossible de charger /home/commonfiles/public_html/index.php, open_basedir restriction. dans Unknown sur la ligne 0' – Lizard

0

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

Questions connexes