Instalé awstats en mi nuevo servidor Ubuntu Lucid, pero cuando cron intenta ejecutarlo como usuario www-data
, se queja de eso cannot access /var/log/apache2/access.log: Permission denied
.
En /usr/share/doc/awstats/README.Debian
este párrafo hay:
De forma predeterminada, Apache almacena (desde la versión 1.3.22-1) archivos de registro con uid = root y gid = adm, por lo que debe ...
1) Cambie los derechos de los archivos de registro en /etc/logrotate.d/apache para que www-data tenga al menos acceso de lectura.
2) Como 1), pero cambie a un usuario específico y use la función suEXEC de Apache para ejecutarlo como el mismo usuario (y cambie también el derecho de / var / lib / awstats o use otro directorio). Esto es más complicado, pero los registros generalmente no son accesibles para el servidor (que probablemente era el punto predeterminado de Apache).
3) Cambie awstats.pl a group adm (¡pero tenga en cuenta que entonces corre el riesgo de permitir un acceso de script CGI a cosas de administrador en la máquina!
Yo iría con 1, pero ¿cuáles son los permisos recomendados para otorgar?
chmod 755 /var/log/apache2
y chmod 644 access.log
, pero me gustaría un "esta es la mejor práctica", una especie de respuesta :) ¡Gracias por hablar!
chown www-data:www-data <yourFile>
y luegochmod 655 <yourFile>
.