domingo, 17 de enero de 2016

Instalacion de estadisticas HOW TO AWSTATS

La configuracion de los registros DNS del servidor linux para la maquina en la que vamos a ver las estadisticas quedan de esta manera.
Nos conectamos para verlo al DNS
$ ssh sysadmin@dns esto tambien vale (sysadmin@192.168.33.228)

Editamos el fichero que tiene las IP's
$ vi /etc/djbnds/dnsint/root/data
.
.
.
=rubia.val.blom.lan:192.168.33.44:86400
+demogeo.val.blom.lan:192.168.33.44:86400
+s0.demogeo.val.blom.lan:192.168.33.44:86400
+s1.demogeo.val.blom.lan:192.168.33.44:86400
+s2.demogeo.val.blom.lan:192.168.33.44:86400
+s3.demogeo.val.blom.lan:192.168.33.44:86400
+gruponorte.val.blom.lan:192.168.33.44:86400
+s0.gruponorte.val.blom.lan:192.168.33.44:86400
+s1.gruponorte.val.blom.lan:192.168.33.44:86400
+s2.gruponorte.val.blom.lan:192.168.33.44:86400
+s3.gruponorte.val.blom.lan:192.168.33.44:86400
+donosti.val.blom.lan:192.168.33.44:86400
+s0.donosti.val.blom.lan:192.168.33.44:86400
+s1.donosti.val.blom.lan:192.168.33.44:86400
+s2.donosti.val.blom.lan:192.168.33.44:86400
+s3.donosti.val.blom.lan:192.168.33.44:86400
+donostia.val.blom.lan:192.168.33.44:86400
+s0.donostia.val.blom.lan:192.168.33.44:86400
+s1.donostia.val.blom.lan:192.168.33.44:86400
+s2.donostia.val.blom.lan:192.168.33.44:86400
+s3.donostia.val.blom.lan:192.168.33.44:86400
.
.
.

Vemos tambien los registros del DHCP
$ vi /etc/dhcpd.conf
.
.
.
#banco
host demogeo{
hardware ethernet 00:0c:6e:48:26:a7;
fixed-address 192.168.33.44;
}
.
.
.

Instalamos awstats en demogeo.val.blom.lan.
Nos conectamos a demogeo.val.blom.lan
$ ssh sysadmin@demogeo (sysadmin@192.168.33.44)

Tenemos que descargar del ftp de blom ftp.blom.es o <http://ftp.blom.es/> con la cuenta de sysadmin (la contraseña es la de siempre) un tar (MaxMindGeoIP.tar.bz) <http://maxmindgeoip.tar.bz/> son librerias que se utilizan para la identificacion geografica http://www.maxmind.com/app/ip-location-explained

La descarga la hago en mi maquina con un cliente ftp y luego desde mi maquina copio el fichero en el /tmp de demogeo
$ scp /home/jc/descargas/MaxMindGeoIP.tar.bz sysadmin@demogeo:/tmp

En demogeo ejecuto la descompresion del fichero desde la raiz
$ cd /
$ sudo cp /tmp/MaxMindGeoIP.tar.bz /
$ sudo bzip2 -dc /MaxMindGeoIP.tar.bz | sudo tar -xv

Se descomprime en la carpeta /usr/local/lib lo siguiente

usr/local/lib/GeoIP.dat
usr/local/lib/GeoLiteCity.dat
usr/local/lib/libGeoIP.a
usr/local/lib/libGeoIP.la
usr/local/lib/libGeoIP.so
usr/local/lib/libGeoIP.so.1
usr/local/lib/libGeoIP.so.1.4.3
usr/local/lib/libGeoIPUpdate.a
usr/local/lib/libGeoIPUpdate.la
usr/local/lib/libGeoIPUpdate.so
usr/local/lib/libGeoIPUpdate.so.0
usr/local/lib/libGeoIPUpdate.so.0.0.0
usr/local/lib/perl/
usr/local/lib/perl/5.8.8/
usr/local/lib/perl/5.8.8/Geo/
usr/local/lib/perl/5.8.8/Geo/IP.pm
usr/local/lib/perl/5.8.8/Geo/IP/
usr/local/lib/perl/5.8.8/Geo/IP/Record.pm
usr/local/lib/perl/5.8.8/Geo/IP/Record.pod
usr/local/lib/perl/5.8.8/Geo/Mirror.pm
usr/local/lib/perl/5.8.8/perllocal.pod
usr/local/lib/perl/5.8.8/auto/
usr/local/lib/perl/5.8.8/auto/Geo/
usr/local/lib/perl/5.8.8/auto/Geo/IP/
usr/local/lib/perl/5.8.8/auto/Geo/IP/IP.so
usr/local/lib/perl/5.8.8/auto/Geo/IP/IP.bs
usr/local/lib/perl/5.8.8/auto/Geo/IP/.packlist

Se hace la instalacion de awstats y de las librerias perl que hacen falta
$ sudo apt-get install awstats libnet-dns-perl libnet-ip-perl libgeo-ipfree-perl libnet-xwhois-perl
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Reading state information... Hecho
Se instalarán los siguientes paquetes extras:
libdigest-hmac-perl libdigest-sha1-perl
Se instalarán los siguientes paquetes NUEVOS:
awstats libdigest-hmac-perl libdigest-sha1-perl libgeo-ipfree-perl
libnet-dns-perl libnet-ip-perl libnet-xwhois-perl
0 actualizados, 7 se instalarán, 0 para eliminar y 22 no actualizados.
Necesito descargar 1338kB de archivos.
Se utilizarán 6406kB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]? s
Des:1 http://us.archive.ubuntu.com edgy/main awstats 6.5-2ubuntu1 [854kB]
Des:2 http://us.archive.ubuntu.com edgy/main libdigest-sha1-perl 2.10-1 [23,7kB]
Des:3 http://us.archive.ubuntu.com edgy/main libdigest-hmac-perl 1.01-3 [10,2kB]
Des:4 http://us.archive.ubuntu.com edgy/universe libgeo-ipfree-perl 0.2-3 [151kB]
Des:5 http://us.archive.ubuntu.com edgy/main libnet-ip-perl 1.24-1 [30,0kB]
Des:6 http://us.archive.ubuntu.com edgy-updates/main libnet-dns-perl 0.57-1ubuntu1 [246kB]
Des:7 http://us.archive.ubuntu.com edgy/universe libnet-xwhois-perl 0.90-1 [22,0kB]
Descargados 1338kB en 17s (75,5kB/s)
Seleccionando el paquete awstats previamente no seleccionado.
(Leyendo la base de datos ...
35285 ficheros y directorios instalados actualmente.)
Desempaquetando awstats (de .../awstats_6.5-2ubuntu1_all.deb) ...
Seleccionando el paquete libdigest-sha1-perl previamente no seleccionado.
Desempaquetando libdigest-sha1-perl (de .../libdigest-sha1-perl_2.10-1_i386.deb) ...
Seleccionando el paquete libdigest-hmac-perl previamente no seleccionado.
Desempaquetando libdigest-hmac-perl (de .../libdigest-hmac-perl_1.01-3_all.deb) ...
Seleccionando el paquete libgeo-ipfree-perl previamente no seleccionado.
Desempaquetando libgeo-ipfree-perl (de .../libgeo-ipfree-perl_0.2-3_all.deb) ...
Seleccionando el paquete libnet-ip-perl previamente no seleccionado.
Desempaquetando libnet-ip-perl (de .../libnet-ip-perl_1.24-1_all.deb) ...
Seleccionando el paquete libnet-dns-perl previamente no seleccionado.
Desempaquetando libnet-dns-perl (de .../libnet-dns-perl_0.57-1ubuntu1_i386.deb) ...
Seleccionando el paquete libnet-xwhois-perl previamente no seleccionado.
Desempaquetando libnet-xwhois-perl (de .../libnet-xwhois-perl_0.90-1_all.deb) ...
Configurando awstats (6.5-2ubuntu1) ...

Configurando libdigest-sha1-perl (2.10-1) ...
Configurando libdigest-hmac-perl (1.01-3) ...
Configurando libgeo-ipfree-perl (0.2-3) ...
Configurando libnet-ip-perl (1.24-1) ...
Configurando libnet-dns-perl (0.57-1ubuntu1) ...
Configurando libnet-xwhois-perl (0.90-1) ...

Comprobamos los enlaces dinamicos
$ sudo ldconfig

Hasta ahora lo que hemos instalado (una vez que este configurado) nos permite monitorizar el servidor donde este montado. Pero a nosotros nos interesa, monitorizar no el servidor sino cada uno de los proyectos alojados en el. Por tanto, hay que copiar los archivos necesarios para trabajar.

Configuracion para monitorizar geoservices desde la lan
$ sudo ln -s /usr/lib/cgi-bin /project/geoservices/ (esto viene definido en los hosts virtuales)
$ sudo mkdir -p /project/geoservices/var/lib/awstats (donde se van a almacenar los datos de las estadisticas definidas en awstats.xxx.xxx.conf)

Salvamos lo que hay en el directorio /etc/awstats y editamos el fichero awstats.conf.local
$ sudo mkdir /etc/awstats/save
$ sudo cp /etc/awstats/*.* /etc/awstats/save
$ sudo rm /etc/awstats/awstats.conf
$ vi /etc/awstats.conf.local
LogFile="/project/geoservices/log/apache2/access.log"
LogType=W
LogFormat=1
LogSeparator=" "
SiteDomain="demogeo.val.blom.lan"
HostAliases="localhost 127.0.0.1 REGEX[^.*\.val\.blom\.lan] demogeo demogeo.val.blom.lan"
DNSLookup=1
DirData="/project/geoservices/var/lib/awstats"
DirCgi="/cgi-bin"
DirIcons="/awstats-icon"
AllowToUpdateStatsFromBrowser=0
AllowFullYearView=2
EnableLockForUpdate=0
DNSStaticCacheFile="dnscache.txt"
DNSLastUpdateCacheFile="dnscachelastupdate.txt"
SkipDNSLookupFor="127.0.0.1 REGEX[^192\.168\.]"
AllowAccessFromWebToAuthenticatedUsersOnly=0
AllowAccessFromWebToFollowingAuthenticatedUsers=""
AllowAccessFromWebToFollowingIPAddresses="127.0.0.1 192.168.33.1-192.168.33.254"
CreateDirDataIfNotExists=0
BuildHistoryFormat=text
BuildReportFormat=html
SaveDatabaseFilesWithPermissionsForEveryone=0
PurgeLogFile=0
ArchiveLogRecords=0
KeepBackupOfHistoricFiles=0
DefaultFile="index.html"
SkipHosts=""
SkipUserAgents=""
SkipFiles=""
SkipReferrersBlackList=""
OnlyHosts="127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
OnlyUserAgents=""
OnlyFiles=""
NotPageList="css js class gif jpg jpeg png bmp ico swf"
ValidHTTPCodes="200 304"
ValidSMTPCodes="1 250"
AuthenticatedUsersNotCaseSensitive=0
URLNotCaseSensitive=0
URLWithAnchor=0
URLQuerySeparators="?;"
URLWithQuery=0
URLWithQueryWithOnlyFollowingParameters=""
URLWithQueryWithoutFollowingParameters=""
URLReferrerWithQuery=0
WarningMessages=1
ErrorMessages=""
DebugMessages=0
NbOfLinesForCorruptedLog=50
WrapperScript=""
DecodeUA=0
MiscTrackerUrl="/js/awstats_misc_tracker.js"
LevelForBrowsersDetection=2
LevelForOSDetection=2
LevelForRefererAnalyze=2
LevelForRobotsDetection=2
LevelForSearchEnginesDetection=2
LevelForKeywordsDetection=2
LevelForFileTypesDetection=2
LevelForWormsDetection=0
UseFramesWhenCGI=1
DetailedReportsOnNewWindows=1
Expires=0
MaxRowsInHTMLOutput=1000
Lang="es"
DirLang="/usr/share/awstats/lang"
ShowMenu=1
ShowSummary=UVPHB
ShowMonthStats=UVPHB
ShowDaysOfMonthStats=VPHB
ShowDaysOfWeekStats=PHB
ShowHoursStats=PHB
ShowDomainsStats=PHB
ShowHostsStats=PHBL
ShowAuthenticatedUsers=0
ShowRobotsStats=HBL
ShowWormsStats=0
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=1
ShowPagesStats=PBEX
ShowFileTypesStats=HB
ShowFileSizesStats=0
ShowOSStats=1
ShowBrowsersStats=1
ShowScreenSizeStats=0
ShowOriginStats=PH
ShowKeyphrasesStats=1
ShowKeywordsStats=1
ShowMiscStats=a
ShowHTTPErrorsStats=1
ShowSMTPErrorsStats=0
ShowClusterStats=0
AddDataArrayMonthStats=1
AddDataArrayShowDaysOfMonthStats=1
AddDataArrayShowDaysOfWeekStats=1
AddDataArrayShowHoursStats=1
IncludeInternalLinksInOriginSection=0
MaxNbOfDomain = 10
MinHitDomain = 1
MaxNbOfHostsShown = 10
MinHitHost = 1
MaxNbOfLoginShown = 10
MinHitLogin = 1
MaxNbOfRobotShown = 10
MinHitRobot = 1
MaxNbOfPageShown = 10
MinHitFile = 1
MaxNbOfOsShown = 10
MinHitOs = 1
MaxNbOfBrowsersShown = 10
MinHitBrowser = 1
MaxNbOfScreenSizesShown = 5
MinHitScreenSize = 1
MaxNbOfWindowSizesShown = 5
MinHitWindowSize = 1
MaxNbOfRefererShown = 10
MinHitRefer = 1
MaxNbOfKeyphrasesShown = 10
MinHitKeyphrase = 1
MaxNbOfKeywordsShown = 10
MinHitKeyword = 1
MaxNbOfEMailsShown = 20
MinHitEMail = 1
FirstDayOfWeek=1
ShowFlagLinks=""
ShowLinksOnUrl=1
UseHTTPSLinkForUrl=""
MaxLengthOfShownURL=64
HTMLHeadSection=""
HTMLEndSection=""
Logo="awstats_logo6.png"
LogoLink="http://awstats.sourceforge.net"
BarWidth = 260
BarHeight = 90
StyleSheet=""
color_Background="FFFFFF"
color_TableBGTitle="CCCCDD"
color_TableTitle="000000"
color_TableBG="CCCCDD"
color_TableRowTitle="FFFFFF"
color_TableBGRowTitle="ECECEC"
color_TableBorder="ECECEC"
color_text="000000"
color_textpercent="606060"
color_titletext="000000"
color_weekend="EAEAEA"
color_link="0011BB"
color_hover="605040"
color_u="FFAA66"
color_v="F4F090"
color_p="4477DD"
color_h="66DDEE"
color_k="2EA495"
color_s="8888DD"
color_e="CEC2E8"
color_x="C1B2E2"
LoadPlugin="hashfiles"
#LoadPlugin="geoip GEOIP_STANDARD /usr/local/lib/GeoIP.dat"
#LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/lib/GeoLiteCity.dat"
ExtraTrackedRowsLimit=500
Include "/etc/awstats/awstats.conf.local"

Copiamos el fichero que hemos creado, le damos el nombre del hosts virtual y le editamos
$ sudo cp /etc/awstats/awstats.conf.local /etc/awstats/awstats.minigeo.val.blom.lan.conf
$ sudo vi /etc/awstats/awstats.demogeo.val.blom.lan.conf
LogFile="/project/geoservices/log/apache2/access.log"
LogType=W
LogFormat=1
LogSeparator=" "
SiteDomain="demogeo.val.blom.lan"
HostAliases="localhost 127.0.0.1 REGEX[^.*\.val\.blom\.lan] demogeo demogeo.val.blom.lan"
DNSLookup=1
DirData="/project/geoservices/var/lib/awstats"
DirCgi="/cgi-bin"
DirIcons="/awstats-icon"
AllowToUpdateStatsFromBrowser=0
AllowFullYearView=2
EnableLockForUpdate=0
DNSStaticCacheFile="dnscache.txt"
DNSLastUpdateCacheFile="dnscachelastupdate.txt"
SkipDNSLookupFor="127.0.0.1 REGEX[^192\.168\.]"
AllowAccessFromWebToAuthenticatedUsersOnly=0
AllowAccessFromWebToFollowingAuthenticatedUsers=""
AllowAccessFromWebToFollowingIPAddresses="127.0.0.1 192.168.33.1-192.168.33.254"
CreateDirDataIfNotExists=0
BuildHistoryFormat=text
BuildReportFormat=html
SaveDatabaseFilesWithPermissionsForEveryone=0
PurgeLogFile=0
ArchiveLogRecords=0
KeepBackupOfHistoricFiles=0
DefaultFile="index.html"
SkipHosts=""
SkipUserAgents=""
SkipFiles=""
SkipReferrersBlackList=""
OnlyHosts="127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
OnlyUserAgents=""
OnlyFiles=""
NotPageList="css js class gif jpg jpeg png bmp ico swf"
ValidHTTPCodes="200 304"
ValidSMTPCodes="1 250"
AuthenticatedUsersNotCaseSensitive=0
URLNotCaseSensitive=0
URLWithAnchor=0
URLQuerySeparators="?;"
URLWithQuery=0
URLWithQueryWithOnlyFollowingParameters=""
URLWithQueryWithoutFollowingParameters=""
URLReferrerWithQuery=0
WarningMessages=1
ErrorMessages=""
DebugMessages=0
NbOfLinesForCorruptedLog=50
WrapperScript=""
DecodeUA=0
MiscTrackerUrl="/js/awstats_misc_tracker.js"
LevelForBrowsersDetection=2
LevelForOSDetection=2
LevelForRefererAnalyze=2
LevelForRobotsDetection=2
LevelForSearchEnginesDetection=2
LevelForKeywordsDetection=2
LevelForFileTypesDetection=2
LevelForWormsDetection=0
UseFramesWhenCGI=1
DetailedReportsOnNewWindows=1
Expires=0
MaxRowsInHTMLOutput=1000
Lang="es"
DirLang="/usr/share/awstats/lang"
ShowMenu=1
ShowSummary=UVPHB
ShowMonthStats=UVPHB
ShowDaysOfMonthStats=VPHB
ShowDaysOfWeekStats=PHB
ShowHoursStats=PHB
ShowDomainsStats=PHB
ShowHostsStats=PHBL
ShowAuthenticatedUsers=0
ShowRobotsStats=HBL
ShowWormsStats=0
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=1
ShowPagesStats=PBEX
ShowFileTypesStats=HB
ShowFileSizesStats=0
ShowOSStats=1
ShowBrowsersStats=1
ShowScreenSizeStats=0
ShowOriginStats=PH
ShowKeyphrasesStats=1
ShowKeywordsStats=1
ShowMiscStats=a
ShowHTTPErrorsStats=1
ShowSMTPErrorsStats=0
ShowClusterStats=0
AddDataArrayMonthStats=1
AddDataArrayShowDaysOfMonthStats=1
AddDataArrayShowDaysOfWeekStats=1
AddDataArrayShowHoursStats=1
IncludeInternalLinksInOriginSection=0
MaxNbOfDomain = 10
MinHitDomain = 1
MaxNbOfHostsShown = 10
MinHitHost = 1
MaxNbOfLoginShown = 10
MinHitLogin = 1
MaxNbOfRobotShown = 10
MinHitRobot = 1
MaxNbOfPageShown = 10
MinHitFile = 1
MaxNbOfOsShown = 10
MinHitOs = 1
MaxNbOfBrowsersShown = 10
MinHitBrowser = 1
MaxNbOfScreenSizesShown = 5
MinHitScreenSize = 1
MaxNbOfWindowSizesShown = 5
MinHitWindowSize = 1
MaxNbOfRefererShown = 10
MinHitRefer = 1
MaxNbOfKeyphrasesShown = 10
MinHitKeyphrase = 1
MaxNbOfKeywordsShown = 10
MinHitKeyword = 1
MaxNbOfEMailsShown = 20
MinHitEMail = 1
FirstDayOfWeek=1
ShowFlagLinks=""
ShowLinksOnUrl=1
UseHTTPSLinkForUrl=""
MaxLengthOfShownURL=64
HTMLHeadSection=""
HTMLEndSection=""
Logo="awstats_logo6.png"
LogoLink="http://awstats.sourceforge.net"
BarWidth = 260
BarHeight = 90
StyleSheet=""
color_Background="FFFFFF"
color_TableBGTitle="CCCCDD"
color_TableTitle="000000"
color_TableBG="CCCCDD"
color_TableRowTitle="FFFFFF"
color_TableBGRowTitle="ECECEC"
color_TableBorder="ECECEC"
color_text="000000"
color_textpercent="606060"
color_titletext="000000"
color_weekend="EAEAEA"
color_link="0011BB"
color_hover="605040"
color_u="FFAA66"
color_v="F4F090"
color_p="4477DD"
color_h="66DDEE"
color_k="2EA495"
color_s="8888DD"
color_e="CEC2E8"
color_x="C1B2E2"
LoadPlugin="hashfiles"
LoadPlugin="geoip GEOIP_STANDARD /usr/local/lib/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/lib/GeoLiteCity.dat"
ExtraTrackedRowsLimit=500
#Include "/etc/awstats/awstats.conf.local"

Con cron lanzamos la actualizacion de los hosts virtuales a los minutos que queramos, desde aqui llamamos a otro script que es el que lanza todos
$ sudo vi /etc/cron.d/awstats
13,27,40,59 * * * * www-data /usr/local/bin/awstats_all

Es el usuario www-data el que tiene el control para ejecutar el script ya que es el usuario que crea apache en la instalacion y el que gobierna apache. Mas adelante damos los permisos sobre /project/geoservices/var/lib/awstats/ para que sea el usuario www.data el que tenga acceso

Este script lanza el cron para que se actualizen todos los hosts virtuales que tengamos creados
$ sudo vi /usr/local/bin/awstats_all
#!/bin/bash
# jcga 15/11/07
# Lanzar la actualizacion de awstats para todos los hosts virtuales configurados

let result=0

for file in `ls /etc/awstats/awstats.*.conf`; do
base=`basename $file`
site=`echo $base | sed -e 's/^awstats\.//' | sed -e 's/\.conf$//'`
eval `grep -h -E "^LogFile=" $file`
[ -r $LogFile ] && /usr/lib/cgi-bin/awstats.pl -config=${site} -update
result=$?
if [ $result != 0 ]; then
logger -t awstats -p user.crit -s \
"Cron entry for awstats file: $file failed with $result"
xresult=$result
fi
done
exit $xresult
Para que nos pida usuario y contraseña al conectar al hosts virtual o a la pagina de estadisticas tenemos que crear un usuario para cada sitio dentro del directorio de cada proyecto. Nosotros creamos 2 usuarios para el proyecto de geoservices.
$ sudo htpasswd -b -c /project/geoservices/passwd geoservices blom
$ sudo htpasswd -b /project/geoservices/passwd sysadmin xxx
$ sudo chown root:root /project/geoservices/passwd
$ sudo chmod 644 /project/geoservices/passwd

Para que no nos pida el usuario cuando nos conectamos a la pagina de estadisticas tenemos que poner otra vez la contraseña al usuario
$ sudo htpasswd /project/geoservices/passwd geoserver
New password: xxx
Re-type new password: xxx
Adding password for user geoserver

Tenemos que definir los hosts virtuales. Este ejemplo solo nos pide autenticacion para ver las estadisticas de awstats
$ sudo vi /etc/apache2/sites-available/geoservices.blom.es

ServerAdmin admin@blom.es
ServerName mma.blom.es
DocumentRoot /project/mma/www/costabrava

#Options FollowSymLinks -MultiViews
Options FollowSymLinks
AllowOverride None
#Order allow,deny
#allow from all


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
#AuthType Basic
#AuthName "Acceso mma-costabrava"
#AuthUserFile /project/mma/passwd
#Require valid-user
ScriptAlias /cgi-bin/ /project/mma/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


Alias /data/ /project/geoservices/data/

AllowOverride None
Options -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


Alias /awstats-icon /usr/share/awstats/icon


Options None
AllowOverride None
Order allow,deny
Allow from all



Options ExecCGI
Order allow,deny
allow from all
AuthType Basic
AuthName "Acceso usuarios estadisticas mma"
AuthUserFile /project/mma/cpasswd
Require valid-user


ErrorLog /project/geoservices/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

# Para que nos muestre informacion al producir un error (on/off)
CustomLog /project/geoservices/log/apache2/access.log combined
ServerSignature Off

# Where to find workers.properties
JkWorkersFile /etc/apache2/geoservices.workers.properties

# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# Static files in the examples webapp are served by apache
# Alias /blomviewers /project/geoservices/www/blomviewers

# Conector de apache a tomcat AJP13
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug

# Redirigir a Tomcat Webapps
# JkAutoAlias /waps /usr/local/tomcat/webapps
JkMount /v01/* ajp13_worker



Este es el mismo host virtual pero con el mismo usuario para ver las estadisticas de awstats y para conectarnos a la pagina web
$ sudo vi /etc/apache2/sites-available/geoservices.blom.es


ServerAdmin admin@blom.es <mailto:admin@blom.es>
ServerName demogeo.val.blom.lan

DocumentRoot /project/geoservices/www/blomviewers

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AuthType Basic
AuthName "Acceso Geoservices"
AuthUserFile /project/geoservices/passwd
Require valid-user


ScriptAlias /cgi-bin/ /project/geoservices/cgi-bin/

AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


Alias /awstats-icon /usr/share/awstats/icon


Options None
AllowOverride None
Order allow,deny
Allow from all



Options ExecCGI
Order allow,deny
allow from all
AuthType Basic
AuthName "Acceso estadisticas"
AuthUserFile /projects/geoservices/passwd
Require valid-user


ErrorLog /project/geoservices/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

#para que nos muestre informacion al producir un error (on/off)
CustomLog /project/geoservices/log/apache2/access.log combined
ServerSignature Off

# Where to find workers.properties
JkWorkersFile /etc/apache2/geoservices.workers.properties

# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# Static files in the examples webapp are served by apache
# Alias /blomviewers /project/geoservices/www/blomviewers

# Conector de apache a tomcat AJP13
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug

# Redirigir a Tomcat Webapps
# JkAutoAlias /waps /usr/local/tomcat/webapps
JkMount /v01/* ajp13_worker


Tanto el directorio data como el cgi-bin son el mismo para todos los proyectos. Son enlaces a los directorios que estan dentro de /project/geoservices en caso de tener otro hosts virtuales.

Tenemos que reiniciar apache para que nos coja los cambios de los host virtuales
$ sudo /etc/init.d/apache2 restart
*Forcing reload of apache 2.0 web server... [ ok ]

Comprobamos que funciona el cron y awstats
$ /project/geoservices/cgi-bin/awstats.pl -config=minigeo.val.blom.lan -update
Update for config "/etc/awstats/awstats.minigeo.val.blom.lan.conf"
With data in log file "/project/geoservices/log/apache2/access.log"...
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)...
Error: Couldn't open file "/project/geoservices/var/lib/awstats/awstats122007.minigeo.val.blom.lan.tmp.6489" for write: Permission denied
Setup ('/etc/awstats/awstats.minigeo.val.blom.lan.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).

Este error lo arreglamos con estos comandos ya que es un tema de permisos
$ sudo chown -R www-data:www-data /project/geoservices/var/lib/
$ sudo chmod -R 777 /project/geoservices/var/lib/

Lo probamos otra vez y vemos que funciona
$ /project/geoservices/cgi-bin/awstats.pl -config=minigeo.val.blom.lan -update
Update for config "/etc/awstats/awstats.demogeo.val.blom.lan.conf"
With data in log file "/project/geoservices/log/apache2/access.log"...
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: 780
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 780 new qualified records.

Para ver las estadisticas nos conectamos con un navegador a esta direccion
http://demogeo.val.blom.lan/cgi-bin/awstats.pl


Nuestro arbol de directorios de geoservices en demogeo.val.blom.lan tiene lo siguiente
$ ls -l /project/
total 4
drwxr-xr-x 9 geoservices geoservices 4096 2008-02-04 11:03 geoservices

$ ls -l /project/geoservices
total 24
lrwxrwxrwx 1 root geoservices 16 2008-02-05 12:00 cgi-bin -> /usr/lib/cgi-bin
drwxrwxr-x 15 geoservices geoservices 4096 2007-12-10 17:32 data
drwsrwsr-t 3 geoservices geoservices 4096 2007-12-10 17:04 log
-rw-r--r-- 1 root root 73 2008-02-05 16:59 passwd
drwxr-sr-x 3 root geoservices 4096 2008-02-05 13:27 var
drwsrwsr-t 3 geoservices geoservices 4096 2007-12-10 17:04 webapps
drwsrwsr-t 3 geoservices geoservices 4096 2007-12-10 17:04 www

$ ls -l /usr/lib/cgi-bin/
total 9724
-rwxr-xr-x 1 www-data www-data 544851 2006-10-09 18:57 awstats.pl
-rwxr-xr-x 1 www-data www-data 930456 2007-12-14 17:09 legend
-rwxr-xr-x 1 www-data www-data 953830 2007-12-14 17:09 mapserv
drwxr-xr-x 3 www-data www-data 4096 2007-12-14 16:30 mapservers
-rwxr-xr-x 1 www-data www-data 930458 2007-12-14 17:09 scalebar
-rwxr-xr-x 1 www-data www-data 933721 2007-12-14 17:10 shp2img
-rwxr-xr-x 1 www-data www-data 930201 2007-12-14 17:10 shp2pdf
-rwxr-xr-x 1 www-data www-data 932535 2007-12-14 17:10 shptree
-rwxr-xr-x 1 www-data www-data 931701 2007-12-14 17:10 shptreetst
-rwxr-xr-x 1 www-data www-data 931642 2007-12-14 17:10 shptreevis
-rwxr-xr-x 1 www-data www-data 932703 2007-12-14 17:10 sortshp
-rwxr-xr-x 1 www-data www-data 932961 2007-12-14 17:10 tile4ms

$ ls -l /etc/awstats/
total 20
-rwxr-xr-x 1 root root 4169 2008-02-04 16:15 awstats.conf.local
-rwxr-xr-x 1 geoservices geoservices 4169 2008-02-04 16:37 awstats.demogeo.val.blom.lan.con

$ ls -l /etc/cron.d/
total 8
-rw-r--r-- 1 root root 56 2008-02-04 10:11 awstats
-rw-r--r-- 1 root root 1248 2007-02-12 10:37 postgresql-common

$ ls -l /usr/share/awstats/
total 16
drwxr-xr-x 9 root root 4096 2008-02-01 10:02 icon
drwxr-xr-x 5 root root 4096 2008-02-01 10:02 lang
drwxr-xr-x 2 root root 4096 2008-02-01 10:02 lib
drwxr-xr-x 2 root root 4096 2008-02-01 10:02 plugins

$ ls -l /usr/share/doc/awstats/
total 60
-rw-r--r-- 1 root root 1433 2006-10-09 18:57 buildinfo.gz
-rw-r--r-- 1 root root 9378 2006-10-09 18:57 changelog.Debian.gz
-rw-r--r-- 1 root root 17374 2005-12-04 22:11 changelog.gz
-rw-r--r-- 1 root root 504 2006-10-09 18:57 copyright
drwxr-xr-x 5 root root 4096 2008-02-01 10:02 examples
drwxr-xr-x 3 root root 4096 2008-02-01 10:02 html
-rw-r--r-- 1 root root 1306 2006-10-09 18:57 NEWS.Debian.gz
-rw-r--r-- 1 root root 3284 2006-10-09 18:57 README.Debian
-rw-r--r-- 1 root root 2898 2005-12-24 22:03 README.TXT.gz

$ sudo ls -l /var/lib/awstats/
Password:
total 0

$ ls -l /etc/apache2/
apache2.conf geoservices.workers.properties mod_jk.conf README
conf.d/ httpd.conf mods-available/ sites-available/
demoservices.workers.properties magic mods-enabled/ sites-enabled/
envvars mime.types ports.conf ssl/

$ ls -l /etc/apache2/sites-available/
total 16
-rw-r--r-- 1 root root 1428 2007-12-07 09:34 default
-rw-r--r-- 1 root root 2511 2007-12-04 10:03 donosti.blom.es
-rw-r--r-- 1 root root 2393 2008-02-04 16:46 geoservices.blom.es

$ ls -l /etc/apache2/sites-enabled/
total 4
-rw-r--r-- 1 root root 1546 2007-12-04 10:03 000-default
lrwxrwxrwx 1 root root 48 2007-12-14 13:03 010geoservices -> /etc/apache2/sites-available/geoservices.blom.es

$ ls -l /etc/apache2/sites-enabled/010geoservices
lrwxrwxrwx 1 root root 48 2007-12-14 13:03 /etc/apache2/sites-enabled/010geoservices -> /etc/apache2/sites-available/geoservices.blom.es

Asi quedaria el arbol de directorios de otro hosts virtual llamado donosti
$ ls -l /project/donosti
total 28
lrwxrwxrwx 1 donosti donosti 28 Oct 19 08:48 cgi-bin -> /project/geoservices/cgi-bin
-rw-r--r-- 1 donosti donosti 45 Dec 12 10:52 cpasswd
lrwxrwxrwx 1 donosti donosti 25 Oct 19 08:48 data -> /project/geoservices/data
drwxr-xr-x 3 donosti donosti 4096 Oct 29 10:49 etc
drwsrwsr-t 3 donosti donosti 4096 Oct 19 08:47 log
-rwxrwxr-t 1 donosti donosti 45 Oct 19 08:51 passwd
drwxr-xr-x 3 root donosti 4096 Oct 29 10:32 usr
drwxr-xr-x 3 donosti donosti 4096 Oct 29 10:32 var
lrwxrwxrwx 1 donosti donosti 28 Oct 19 08:48 webapps -> /project/geoservices/webapps
drwsrwsr-t 4 donosti donosti 4096 Oct 19 08:50 www

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.