Apache-Setup für mehrere Sites mit gemeinsamen Dateien
Frage
Ich habe ungefähr 50 Websites, die alle genau die gleichen Dateien außer CSS und BILDERN verwenden. Derzeit dupliziere ich die Dateien jedes Mal, wenn ich eine neue Website erstelle und unterschiedliche CSS und Bilder hochlade.
Was ich möchte, ist, jeden Vhost so einzurichten, dass er dasselbe hat Dokument Root dann füge hinzu AliasMatch für die CSS- und Bilderordner, z. B.:
#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>
Der Alias funktioniert perfekt für die maßgeschneiderten Dateien, aber auf die allgemeinen Dateien kann aufgrund von Berechtigungsfehlern nicht zugegriffen werden:
[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
Dies ist das aktuelle Server-Setup, das meiner Meinung nach Teil des Problems sein könnte (Vorheriges Server-Administrator-Setup):
- Apache(Apache/2.2.14 (Unix)
- PHP 5.2.11
- CentOS 4.8 i686-Standard
- Der PHP 5-Handler ist dso
- Apache suEXEC ist aktiviert
Irgendwelche Vorschläge?
Lösung
Es scheint, dass der Ordner public_html standardmäßig die Berechtigungen 750 hat. Ich habe auf 755 geändert und die open_basedir-Einschränkungen aktualisiert, und alles begann großartig zu funktionieren.
Ich muss nur sicherstellen, dass ich pro Site noch eine .htaccess-Datei haben kann.
Andere Tipps
Es hört sich nicht so an, als wäre AliasMatch das Problem, die Fehlermeldung verweist auf Ihre htaccess-Datei.Haben Sie das auf Berechtigungen überprüft?Zu welchem Benutzer gehört es?
Eine andere Lösung wäre, in jeder Domäne symbolische Links zu erstellen, die auf den Ordner verweisen, in dem sich die gemeinsamen Dateien befinden.