Awstats, Squirrelmail y los vhosts en Gentoo I

Cabezon's picture

Bueeeeeno... parece que todo rula bastante bien en el nuevo servidor. El rendimineto ha mejoradao (ahora puedo consultar la web y bajar el correo, que la carga de la máuqina no llega a 1!!) y las cosas parecen funcionar bastante bien. Me queda mirar el tema de WakeonWan, ya que el server se apaga de vez en cuando (la luz salta frecuentemente en mi casa) y estaría bien poder encender el pc a través de la red...

En fin, a lo que iba.

El server ya tiene awstats y Squirrelmail funcionando, además, Squirrel funciona bajo SSL, es decir, https, es decir, comunicaciones cifradas...
Un mini howto:

Awstats

Lo primero, como siemrpre, instalar awstats: emerge awstats. (Recomendable poner el flag "vhosts" para que luego hagamos un webapp-config nosotros y no el propio emerge).
Una vez instalado, emerge nos deja la aplicación en /usr/share/webapps/awstats/version/, y utilizaremos webapp-config para "instalar" la aplicación en nuestro apache. Me explico
Según el man:

webapp-config is a powerful tool that allows you to install, upgrade, and remove web-based applications in a virtual-hosting en‐vironment.

Con un ejemplo lo veremos más claro:


webapp-config -I -h blog.emergetux.net drupal 4.7.3

Traducción: me creas el direcotrio /var/www/blog.emergetux.net (él nos creará un htdocs, un cgi-bin, errors e icons dentro de ese directorio) y me metes una copia de los ficheros de drupal donde toque (es decir, los que deban ir en htdocs, los copias al nuevo path: /var/www/blog.emergetux.net/htdocs, los de cgi-bin, al nuevo cgi-bin, etc...)

De este modo podemos instalar varios drupales para varios sites sin tener que andar creando scripts ni ostias, y gestionandólo todo más sencillamente.
Esto es lo que yo tengo instalado ahora mismo.

# webapp-config --list-installs
/var/www/webgraph.emergetux.net/htdocs/awstats
/var/www/phpmyadmin.emergetux.net/htdocs
/var/www/mail.emergetux.net/htdocs

Que quiero borrar una aplicación? webapp-config -C -h loquesea.emergetux.net, que la quiero upgardear? webapp-config -U -h lo_que_sea... cuesta cogerle la idea, pero con la ayuda de d2clon (en la litsa de correo de gentoo españaol) las cosa se ven más claras :-).

El caso es que yo he instalado awstats en webgraph.emergetux.net:

#webapp-config -I -h webgraph.emergetux.net -d awstats awstats 6.5-r1

y encima, bajo el directorio awstats, así que tendré que acceder a él con webgraph.emergetux.net/awstats. (Luego explicaré porque)

Con esto, me voy a /etc/awstats y me creo un awstats.blog.emergetux.net.conf donde le digo, básicamente, que logs debe coger para los gráficos, que usuarios no tener en cuenta... vamos configurar todas la pijadas de awstats...

Y sólo me queda crear los primeros gráficos:

/var/www/webgraph.emergetux.net/cgi-bin/awstats.pl -config=webgraph.emergetux.net -update

y meterlo en el cron para que cada noche se actualice:

/var/www/webgraph.emergetux.net/cgi-bin/awstats.pl -config=webgraph.emergetux.net -update 2>&1 > /dev/null

(el 2>&1 > /dev/null es para redigir la salida al /dev/null, y no me mande nada por correo).

Y ahora queda decirle a apache que tenemos awstats, así que creamos un nuevo /etc/apache2/modules.d/awstats.conf y le añadimos el siguiente contenido:
(ojo, que debeis decirle a apche que coja cualquier fichero .conf que resida en /etc/apache2/modules.d/ a tarvés del http.conf!)

# AWSTATS
#
# The following items were generated by wepapp-config and is require to
# support AWSTATS.

Alias /awstats/classes "/var/www/webgraph.emergetux.net/htdocs/awstats/classes/"
Alias /awstats/css "/var/www/webgraph.emergetux.net/htdocs/awstats/css/"
Alias /awstats/icons "/var/www/webgraph.emergetux.net/htdocs/awstats/icon/"
ScriptAlias /awstats/ "/var/www/webgraph.emergetux.net/cgi-bin/"
ScriptAlias /awstats "/var/www/webgraph.emergetux.net/cgi-bin/awstats.pl"
ScriptAlias /awstats.pl "/var/www/webgraph.emergetux.net/cgi-bin/awstats.pl"

<Directory "/var/www/webgraph.emergetux.net/htdocs/awstats">
Options None
AllowOverride None

<IfModule mod_access.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>

<Directory "/var/www/webgraph.emergetux.net/cgi-bin/">
Options ExecCGI
AllowOverride None

<IfModule mod_access.c>
Order allow,deny
Allow from all
</IfModule>
AuthType Basic
AuthName "AWStats authenticated zone"
AuthUserFile /PATH/.htpasswd
Require valid-user
</Directory>

El que entienda de apache, no creo que esté leyendo esto, pero el que no, sólo decirle que en la primera parte defino unos alias para que el navegador no se vuelva loco si le digo /awstats, y en la segunda defino ciertas propiedades para cada directoio de awstats que contiene información. Por último, ponemos una contraseña en ese sitio de tal modo que los gráficos sólo sean accesibles a ciertos usuarios.
Para getionar dichos usuarios utilizamos

#htpasswd2 passwd_file user

(Añadimos -c si no tenemos el archivo .htpasswd, así nos lo crea.)

Con esto ya podemos ir a webgraph.emergetux.net/awstats y ver los gráficos de acceso al blog!!!!!

Bien, alguien dirá, este tio es un capullo, nos está explicando mal las cosas! pues como dijo un gran sabio Zamorano, CIERTO!
Awstats no se instala como un vhost a parte, sino que es un "complemento" para cada vhost ya definido, de tal modo que, para acceder a los gráficos del blog, sólo necesito tener un fichero de configuración de awstats refernte a esa zona (un blog.emergetux.net.conf en /etc/awstats) correctamente configurado (los logs, básicamente) y acceder a través de /blog.emergetux.net/awstats.
Lo mismo valdría para cualquier otro vhosts, que tengo un geeklog.emergetux.net? pues me creo un fichero de configuración de awstats para ese vhosts, y accedo a través de geeklog/emergetux.net/awstats...

Fácil, no? pues yo no lo sabía! d2clon me ha vuelto a ayudar!

De todos modos, todo lo de antes está bien explicado, ya que en ningún momento hemos definido un vhost para awstats, aunque si que lo he nombrado.

Como veo que esto queda un poco largo, y no quiero cansar al personal, dejo el tema Squirrel para otro post...

salu2!

PS: por cierto, tanto hablar de d2clon y no dejo ni un triste link a su web!! Gracias!