Я размещаю несколько апачских виртуальных хостов с подобной структурой:
- /var/www/
- domain
- documentroot
- logs
Я таким образом изменил правило в logrotate.d/apache2
запускаться с
/var/log/apache2/*.log /var/www/*/logs/*.log { ... rule details ... }
Теперь проблема, logrotate не позволяет мне поворачивать папки, потому что они принадлежат пользователю, и группа согласно виртуальному хостингу (у группы есть обычно многочисленные пользователи, один пользователь равняется одному виртуальному хосту),
Сообщение об ошибке
ошибка: пропуск "/var/www/default/logs/access.log", потому что родительский каталог имеет небезопасные полномочия (Это - мир, перезаписываемый или перезаписываемый группой, которая не является "корнем"), Набор "su" директива в файле конфигурации для сообщения logrotate, какой пользователь/группа должен использоваться для вращения.
Как я могу настроить logrotate для использования пользователя и группы от родительской папки?
VirtualHosts, работал под модулем MPM-ITK для разделения полномочий для лежания в основе apache/php-cgi процессы.
Действительно ли возможно постараться не создавать правило конфигурации для каждого virtualhost отдельно?
Я бы пошел по другому пути. У вас много пользователей. У каждого свой хостинг. У каждого есть свой собственный файл конфигурации vhost. Итак, точно так же, как вы указываете их значения phpadmin и т. Д., Вы могли бы уже иметь aline для записи журнала доступа.
Измените его, чтобы тоже выполнялось вращение.
Примерно так:
CustomLog "| / usr / sbin / rotatelogs / var / www / client55 / web2 / logs / access2 86400" вместе взятых