En primer lugar me gustaría decir que los logs son importantes, que nos ayudan a determinar errores que pueden ocurrir en nuestro servidor (así como otro tipo de software que usemos) y que no deberías deshabilitarlos en entornos de producción para evitar males mayores. De todas formas vamos a ver como desactivar el log de apache.
Hay varios tipos de log en apache, está el general, en el que se guarda todo lo que no configuramos para que se guarde en otras ubicaciones, y el otro importante es el exclusivo de cada sitio, que veremos en otro artículo como configurarlo de forma independiente para que cada dominio o sitio tenga su propio log.
Al configurar logs por separado, toda esa información deja de aparecer en el log general, por lo que puede que este se rellene con alguna alerta estilo:
Warning: SuexecUserGroup directive requires SUEXEC wrapper
Estas alertas pueden provocar que los logs no paren de crecer y que nos hayamos encontrado con problemas estilo error database connection. Esto viene generalmente provocado por que los logs se hinchan tanto que ocupan todo el disco duro de nuestro equipo, y al no tener espacio libre diferentes programas dejan de funcionar, entre ellos mysql como servidor de bases de datos.
Viendo los logs generales y entendiendo que los problemas que nos surgen siempre o bien no los vamos a solucionar o bien por el momento no nos interesa por el motivo que sea, lo que podemos es deshabilitar el log de apache de forma temporal. Para ello simplemente tendremos que seguir unos pasos desde la consola.
Como anular el log principal de apache
Al deshabilitar este log, dejaremos de tener cierta información, pero como deberíamos tener cada sitio con su propio archivo de registros por separado tanto para los accesos como para los errores, este únicamente debería mostrar alertas y errores en el servidor, por lo que en la mayoría de los casos si hemos hecho un buen trabajo de segurización prácticamente ni nos hará falta. Aunque en caso necesario podemos revertir los cambios en un momento.
Para deshabilitar el registro simplemente tendremos que acceder por consola a nuestro servidor y editar la configuración de apache. En este caso está realizado bajo CentOS 6, pero es extrapolable a cualquier distribución que estemos utilizando simplemente modificando la ubicación del archivo.
- Editar httpd.conf
Ejecutaremos el siguiente comando para abrir con el editor el archivo de configuración de apache en centos 6nano /etc/httpd/conf/httpd.conf
- Deshabilitar logs de error
Ahora simplemente tendremos que buscar la línea del registro de errores, comentarla y añadir otra línea debajo (para poder deshacer los cambios rápido), debería quedar así:# ErrorLog /var/log/httpd/error_log ErrorLog /dev/null
- Deshabilitar logs de acceso
Para los logs de acceso en el mismo archivo comentaremos la línea que los guarda# CustomLog logs/access_log combined
- Guardar
Ahora simplemente haremos ctrl+x y luego le diremos Y para que se guarde (o guardamos primero con ctrl+o)
Si quieres utilizar vi o cualquier otro editor de archivos cambia el comando nano del paso 1 por tu editor favorito.
Una vez terminado esto nos queda simplemente reiniciar el servidor de apache con el siguiente comando
service httpd restart o /etc/init.d/apache2 restart
A partir de este momento deberíamos ver como dejan de registrarse en los logs todas las alertas y demás. Tenemos que tener en cuenta que debemos vaciar también el archivo de registros para que así ese espacio nos vuelva a quedar libre. Esto lo podemos hacer o bien borrándolo
rm /var/log/httpd/error_log
o bien rellenándolo con datos vacíos si no queremos borrarlo
echo . > /var/log/httpd/error_log
En este momento si revisamos con el comando du nos debería devolver el espacio que nos queda libre en la unidad.
Recuerda que para entornos de producción es mejor revisar qué problemas se están guardando en los logs y solucionarlos, ya que sino eso puede agravarse con el tiempo y si no les ponemos solución dejar de funcionar el servidor sin tener registros de por qué lo ha hecho.
¿Revisas los logs de tu apache? ¿Te has quedado sin sitio por culpa de estos archivos?