Montaje de un Servidor Ciego con Debian Lenny (11.-Estadísticas con Awstats)

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.

2 Respuestas a “Montaje de un Servidor Ciego con Debian Lenny (11.-Estadísticas con Awstats)”


Añade un Comentario