Настройка Apache для нескольких сайтов с общими файлами
Вопрос
У меня около 50 сайтов, которые используют одни и те же файлы, кроме CSS и изображений, в настоящее время я дублирую файлы каждый раз, когда создаю новый сайт и загружаю разные CSS и изображения.
Что я хочу сделать, так это настроить каждый виртуальный хост так, чтобы он имел одинаковый Корень документа затем добавьте Совпадение псевдонимов например, для папок 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
Есть какие-нибудь предложения?
Решение
Похоже, что по умолчанию папка public_html имеет разрешения 750, я изменил на 755 и обновил ограничения open_basedir, и все начало отлично работать.
Мне просто нужно убедиться, что у меня все еще может быть .htaccess для каждого сайта.
Другие советы
Не похоже, что проблема в совпадении псевдонимов, сообщение об ошибке указывает на ваш файл htaccess.Вы проверили это на наличие разрешений?Какому пользователю он принадлежит?
Другим решением было бы создать символические ссылки в каждом домене, указывающие на папку, в которой находятся общие файлы.