Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org/
Licencia de este documento: Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2024 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
Webalizer es un software de análisis de registros de anfitriones Web. Pese a ser un software algo anticuado con algunas carencias y más de una década sin nuevos lanzamientos, continua siendo una de las herramientas de administración de servidores Web más utilizadas debido a su simpleza y facilidad de uso. Su desarrollo fue iniciado por Bradford L. Barrett en 1997 y tuvo un desarrollo activo hasta el año 2013.
Las estadísticas comúnmente reportadas por Webalizer incluyen visitas, referencias, países de los visitantes y la cantidad de datos descargados. Éstas estadísticas se pueden ver gráficamente y presentarse por diferentes períodos de tiempo, como por día, hora o mes.
Sitio Web: https://webalizer.net
Instalación de Webalizer en Red Hat™ Enterprise Linux 8, Alma Linux 8 y Rocky Linux 8:
dnf -y install epel-release
dnf -y install webalizer
Webalizer está ausente de los almacenes de software soportados para Red Hat™ Enterprise Linux 9, Alma Linux 9 y Rocky Linux 9, por tanto se debe instalar utilizando un almacén de software de terceros:
wget2 http://repo.okay.com.mx/centos/9/x86_64/release/webalizer-2.23_08-15.el9.x86_64.rpm
dnf -y localinstall webalizer-2.23_08-15.el9.x86_64.rpm
Una parte se realizará como usuario root
y el resto como usuario regular.
Debido a que /var/log/nginx
o /var/log/httpd
sólo permiten el acceso al servidor Web y al usuario root
, se recomienda configurar un nuevo directorio que permita a los usuario regulares acceder a registros de servidor Web. En el siguiente ejemplo y subsecuentes procedimientos, se utilizará /var/log/virtualhosts
:
mkdir -p /var/log/virtualhosts
chmod 775 /var/log/virtualhosts
chown nginx:nginx /var/log/virtualhosts
semanage fcontext -a -t httpd_log_t "/var/log/virtualhosts"
semanage fcontext -a -t httpd_log_t "/var/log/virtualhosts(/.*)?"
restorecon -R /var/log/virtualhosts
Edite la configuración de anfitrión virtual y cambiar las rutas de los registros para access_log
y error_log
. Si utiliza Nginx, edite la configuración del anfitrión virtual correspondiente y cambie lo siguiente:
access_log /var/log/nginx/usuario-access_log main;
error_log /var/log/nginx/usuario-error_log notice;
Por:
access_log /var/log/virtualhosts/usuario-access_log main;
error_log /var/log/virtualhosts/usuario-error_log notice;
Reinicie servicio nginx
:
systemctl restart nginx
Genere enlaces simbólicos de los registros de cortesía al directorio de registros en el directorio de inicio del usuario para que éste los pueda consultar fácilmente accediendo por SSH. Cabe señalar que Webalizer es incapaz de utilizar estos enlaces simbólicos.
ln -sr /var/log/virtualhosts/usuario-access_log /home/usuario/logs/access_log
ln -sr /var/log/virtualhosts/usuario-error_log /home/usuario/logs/error_log
Acceda como el usuario regular asociado al anfitrión virtual:
su -l usuario -s /bin/bash
Ejecute lo siguiente como usuario regular para copiar el archivo de configuración de Webalizer a un directorio propiedad del usuario:
mkdir -p ~/private
cp -a /etc/webalizer.conf ~/private/webalizer.conf
Edite el archivo de configuración recién copiado:
vim ~/private/webalizer.conf
Cambie la configuración de LogFile
, OutputDir
, HistoryName
, IncrementalName
y DNSCache
por el archivo de registro en su nueva ruta y la ruta de algunos archivos que deberán almacenarse en un directorio propiedad del usuario:
LogFile /var/log/virtualhosts/usuario-access_log
OutputDir /home/usuario/public_html/estadisticas
HistoryName /home/usuario/private/webalizer.hist
IncrementalName /home/usuario/private/webalizer.current
DNSCache /home/usuario/private/dns_cache.db
Genere el directorio para almacenar los datos:
mkdir -p ~/public_html/stats/
El procesamiento de los registros se configurará en una tarea programada que ejecutará webalizer
utilizando la opción -c
con el valor /home/usuario/private/webalizer.conf
, mismo que tendrá en su configuración utilizar /var/log/virtualhosts/usuario-access_log
como registro a analizar y que los datos resultantes se guarden dentro de /home/usuario/public_html/stats/
.
Ejecutar lo siguiente como usuario regular:
crontab -e
Añadir:
30 4 * * * webalizer -c /home/usuario/private/webalizer.conf >/dev/null 2>&1 ||:
Guarde los cambio salga de la herramienta crontab
.
Acceda al anfitrión virtual con el navegador Web de su preferencia con la finalidad de generar actividad en los nuevos archivos de registro.
Ejecute manualmente lo siguiente para generar un primer informe.
webalizer -c /home/usuario/private/webalizer.conf
Acceda con cualquier navegador Web hacia http://sudominio.com/stats/
para ver el primer informe creado con Webalizer.