Mi Blog

No te olvides seguirme en Facebook.

Tan solo tienes que hacer click en Me Gusta

 

 

x

⋆ Cómo instalar y configurar AWStats en IONOS

⋆ Cómo instalar y configurar AWStats en IONOS

(Tiempo estimado: 8 - 16 minutos)

Instalar AWStats en IONOS para conocer el % de uso de vuestras páginas Web es bastante sencillo. Hace algunos años IONOS (el antigüo 1&1) decidió eliminar AWStats ó Webalyzer (ya no recuerdo) de todos los hostings para liberar recursos de espacio y de memoria. Google Analytics es lo bastante potente como para mostrarnos casi todos los datos de las visitas, pero algunos datos se le escapan. Es precisamente por eso que he decidido volver a instalar AWStats en IONOS y funciona correctamente!

Seguid leyendo y os enseñaré a utilizar de forma sencilla cómo podéis instalarlo en vuestro Hosting...

 

 

¿QUÉ ES AWSTATS?

AWStats es una herramienta open source de informes de análisis web, apta para analizar datos de servicios de Internet como un servidor web, streaming, mail y FTP. AWstats analiza los archivos de log del servidor, y basándose en ellos produce informes HTML. Los datos son presentados visualmente en informes de tablas y gráficos de barra. Pueden crearse informes estáticos mediante una interfaz de línea de comando, y se pueden obtener informes on-demand a través de un navegador web, gracias a un programa CGI.

AWStats soporta la mayoría de los formatos de archivos log de servidor web conocidos, entre ellos Apache (formato de log NCSA combinado/XLF/ELF o formato común/CLFt), WebStar, IIS (formato de log del W3C) y muchos otros formatos comunes de Internet.

Logo Awstats

 

 

AWStats permite sacar las estadísticas de uso de una ó varias Páginas Web

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Cuenta en IONOS con Hosting Linux
  • Software AWStats (Gratuito)
  • Conexión a Internet

 

 

2.- DESCARGAR E INSTALACIÓN DE AWSTATS

El primer paso es crear un directorio donde "instalaremos" AWStats en el servidor de IONOS. Crearemos el directorio /awstats/ en el directorio raíz de nuestro servidor Web y dentro de él, descargaremos de la web oficial https://awstats.sourceforge.io/ el paquete de AWStats. A continuación, descomprimiremos el software de AWStats. El directorio awstats, quedará de la siguiente forma:

[user@ionoshost awstats]$ ls -l
total 16
-rw-rw-r-- 1 ftpusers ftpusers 7039 Apr 16 11:44 README.md
drwxrwxr-x 4 ftpusers ftpusers 4096 Apr 30 15:00 docs
drwxrwxr-x 6 ftpusers ftpusers 4096 Apr 16 11:39 tools
drwxrwxr-x 7 ftpusers ftpusers 88 Nov 4 2013 wwwroot

 

 

3.- CONFIGURACIÓN DE AWSTATS

Una vez que tenemos descomprimido awstats, accederemos a la URL desde el navegador web. En este ejemplo, la URL es https://www.raulprietofernandez.net/awstats/wwwroot/cgi-bin/awstats/awstats.pl. Una vez haya cargado la página web, veremos un mensaje de error similar al siguiente:

AWStats IONOSPrimer acceso a AWStats

 

 

Aunque existe una herramienta de configuración y generación del fichero de configuración de AWStats (awstats_configure.pl) dentro del directorio tools, lo que vamos a hacer es copiar el fichero de ejemplo y posteriormente modificarlo. Para ello, entraremos el directorio /awstats/wwwroot/cgi-bin/ y copiaremos el fichero de ejemplo y le pondremos el nombre de nuestro dominio. Podemos hacerlo a través de SFTP, pero yo hago los cambios desde la línea de comandos desde SSH:

[user@ionoshost cgi-bin]$ cp awstats.model.conf  tudominio.net

 

 

Ahora, una vez hecha la copia del fichero de ejemplo y si tenemos al directorio awstats en el directorio raíz de nuestro dominio, modificaremos las siguientes líneas:

LogFile="/kunden/homepages/XX/YYYYYYYYY/htdocs/logs/access.log.current"
LogFormat="%host - - %time1 %methodurl %code %bytesd %virtualname %refererquot %uaquot %otherquot"
SiteDomain="www.tudominio.net"
HostAliases="www.tudominio.net localhost 127.0.0.1"
DNSLookup=1
DynamicDNSLookup=1
DirData="/kunden/homepages/XX/YYYYYYYYY/htdocs/awstats/logs/"
DirIcons="/awstats/wwwroot/icon"
AllowToUpdateStatsFromBrowser=1
LoadPlugin="ipv6"

 

 

Los valores de XX e YYYYYYYYY los podemos obtener entrando por SSH en el hosting y ejecutando el comando siguiente:

[user@ionoshost ~]$ pwd
/kunden/homepages/13/d641102331/htdocs

 

 

Ahora crearemos el directorio /awstats/logs/ donde se guardarán los logs de Apache una vez procesados por AWStats:

[user@ionoshost ~]$ mkdir /awstats/logs/

 

 

Ahora, si accedemos a la URL de AWStats (https://www.raulprietofernandez.net/awstats/wwwroot/cgi-bin/awstats/awstats.pl), veremos que ya se puede ver la página pero los datos están a 0:

AWStats IONOSPágina principal de AWStats con datos a 0

 

 

En la parte superior de la página, veremos un mensaje de advertencia de que nunca se han actualizado los datos de la web. Si hacemos click en "Actualizar ahora", se comenzarán a procesar los datos de logs de Apache para convertirlos al formato de AWStats. Es casi seguro que la primera ejecución falle desde el navegador ya que se superará el TIMEOUT del navegador, pero ... ¡hay que intentarlo!

AWStats IONOSActualizar datos ahora

 

 

Si el proceso falla, veremos un error como en el caso siguiente y tendremos que ejecutar (la primera vez), el script de parseo de logs desde consola a través de SSH:

AWStats IONOSTimeout

 

 

La primera vez que analizamos los logs (si ha fallado a través de la web), debemos lanzar 3 comandos para que se generen todos los logs de awstats: (puede tardar horas en función del tamaño de los logs):

Update general:

[user@ionoshost ~]$ /usr/bin/perl /kunden/homepages/XX/YYYYYYYY/htdocs/awstat/wwwroot/cgi-bin/awstats.pl -config=tudominio.net -update
Create/Update database for config "/kunden/homepages/XX/YYYYYYYY/htdocs/awstats/wwwroot/cgi-bin/tudominio.net" by AWStats version 7.8 (build 20200416)
From data in log file "/kunden/homepages/XX/YYYYYYYY/htdocs/logs/access.log.current"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 77794
Found 1690 dropped records,
Found 0 comments,
Found 0 blank records,
Found 1 corrupted records,
Found 0 old records,
Found 76103 new qualified records.

 

 

Segmentar ficheros en días:

[user@ionoshost ~]$ /usr/bin/perl /kunden/homepages/XX/YYYYYYYY/htdocs/awstats/wwwroot/cgi-bin/awstats.pl -config=tudominio.net -databasebreak=day -update
Create/Update database for config "/kunden/homepages/XX/YYYYYYYY/htdocs/awstats/wwwroot/cgi-bin/tudominio.net" by AWStats version 7.8 (build 20200416)
From data in log file "/kunden/homepages/XX/YYYYYYYY/htdocs/logs/access.log.current"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 78498
Found 1695 dropped records,
Found 0 comments,
Found 0 blank records,
Found 1 corrupted records,
Found 0 old records,
Found 76802 new qualified records.

 

 

Segmentar ficheros en horas:

[user@ionoshost ~]$ /usr/bin/perl /kunden/homepages/XX/YYYYYYYY/htdocs/awstats/wwwroot/cgi-bin/awstats.pl -config=tudominio.net -databasebreak=hourly -update
Create/Update database for config "/kunden/homepages/XX/YYYYYYYY/htdocs/awstats/wwwroot/cgi-bin/tudominio.net" by AWStats version 7.8 (build 20200416)
From data in log file "/kunden/homepages/XX/YYYYYYYY/htdocs/logs/access.log.current"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 79145
Found 1696 dropped records,
Found 0 comments,
Found 0 blank records,
Found 1 corrupted records,
Found 0 old records,
Found 77448 new qualified records.

 

Ahora, si comprobamos el directorio de logs veremos que hay una serie de ficheros de texto con la fecha en el nombre. ¡No borréis dichos ficheros!. Si lo hacéis, perderéis toda la información y no veréis nada en la página web de AWStats:

[user@ionoshost logs]$ ls -l
total 424
-rw----r-- 1 ftpusers ftpusers 204110 Jun 9 11:46 awstats062020.txt
-rw----r-- 1 ftpusers ftpusers 205139 Jun 9 11:53 awstats06202009.txt
-rw----r-- 1 ftpusers ftpusers 18532 Jun 9 11:57 dnscachelastupdate.txt

 

 

En la página principal de AWStats, veremos que ya tenemos datos disponibles:

AWStats IONOSDatos disponibles en AWStats

 

 

 

 

 

 

4.- SECURIZAR AWSTATS

Por seguridad, es conveniente bloquear el acceso a usuarios no deseados al directorio y subdirectorios bajo /awststats/. Para ello, haremos uso de la funcionalidadd e Apache y .htaccess

Crearemos un fichero de nombre ".htpasswd" dentro de /awstats/ con el siguiente contenido (recuerda cambiar XX y YYYYYY):

AuthType Basic
AuthName "Acceso no autorizado"
AuthUserFile /kunden/homepages/XX/YYYYYYYYYY/htdocs/awstats/.htpasswd
Require user NOMBRE_USUARIO

 

 

A continuación, debemos crear el usuario que tendrá acceso a AWStats:

[user@ionoshost awstats]$ htpasswd -c .htpasswd TU_USUARIO 
New password:
Re-type new password:
Adding password for user TU_USUARIO
 

 

 

5.- MOD_REWRITE Y AWSTATS

Para evitar tener que introducir toda la URL en el navegador, lo que haremos será crear una redirección desde /awstats/ a -> awstats/wwwroot/cgi-bin/awstats/awstats.pl. Para ello, editaremos el fichero .htaccess ubicado en nuestro directorio raíz web y añadiremos lo siguiente:

RewriteEngine On
RewriteBase /
RedirectMatch 301 ^/awstats\/?$ /awstats/wwwroot/cgi-bin/awstats/awstats.pl

 

 

6.- CRONTAB

Para que las estadísticas se generen de forma automática, programaremos 3 tareas cada 30 minutos en cron. Ejecutaremos el comando "crontab -e" y añadiremos las 3 líneas siguientes:

*/30 * * * * /usr/bin/perl /kunden/homepages/XX/YYYYYYYYYY/htdocs/awstats/wwwroot/cgi-bin/awstats.pl -config=tudominio.net -update
*/30 * * * * /usr/bin/perl /kunden/homepages/XX/YYYYYYYYYY/htdocs/awstats/wwwroot/cgi-bin/awstats.pl -config=tudominio.net -databasebreak=day -update
*/30 * * * * /usr/bin/perl /kunden/homepages/XX/YYYYYYYYYY/htdocs/awstats/wwwroot/cgi-bin/awstats.pl -config=tudominio.net -databasebreak=hour -update

 

 

ENJOY!


Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

Escribir un comentario

Código de seguridad
Refescar