abr 152013
 

A medida que un sitio web va evolucionando,  es habitual ir incorporando al mismo cambios en el diseño o en la funcionalidad que se ofrece a los usuarios.

Pero para comprobar que un cambio supone una mejora, es conveniente utilizar lo que se conoce como un test A/B.

En este artículo comentamos una posible implementación de este tipo de test en un sitio web desarrollado en lenguaje PHP.

Seguir leyendo »

 Publicado por en 6:00 pm
feb 192013
 

Un sitio web que ofrece un servicio de comercio electrónico, o de cualquier otro tipo que requiera solicitar al usuario información confidencial, debe proteger el envío de esta información, pero el protocolo HTTP que normalmente utiliza un servidor web no ofrece la seguridad necesaria para este tipo de uso.

La manera más habitual de mejorar la seguridad es establecer una conexión SSL, por la cual se transmiten encriptados los documentos que se intercambian el cliente y el servidor sobre protocolo HTTP. La combinación HTTP+SSL es conocida como HTTPS (HTTP seguro).

En este artículo se detallan los pasos a seguir para configurar un servidor web Apache sobre un servidor Linux para que el servicio que ofrece utilice https.
Seguir leyendo »

 Publicado por en 9:36 pm
dic 292012
 

(Read this post in english)
Un servidor típico en internet, ya sea un blog de WordPress, o un sitio que utiliza un gestor de contenidos Joomla, Drupal u otro tipo de CMS, requiere al menos dos servicios que deben estar permanentemente en ejecución: un servidor web apache, y un servidor de base de datos mysql.

Pero incluso en el servidor más estable, puede ocurrir que uno de estos servicios se encuentre con algún problema inesperado que provoque su finalización.

Por esta razón, es muy conveniente disponer de un script “monitor de servicios” que compruebe periódicamente el estado de los servicios críticos, y reaccione cuando uno de ellos no está activo, generando una alerta e intentando volver a arrancarlo.

En este artículo presentamos un sencillo ejemplo de script de monitorización de apache y mysql sobre un servidor linux, que puede extenderse fácilmente a la monitorización de otros servicios críticos.

Seguir leyendo »

 Publicado por en 10:49 pm
nov 282012
 

Un servidor Apache que se ejecuta en modo de multiproceso worker, crea un cierto número de procesos hijo para atender las solicitudes entrantes. A su vez, cada uno de los procesos ejecuta varios threads entre los que distribuye la carga. Para optimizar el uso de recursos disponibles, hay que configurar adecuadamente el número de procesos y threads que se ejecutan en el servidor.

Seguir leyendo »

 Publicado por en 8:10 pm
jun 042012
 

Existen muy buenas aplicaciones open source, como por ejemplo AWStats, que permiten realizar un análisis en profundidad de la información contenida en los logs de acceso de un servidor web.

En otro artículo comentaremos la funcionalidad de dicha herramienta, y la manera de instalarla y configurarla.

Sin embargo, en ocasiones nos puede interesar realizar un proceso ad-hoc de los ficheros de logs de nuestro servidor, para obtener información específica de la estructura de nuestro sitio web, de un modo que no está contemplado en una herramienta general como AWStats.

En este artículo vamos a ver la manera de realizar este proceso en un script perl desarrollado por nosotros mismos.
Seguir leyendo »

 Publicado por en 7:21 pm
abr 062012
 

(Read this post in english)

En una instalación de apache, por defecto los accesos se registran en un fichero llamado access.log en el directorio /var/log/apache2/.

De la misma forma, los errores que se producen se graban en un fichero llamado error.log en el mismo directorio.

El problema es que estos ficheros crece continuamente, y hace difícil la administración y el análisis de la información que contienen.

Para solucionarlo, se puede configurar el servidor web para que cree un fichero por día.

El fichero de configuración de apache para nuestro servidor virtual se encuentra en /etc/apache2/conf/sites_enabled/001-openalfa

En su interior, y dentro de la correspondiente seccion <VirtualHost>, añadimos las líneas:

CustomLog "| /usr/sbin/rotatelogs 
                ${APACHE_LOG_DIR}/openalfa/access_log.%Y-%m-%d-%H_%M_%S 86400" combined
 ErrorLog  "| /usr/sbin/rotatelogs
                          ${APACHE_LOG_DIR}/openalfa/error_log.%Y-%m-%d-%H_%M_%S 86400"

Como se ve, estamos utilizando un pipe (El carácter “|”) para redirigir el log de accesos y el log de errores a la utilidad rotatelogs.

El primer argumento de la utilidad rotatelogs es el nombre del fichero de destino, que utiliza parámetros %Y, %m, etc. para incluir la fecha y la hora de creación del mismo.

El segundo argumento (86400) es el número de segundos en un día (86400 = 24 * 60 * 60).

Una vez editado el fichero de configuración, sólo queda reinicializar el servidor web para que lea la nueva configuración:

# /etc/init.d/apache2 restart

 

 

 Publicado por en 2:18 pm