Настройка Apache для нескольких сайтов с общими файлами
Просто понял, что я выложил это по переполнению стека по ошибке, так что здесь это в правильном месте!
У меня около 50 сайтов, которые используют одни и те же файлы, кроме CSS и IMAGES, в настоящее время я дублирую файлы каждый раз, когда создаю новый сайт и загружаю различные CSS и изображения.
Что я хочу сделать так, чтобы каждый vhost имел одинаковый DocumentRoot, а затем добавил AliasMatch для папок css и images, например:
#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
Это текущая настройка сервера, которая, я думаю, может быть частью проблемы (предыдущая настройка сервера):
- Apache (Apache / 2.2.14 (Unix)
- PHP 5.2.11
- CentOS 4.8 стандарт i686
- PHP 5 обработчик - это dso
- Apache suEXEC включен
Какие-либо предложения?
2 ответа
Похоже, что по умолчанию папка public_html имеет разрешения 750, я изменил на 755 и обновил ограничения open_basedir, и все стало отлично работать.
Я просто должен убедиться, что у меня все еще может быть.htaccess для каждого сайта.
У вас есть проблема с файлом htaccess где-то.
Если вся ваша конфигурация находится в /etc/apache2, вам даже не нужна поддержка файлов htaccess, и вы можете получить небольшое ускорение, отключив ее.
Вы также можете использовать что-то вроде mod_vhost_alias для упрощения вашей конфигурации.