Caractere curinga de logrotação com muitos usuários e hosts virtuais

1

Estou hospedando vários hosts virtuais do Apache, com estrutura semelhante:

- /var/www/
  - domain
     - documentroot
     - logs

Eu modifiquei a regra em logrotate.d/apache2 para começar com

/var/log/apache2/*.log /var/www/*/logs/*.log {  ... rule details ... }

Agora, o problema, logrotate não me permite rodar as pastas, porque são de propriedade do usuário e do grupo de acordo com a hospedagem virtual (grupo geralmente tem vários usuários, um usuário é igual a um host virtual)

A mensagem de erro é

error: skipping "/var/www/default/logs/access.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.

Como posso configurar o logrotate para usar o usuário e o grupo da pasta pai?
Os VirtualHosts são executados no módulo MPM-ITK para separar as permissões dos processos subjacentes do apache / php-cgi.

É possível evitar a criação de regras de configuração para cada virtualhost separadamente?

    
por Marek Sebera 05.12.2014 / 13:58

1 resposta

1

Eu iria uma abordagem diferente. Você tem muitos usuários. Cada um tem sua própria hospedagem. Cada um tem seu próprio arquivo de configuração vhost. Então, assim como você especificou seus valores phpadmin, etc. lá você poderia ter aline para escrever o accesslog já.

Modifique-o para fazer a rotação também.

Algo parecido com isto:

CustomLog "| / usr / sbin / rotatelogs / var / www / client55 / web2 / logs / access2 86400" combinado

    
por 05.12.2014 / 15:27