Назад | Перейти на главную страницу

Настройка Apache для нескольких сайтов с общими файлами

Только что понял, что я по ошибке разместил это на переполнении стека, так что вот оно в правильном месте!

У меня около 50 сайтов, которые все используют одни и те же файлы, кроме CSS и IMAGES, в настоящее время я дублирую файлы каждый раз, когда создаю новый сайт и загружаю разные CSS и изображения.

Я хочу, чтобы у каждого виртуального хоста был одинаковый DocumentRoot затем добавьте AliasMatch для папок css и изображений, например:

#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>

Псевдоним отлично работает с индивидуальными файлами, но общие файлы недоступны из-за ошибок прав доступа:

[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

Это текущая настройка сервера, которая, я думаю, может быть частью проблемы (предыдущий администратор сервера установил это):

Какие-либо предложения?

Похоже, что по умолчанию папка public_html имеет разрешения 750, я изменил на 755 и обновил ограничения open_basedir, и все стало отлично работать.

Мне просто нужно убедиться, что у меня все еще может быть .htaccess для каждого сайта.

У вас где-то проблема с файлом htaccess.

Если вся ваша конфигурация находится внутри / etc / apache2, вам даже не нужна поддержка файла htaccess, и вы можете получить небольшое ускорение, отключив ее.

Вы также можете использовать что-то вроде mod_vhost_alias, чтобы упростить конфигурацию.

http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html