Instalación AWSTATS
De Wikillano
Configuración de Awstats
Desempaquetar awstats en /usr/local
tar -zxvf awstats-6.6.tar.gz
Cambiamos el nombre de la carpeta que nos acaba de crear por awstats
mv /usr/local/awstats-6.6.tar.gz awstats
Ahora debemos añadir lo siguiente al dominio default o al fichero de conf de apache1/2 lo siguiente:
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride
Order allow,deny
Allow from all
AuthType basic
AuthName "Acceso restringido a Estadisticas"
AuthUserFile /usr/local/awstats/wwwroot/cgi-bin/.passwd
AuthGroupFile /usr/local/awstats/wwwroot/cgi-bin/.group
<Files awstats.pl>
require group admin
</Files>
</Directory>
las lineas:
AuthUserFile /usr/local/awstats/wwwroot/cgi-bin/.passwd AuthGroupFile /usr/local/awstats/wwwroot/cgi-bin/.group <Files awstats.pl> require group admin </Files>
son las encargadas de pedir login y password en la pagina de awstats, esto se explicará más abajo.
Este es el aspecto de mi virtualhost principal:
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
servername awstats.ballano.es
ErrorLog /var/log/apache2/000-default-error.log
CustomLog /var/log/apache2/000-default-access.log combined
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
#Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride
Order allow,deny
Allow from all
AuthType basic
AuthName "Acceso restringido a Estadisticas"
AuthUserFile /usr/local/awstats/wwwroot/cgi-bin/.passwd
AuthGroupFile /usr/local/awstats/wwwroot/cgi-bin/.group
<Files awstats.pl>
require group admin
</Files>
</Directory>
<IfModule mod_ssl.c>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/servidor-cert.pem
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
</IfModule>
</VirtualHost>
reiniciamos apache
/etc/init.d/apache2 restart
Supuestamente, ejecutando simplemente el script en perl que se encuentra en tools /usr/local/awstats... y que se llama awstats_configure.pl, el propio script nos iría haciendo preguntas sobre nuestro sistema, y trataría de configurar la aplicación.
En este caso configuraremos manualmente awstats, de esta manera podremos observar su funcionamiento.
Ahora debemos crear el directorio:
mkdir /etc/awstats
Aquí dentro incluiremos los ficheros de configuración que dirán al programa de qué dominio debe analizar los logs y con que características.
Por ejemplo para nuestro dominio pruebas.ballano.es el fichero de conf debería llamarse de la siguiente manera y situarse dentro del anterior directorio.
el propietario de este fichero de conf debe ser www-data.
awstats.pruebas.ballano.es.conf
dentro de este fichero especificaremos las características de este dominio para que awstats haga su trabajo, yo he puesto las opciones que he creido convenientes, pero existen muchas más, siempre podemos echar un vistazo en el fichero /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf donde aparecen muchas más opciones a incluir.
#ruta completa al archivo de logs de acceso de nuestro dominio LogFile="/var/log/apache2/pruebas.ballano.es-access.log"
#Tipo de log W=web LogType="W" #Formato de log 1 para apache LogFormat="1" #El dominio SiteDomain="pruebas.ballano.es" #permitir que cualquiera pueda actualizxar las estadisticas desde la web AllowToUpdateStatsFromBrowser="1" #Permite ver las estadísticas de todo el año AllowFullYearView="3" #Ruta a los iconos y gráficos de awstats DirIcons="/awstatsicons" #Plugins que queremos cargar para ampliar las funcionalidades de awstats, antes debemos bajarlos y desempaquetarlos en la carpeta plugins LoadPlugin="hashfiles" LoadPlugin="geoipfree" LoadPlugin="userinfo" LoadPlugin="hostinfo" # Directorio donde awstats dejará los datos recogidos, si no ponemos este directorio # los dejará por defecto en /usr/local/awstats/wwwroot/cgi-bin/ DirData="/data/awstatsdata/"
# Plugin para ver los gráficos más bonitos en java (no es necesario) LoadPlugin="graphapplet /awstatsclasses"
Si especificamos otro lugar para los datos recogidos por awstats le deberemos dar permisos a www-data a la misma, si no lo hacemos awstats dara un error a la hora de actualizar.
# Directorio donde awstats dejará los datos recogidos, si no ponemos este directorio # los dejará por defecto en /usr/local/awstats/wwwroot/cgi-bin/ DirData="/data/awstatsdata/"
Esta configuración es muy básica, y simplemente nos generará los reports de manera dinámica, si queremos que awstats genere paginas estáticas mediante la herramienta awstats_buildstaticpages deberemos añadir más opciones a este fichero de configuración.
mediante awstats_configure.pl podemos configurar completamente el fichero de conf aunque si ponemos las siguientes lineas no deberíamos de tener problemas a la hora de generar los html estaticos.
# Show monthly summary # Context: Web, Streaming, Mail, Ftp # Default: UVPHB, Possible column codes: UVPHB ShowSummary=UVPHB # Show monthly chart # Context: Web, Streaming, Mail, Ftp # Default: UVPHB, Possible column codes: UVPHB ShowMonthStats=UVPHB # Show days of month chart # Context: Web, Streaming, Mail, Ftp # Default: VPHB, Possible column codes: VPHB ShowDaysOfMonthStats=VPHB # Show days of week chart # Context: Web, Streaming, Mail, Ftp # Default: PHB, Possible column codes: PHB ShowDaysOfWeekStats=PHB # Show hourly chart # Context: Web, Streaming, Mail, Ftp # Default: PHB, Possible column codes: PHB ShowHoursStats=PHB # Show domains/country chart # Context: Web, Streaming, Mail, Ftp # Default: PHB, Possible column codes: PHB ShowDomainsStats=PHB # Show hosts chart # Context: Web, Streaming, Mail, Ftp # Default: PHBL, Possible column codes: PHBL ShowHostsStats=PHBL # Show authenticated users chart # Context: Web, Streaming, Ftp # Default: 0, Possible column codes: PHBL ShowAuthenticatedUsers=0 # Show robots chart # Context: Web, Streaming # Default: HBL, Possible column codes: HBL ShowRobotsStats=HBL # Show worms chart # Context: Web, Streaming # Default: 0 (If set to other than 0, see also LevelForWormsDetection), Possible column codes: HBL ShowWormsStats=0 # Show email senders chart (For use when analyzing mail log files) # Context: Mail # Default: 0, Possible column codes: HBML ShowEMailSenders=0 # Show email receivers chart (For use when analyzing mail log files) # Context: Mail # Default: 0, Possible column codes: HBML ShowEMailReceivers=0 # Show session chart # Context: Web, Streaming, Ftp # Default: 1, Possible column codes: None ShowSessionsStats=1 # Show pages-url chart. # Context: Web, Streaming, Ftp # Default: PBEX, Possible column codes: PBEX ShowPagesStats=PBEX # Show file types chart. # Context: Web, Streaming, Ftp # Default: HB, Possible column codes: HBC ShowFileTypesStats=HB # Show file size chart (Not yet available) # Context: Web, Streaming, Mail, Ftp # Default: 1, Possible column codes: None ShowFileSizesStats=0 # Show operating systems chart # Context: Web, Streaming, Ftp # Default: 1, Possible column codes: None ShowOSStats=1 # Show browsers chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowBrowsersStats=1 # Show screen size chart # Context: Web, Streaming # Default: 0 (If set to 1, see also MiscTrackerUrl), Possible column codes: None ShowScreenSizeStats=0 # Show origin chart # Context: Web, Streaming # Default: PH, Possible column codes: PH ShowOriginStats=PH
# Show keyphrases chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowKeyphrasesStats=1
# Show keywords chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowKeywordsStats=1 # Show misc chart # Context: Web, Streaming # Default: a (See also MiscTrackerUrl parameter), Possible column codes: anjdfrqwp ShowMiscStats=a # Show http errors chart # Context: Web, Streaming # Default: 1, Possible column codes: None ShowHTTPErrorsStats=1 # Show smtp errors chart (For use when analyzing mail log files) # Context: Mail # Default: 0, Possible column codes: None ShowSMTPErrorsStats=0 # Show the cluster report (Your LogFormat must contains the %cluster tag) # Context: Web, Streaming, Ftp # Default: 0, Possible column codes: PHB ShowClusterStats=0
algunas de las opciones anteriores son para analizar los logs de correo (opción que también contempla awstats) en este caso awstats las ignorará.
Para probar nuestra configuración debemos llamar al script de la siguiente manera:
root@awstats:/etc/awstats# perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=pruebas.ballano.es -update
Si todo ha ido bien, esto es lo que más o menos debería salir:
Create/Update database for config "/etc/awstats/awstats.pruebas.ballano.es.conf" by AWStats version 6.6 (build 1.887) From data in log file "//var/log/apache2/pruebas.ballano.es-access.log"... Warning: HostAliases parameter is not defined, awstats choose "pruebas.ballano.es localhost 127.0.0.1". Phase 1 : First bypass old records, searching new record... Direct access after last parsed record (after line 7) Jumped lines in file: 7 Found 7 already parsed records. Parsed lines in file: 0 Found 0 dropped records, Found 0 corrupted records, Found 0 old records, Found 0 new qualified records.
Si queremos ver las estadísticas que nos ha generado awstats, debemos hacerlo de la siguiente manera en nuestro navegador, teniendo en cuenta que en este caso he configurado el servidor web por httpS.
https://awstats.ballano.es/awstats/awstats.pl?config=pruebas.ballano.es
- awstats.ballano.es es nuestro dominio default
- pruebas.ballano.es es el dominio del cual estamos generando estadísticas.
para la actualización automática de nuestras estadísticas, debemos añadir la siguiente linea al crontab, crontab -e
30 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=pruebas.ballano.es -update
De esta manera las estadísticas se actualizarán cada media hora.
Para los demás dominios debemos hacer el mismo proceso,
- crear un fichero de conf
- Añadir las características necesarias y opcionales que se quiera
- Actualizar las estadisticas
- Crear un crontab para el dominio
Si no disponemos de dominio para alguna web, quiero decir si disponemos de alguna web que cuelgue del dominio principal, deberemos realizar las estadísticas del dominio principal debido a que los logs de estas webs van a parar al log principal de apache.
En mi caso tengo la web macanudo que cuelga del dominio principal awstats.ballano.es
para acceder a ella:
https://awstats.ballano.es/macanudo
La única manera de poder ver los accesos a esta web es realizar las estadísticas del dominio principal y visualizarlas como anteriormente pero cambiando el dominio.
https://awstats.ballano.es/awstats/awstats.pl?config=awstats.ballano.es
