Alejandro Arco Alejandro Arco

Rotar logs de apache con logrotate en Linux

linux, servidores web 5 Comentarios »

logrotate - Rotar logs de apache con logrotate en LinuxUn log es un registro de eventos producidos durante un periodo de tiempo concreto. El servidor web apache almacena en distintos logs (ficheros de registros) la actividad de nuestra aplicación (accesos y errores) de los distintos sitios web que tengamos configurados.

Para evitar que el tamaño de los logs crezca de forma incontrolada se opta por rotarlos, en caso de no hacerlo podremos quedarnos rápidamente sin espacio en disco.

No debemos olvidar que la información recopilada en los ficheros log se debe conservar al menos durante 1 año por eventuales necesidades legales, de este modo, además de rotarlos se opta habitualmente por comprimir logs.

A continuación detallaré como rotar logs de nuestro servidor web apache configurando logrotate pare desempeñar esta función. Los ejemplos mostrados han sido testeados en la distribución Debian de Linux, aunque en las distribuciones más comunes su configuración es similar.

Instalación logrotate - rotar logs de apache con logrotate

La herramienta logrotate ya se encuentra preconfigurada e instalada en la distribución Debian de Linux, de este modo en la mayoría de los casos nos podríamos saltar este paso.

Para instalar el logrotate usaremos la herramienta apt-get (sistema de gestión de paquetes de software):


apt-get update
apt-get install logrotate

Una vez finalizada la instalación de logrotate comprobamos que disponemos de todos los ficheros y carpetas necesarias para su correcto funcionamiento:


/var/lib/logrotate/
/etc/logrotate.d/
/usr/sbin/logrotate
/etc/logrotate.conf

Configurar logrotate - rotar logs de apache con logrotate

Para configurar nuestro logrotate actualizaremos el fichero logrotate.conf:


vi /etc/logrotate.conf

El contenido de nuestro logrotate.conf será similar al mostrado posteriormente:


# ejecutar "man logrotate" para más información

# rotar log semanalmente
weekly

# mantener logs durante 4 semanas
rotate 4

# rotar y crear nuevo log aunque esté vació el anterior
create
# descomentar si quieres comprimir logs
#compress

# ubicación de paquetes para el rotado de logs
include /etc/logrotate.d

# los logs wtmp o btmp los haremos rotar aquí
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

# los logs del sistema se pueden rotar aquí

Crearemos el fichero para rotar logs de apache con logrotate en la distribución Debian de Linux:


vi /etc/logrotate.d/apache2

Y le añadiremos el siguiente contenido al fichero creado anteriormente:

# ubicación de los logs del servidor web apache
/var/log/apache2/*.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if [ -f /var/run/apache2.pid ]; then
                        /etc/init.d/apache2 restart > /dev/null
                fi
        endscript
}

# logs de acceso y errores de los sitios web
/var/www/logs/*.log {
        weekly
        missingok
        rotate 52
        compress
        notifempty
        create 640 root root
        sharedscripts
        postrotate
                if [ -f /var/run/apache2.pid ]; then
                        /etc/init.d/apache2 restart > /dev/null
                fi
        endscript
}

Ejecutar logrotate - rotar logs de apache con logrotate

Posteriormente comprobaremos manualmente el correcto funcionamiento de logrotate usando el siguiente comando:

/usr/sbin/logrotate /etc/logrotate.conf -f

Además, logrotate debe ir configurado en un cron para que se ejecute periódicamente, esto podremos hacerlo gracias a la herramienta crontab (ejecuta procesos o scripts a intervalos regulares):

crontab -e

Y agregamos en nuestro archivo crontab el siguiente contenido:

# Rotar logs de apache con logrotate a las 3 am
0 03 * * * root /usr/sbin/logrotate /etc/logrotate.conf > /dev/null 2>&1

Finalmente reiniciaremos el proceso cron para que los cambios surtan efecto:

/etc/init.d/cron restart

No debemos olvidar rotar logs de apache posteriormente de actualizar nuestro sistema de estadísticas web (por ejemplo a la 1 am), ya que de no hacerlo perderíamos información.

El rotado de logs descrito anteriormente lo podemos aplicar a cualquier otra herramienta del sistema. De este modo, espero que este artículo os sea de gran utilidad no sólo para este caso sino para muchos otros.

Cualquier duda que tengáis podemos tratarla a través de los comentarios.

Validar flash con JavaScript y SWFObject

accesibilidad, javascript, w3c 1 Comentario »

swfobject - Validar flash con JavaScript y SWFObjectTras escribir mi anterior artículo Validar flash en XHTML y HTML sin hacer uso de javascript para maximizar la compatibilidad, os traigo un nuevo artículo para validar flash. Esta vez mediante el uso de javascript con la librería swfobject, que se ofrece bajo licencia MIT License.

De este modo, os sugiero otra forma de cumplir los estándares web de la W3C y las pautas de accesibilidad web respecto a la validación flash que tantos problemas nos ha dado a los desarrolladores web puristas de la validación web y el SEO.

Características validar flash con JavaScript y SWFObject

SWFObject es una pequeña librería en javascript que nos permite incluir contenido flash de forma práctica y sencilla, permitiendo agregar contenido alternativo en caso de que el navegador no tenga habilitado javascript o el flash player.

  • No se hace uso de la etiqueta embed y noembed.
  • No hay redundancia de información en la inicialización del contenido flash.
  • Cumple los estándares web de la W3C y las pautas de accesibilidad web.
  • Permite visualizar contenido alternativo a los usuarios que no tengan el flash player o naveguen con javascript deshabilitado.
  • El código fuente de nuestro desarollo web queda más limpio y legible.

Parámetros constructor SWFObject, validar flash, validar swf

  • SWFObject(swf, id, width, height, version);
  • swf - La ruta y el nombre de su archivo flash.
  • id - La id de su objeto flash.
  • width - El ancho de su objeto flash.
  • height - El alto de su objeto flash.
  • version - La versión requerida del flash player.

Ejemplo validar flash con JavaScript y SWFObject

Lo primero que debemos de hacer es incluir nuestra librería swfobject entre la etiqueta <head></head> de nuestro documento.

<!-- Flash SWFobject -->
<script src="/js/swfobject.js" type="text/javascript"></script>

Posteriormente, crearemos nuestra contenedor flash con id única donde irá insertado nuestro flash y  le agregaremos el contenido alternativo, todo ello irá ubicado entre la etiqueta <body></body> de nuestro documento.

<div id="reproductor">
<img src="/flash-no-disponible.jpg" alt="Flash Player no disponible" />
</div><br />

Después, llamaremos al constructor SWFObject de la librería en javascript agregada anteriormente.


<script type="text/javascript">
var flash = new SWFObject('/play-audio.swf', 'stream', '100%', '20', '7');
flash.addVariable('type', 'mp3');
flash.addVariable('file', '/audio.mp3');
flash.write('div_reproductor');
</script><noscript>Flash SWFobject</noscript>

Finalmente, nuestro código HTML completo usando la librería SWFObject quedaría de la siguiente forma:


<html>
<head>
<title>Validar flash con JavaScript y SWFObject</title>
<!-- Flash SWFobject -->
<script src="/js/swfobject.js" type="text/javascript"></script>
</head>

<body>
<div id="reproductor">
<img src="/flash-no-disponible.jpg" alt="Flash Player no disponible" />
</div>
<script type="text/javascript">
var flash = new SWFObject('/play-audio.swf', 'stream', '100%', '20', '7');
flash.addVariable('type', 'mp3');
flash.addVariable('file', '/audio.mp3');
flash.write('div_reproductor');
</script><noscript>Flash SWFobject</noscript>
</body>
</html>

Como podéis observar la librería SWFObject es una herramienta muy potente y fiable en el desarrollo web de aplicaciones siempre y cuando el navegador del usuario tenga javascript habilitado.

Blog premiado como el mejor blog del día

alejandro arco 1 Comentario »

blogdeldia - Blog premiado como el mejor blog del día El blog Alejandro Arco ha sido premiado hoy, día 12 de enero del 2009 como el mejor blog del día.

Premiado como uno de los blogs más interesantes en internet en los sectores del desarrollo web de aplicaciones, el SEO y el SEM, y la administración de sistemas.

A continuación podéis leer la entrevista que me han realizado en este mismo blog y/o visitar la web blog del día con la distinción mencionada.

¿Por qué te decidiste a iniciar el blog?

Pues sinceramente empecé a escribir en mi blog artículos como si fuera “un cajón de sastre” donde poder guardar contenido relevante en el día a día para el desarrollo de mi trabajo. Pensé que al igual que esa información a mí me resultaría útil para futuras consultas, les podría ser igual de útil a usuarios profesionales e iniciados en el sector del desarrollo web de aplicaciones, el SEO y el SEM y la administración de sistemas.

También he de reconocer que esto mismo lo quería desarrollar con una web totalmente desarrollada a medida por mí, pero la falta de tiempo me llevó a replantearme la idea de usar un CMS como lo es Wordpress (altamente recomendable).

¿Cuál es el propósito del blog?

Como he comentado anteriormente el propósito del blog es facilitar información sobre la actualidad de las TIC y escribir artículos útiles y de interés sobre el desarrollo web de aplicaciones, el SEO y el SEM, así como la administración de sistemas.

La idea principal es a través de mi experiencia personal y profesional facilitar y dar a conocer información útil en los sectores comentados anteriormente y en la medida de lo posible resolver todas las dudas que vayan surgiendo en mi blog sobre el desarrollo web de los usuarios que lo visitan y mantener esa información para los visitantes posteriores.

¿Experiencias o anécdotas más significativas como blogger?

Realmente mi blog lleva poco tiempo en el “mercado” de internet, de hecho creo que acaba de cumplir 6 meses desde su publicación y no tengo grandes anécdotas que contar.

Quizás lo único reseñable es que se acaban conociendo a personas muy interesantes, ya que ser escritor de tu propio blog conlleva leer mucho de otros blogs y esto al fin y al cabo es una comunidad.

¿Qué esperas del blog en el futuro?

Poder tener el tiempo suficiente como para poder escribir todos los artículos que tengo en mente y por falta de tiempo no me es posible. De igual forma, lo que espero de mi blog es que sencillamente sea útil al menos a un usuario que lo visite, con esto ya estaría satisfecho.

¿Cómo es la persona que hay detrás de este blog?

Soy un usuario más de internet el cual también se informa a través de otros muchos blogs sobre temas de interés, y a su vez soy un profesional como muchos otros que tienen que usar a diario un ordenador para realizar su labor.

Soy un blogger humilde que lo único que desea es facilitar la vida a los usuarios iniciados y profesionales sobre aspectos especialmente enfocados al mundillo web.

¿Qué dirías a los bloggers que empiezan?

Les diriía que empiecen con las ideas claras de lo que quieren transmitir y que le dediquen todo el tiempo que puedan si así lo desean, que no se vean “obligados” a escribir si alguna ocasión no tienen nada que contar. Y obviamente que tengan paciencia, ya que la difusión de un blog lleva su tiempo, lo primordial es crear contenido relevante y de interés, aunque obviamente el SEO y el SEM son factores importantes para la difusión del mismo.

Y por supuesto, que los artículos sean própios y personales.

Actualización Google PageRank, finales diciembre 2008

buscadores 3 Comentarios »

google-pagerank - Actualización Google PageRank, finales diciembre 2008A finales del mes de diciembre e inmersos en las fiestas navideñas, los usuarios hemos visto como Google ha vuelto a actualizar el PR (PageRank) en periodo vacacional de nuestros sitios web.

En mi caso, he observado como mi sitio web sobre la administración de sistemas y el desarrollo web de aplicaciones ha mejorado “la barrita verde” de Google, de un PR2 a un PR3 en esta ocasión. ¿Cómo os ha ido a vosotros?

Tras la finalización de las fiestas vuelvo a la carga con ánimos renovados, de este modo, espero que los próximos artículos sean de gran interés para todos vosotros. ¿Alguna petición?

Feliz año nuevo y próspero PageRank durante todo el 2009 jeje

Publicado por Alejandro Arco.Gracias WordPress & N.Design Studio.