Una vez completemos la instalación y configuración de este software tendremos información al detalle como por ejemplo el tiempo que ha estado un usuario conectado a nuestra web, visitas por mes, semana, día, de donde provienen las visitas, en fin todo lo que necesitamos saber de lo que viene a ver que tenemos en nuestro servidor.
Para su instalación vamos a comenzar por arrancar nuestro servidor, nos logeamos como usuario root y lo instalamos:
#apt-get install awstats
Para su instalación en el sistema vamos a ejecutar un script de configuración escrito en Perl situado en la ruta ( /usr/share/doc/awstats/examples )
#cd /usr/share/doc/awstats/examples
#perl awstats_configure.pl
Para su configuración nos encontraremos con algunas preguntas que tendremos que responder. Lo que esta en negrita son las respuestas:
—– AWStats awstats_configure 1.0 (build 1.7) (c) Laurent Destailleur —–
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to ‘understand’ all possible ways to use AWStats…
Read the AWStats documentation (docs/index.html).
—–> Running OS detected: Linux, BSD or Unix
Warning: AWStats standard directory on Linux OS is ‘/usr/local/awstats’.
If you want to use standard directory, you should first move all content
of AWStats distribution from current directory:
/usr/share/doc/awstats/examples
to standard directory:
/usr/local/awstats
And then, run configure.pl from this location.
Do you want to continue setup from this NON standard directory [yN] Y
—–> Check for web server install
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path (’none’ to skip web server setup):
>/etc/apache2/apache2.conf
—–> Check and complete web server config file ‘/etc/apache2/apache2.conf’
—–> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? N
—–> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/share/doc/awstats/examples/wwwroot/cgi-bin/awstats.pl -update -config=myvirtualserver
Or if you have several config files and prefer having only one command:
/usr/share/doc/awstats/examples/tools/awstats_updateall.pl now
Press ENTER to continue…
No config file was built. You can run this tool later to build as
much config/profile files as you want.
Once you have a config/profile file, for example ‘awstats.demo.conf’,
You can manually update your statistics for ‘demo’ with command:
> perl awstats.pl -update -config=demo
You can also read your statistics for ‘demo’ with URL:
> http://localhost/awstats/awstats.pl?config=demo
Press ENTER to finish…
Una vez completada la instalación vamos a configurar el archivo awstats.conf que se encuentra en la ruta /etc/awstats/
#nano /etc/awstats/awstats.conf
Una vez dentro buscamos la linea …
LogFile=”/var/log/apache/access.log”
y la substituimos por …
LogFile=”/var/log/apache2/access.log”
Cambiamos la linea …
LogFormat=4
por …
LogFormat=1
Buscamos la linea …
SiteDomain=””
Aquí vamos a indicarle cual es nuestro dominio, para esto vamos a usar el nombre que le pusimos a nuestro servidor.
SiteDomain=”ejemmplo.no-ip.info”
Una vez hechas estas modificaciones guardamos y guardamos y salimos.
Ahora vamos ha hacer una copia de este fichero pero con nuestro nombre de dominio, adjuntando awstats y conf
#cd /etc/awstats/
#cp awstats.conf awstats.ejemplo.no-ip.info.conf
Vamos a darle permisos al fichero log que almacena apache2 para que awstats pueda leerlo sin problemas
#chmod o+r /var/log/apache2/access.log
Ahora vamos a ejecutar la configuración que antes hicimos con el archivo awstats.conf pero para nuestro servidor
#/usr/lib/cgi-bin/awstats.pl -config=awstats.ejemplo.no-ip.info.conf
Una vez hecho esto se actualizara y tomara la información de los ficheros Log de nuestro apache2.
Ahora vamos a crear un enlace simbólico de la carpeta cgi-bin que awstats nos a creado en la ruta /usr/lib/ hacia el directorio de nuestro servidor. Nos logemamos como usuarioweb y
$ln -s /usr/lib/cgi-bin /home/usuarioweb/www/cgi-bin
Podemos restringir su acceso creando un archivo .htaccess en el interior de la carpeta cgi-bin.
Seguidamente configuraremos el fichero apache2.conf para que se muestren bien las imágenes en los resultados de las estadísticas. Nos logeamos como root y
#nano /etc/apache2/apache2.conf
Nos situamos al final del fichero y agregamos las siguiente lineas …
Alias /awstatscss “/usr/share/doc/awstats/examples/css/”
Alias /awstatsicons “/usr/share/awstats/icon/”
ScriptAlias /awstats/ “/usr/lib/cgi-bin/”
y finalmente agregaremos estas lineas al final del archivo
Alias /awstats-icon/ /usr/share/awstats/icon/
<Directory /usr/share/awstats/icon>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Guardamos y cerramos.
Ahora podemos abrir un navegador y veremos los resultados de todo esto (modifica la dirección y el archivo de awstats)
http://ejemplo.no-ip.info/cgi-bin/awstats.pl?config=awstats.ejemplo.no-ip.info.conf
Como podéis ver el programa de estadísticas esta listo para mostrarnos todo lo que hacen nuestros usuarios, con que lo hacen y cuando lo hacen. Si queremos que no todo el mundo pueda acceder a él tendremos que proteger la carpeta /home/usuarioweb/www/cgi-bin con un archivo .htaccesss, tal y como se describió en el apartado de apache2.
Ya tan solo nos queda un ultimo paso para automatizar la tarea de actualización de este programa. Para esto vamos a usar el programador de tareas Crontab que lleva nuestra Linux Debian de serie.
Con lo que veremos a continuación vamos ha hacer que se actualice una vez cada 60 minutos, así no sobrecargamos mucho nuestra maquina y tenemos prácticamente actualizada la información a la hora de verla.
Programamos la tarea
#nano /etc/crontab
Veremos algo así:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don’t have to run the `crontab’
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts –report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )
Nos situamos en el final del fichero y pegamos esta linea
0-59/60 * * * * root /usr/lib/cgi-bin/awstats.pl -config=ejemplo.no-ip.info -update >/dev/null
Ahora ya tenemos el programa AwStats funcionando y esperando movimiento en nuestro servidor para ofrecernos las estadísticas al detalle.










Excelente me sirvió muy mucho.
Todos los artículos de “MONTAJE DE UN SERVIDOR CIEGO CON DEBIAN LENNY” están espectaculares.
Muy valioso aporte!!
Saludos.
Me alegro de que te sirviera. Un saludo.