Blog, GNU/Linux

MRTG Total

MRTG es una utilidad para monitorizar y generar graficos por medio de snmp. Para los que tengan como yo limite de consumo de trafico mensual, va muy bien tener un contador del total de consumo por dias y por meses.

Lo primero que tenemos que hacer es instalar los paquetes necesarios:

apt-get install mrtg libgd-graph-perl libgd-graph3d-perl snmpd

Una vez instalado, configuramos MRTG (/etc/mrtg.cfg):

#################################################
# Multi Router Traffic Grapher -- Sample Configuration File
#################################################
# This file is for use with mrtg-2.5.4c

# Global configuration
WorkDir: /var/www/mrtg

#General title
Title[^]: Traffic Analysis for Atlantis

#We dont need Ipv6
EnableIPV6: no
#Count in bits, grow from right to left, log unknow data as zero
Options[_]: bits,growright,unknaszero

#Target to monitor
Target[atlantis]: 2:[email protected]

#Page title
Title[atlantis]: Traffic Analysis for Atlantis
PageTop[atlantis]: 

Our 100mbps link to the outside world

#100mb MaxBytes[atlantis]: 12500000 WithPeak[atlantis]: ymw AbsMax[atlantis]: 1000000000000 #MRTG Total config (Title, Unit = M(Bytes)) #-#Total[atlantis]: Traffic Totals for Atlantis #-#Total-Unit[atlantis]: M #-#Total:Ratio[atlantis]: yes

Configurar SNMP (/etc/snmp/snmpd.conf):

com2sec local localhost atlantis
com2sec atlantis 66.111.52.100 atlantis

group MyROGroup v1         local
group MyROGroup v1      atlantis

view all-nibs included .1 80

access MyROGroup ""      v1       noauth    exact  all-nibs    none   none

syslocation altantis
syscontact Root

Configuramos iptables para que no puedan acceder al SNMP desde fuera

#SNMPD Solo Local
$IPTABLES -A INPUT -s 127.0.0.1 -p tcp --dport 199 -j ACCEPT
$IPTABLES -A INPUT -s 127.0.0.1 -p udp --dport 161 -j ACCEPT
$IPTABLES -A INPUT -s 85.17.1.127 -p tcp --dport 199 -j ACCEPT
$IPTABLES -A INPUT -s 85.17.1.127 -p udp --dport 161 -j ACCEPT
$IPTABLES -A INPUT -s 0/0 -p tcp --dport 199 -j DROP
$IPTABLES -A INPUT -s 0/0 -p udp --dport 161 -j DROP

Descargamos mrtg_total y lo descomprimimos:

tar xvfj mrtg_total.tar.bz2
cd mrt_total
unzip mrtg_total.zip

El script importante es mrtg_total.pl, y hay que añadirle en la primera linea del fichero #!/usr/bin/perl

Ahora añadimos al crontab que ejecute mrtg_total, por ejemplo cada 3 horas (/etc/crontab):

0 */3 * * * root  /path/to/mrtg_total.pl /etc/mrtg.cfg

Esto nos va a generar cada 3 horas una version actualizada del consumo en /var/www/mrtg, lo suyo es protegerlo con contraseña para que no pueda acceder todo el mundo. Creamos un ficheros .htaccess en /var/www/mrtg

AuthType Basic
AuthName "MRTG"
AuthUserFile /var/www/mrtg/.htpasswd
Require valid-user

Y ahora creamos el .htpasswd de la siguiente forma:

htpasswd -c .htpasswd mrtg

Ahora con todo configurado, tendremos:

http://nuestroserver/mrtg/atlantis.html (estadisticas de MRTG)

MRTG

http://nuestroserver/mrtg/atlantis.total.2006.html (estadisticas MRTG total)

Mrtg Total

Download MRTG_TOTAL

Blog

XFCE 4.4 RC2

Ayer por la noche se publico la version 4.4 RC2 del fantastico escritorio XFCE. Ya queda poco para la version final. Los cambios entre la version 4.2 y la 4.4 son impresionantes. Aqui podeis ver los cambios de la RC1 a la RC2 y desde aqui os lo podeis bajar para compilarlo (tiene un bonito instalador grafico que lo hace todo mas facil)

Blog, GNU/Linux

Multiples proyectos con trac y svn usando HTTPS

Voy a explicar como montar el sistema de gestion de proyectos trac y subversion usando https para trabajar con subversion. Yo lo he montado en una debian usando apache2, asi que lo primero que necesitamos es instalar todo lo necesario

apt-get install trac subversion apache2 subversion libapache2-svn libapache2-mod-python2.3

Una vez descargado e instalado creamos el certificado necesario para usar tanto trac y subversion bajo https. Entra en el directorio /etc/apache2/ssl y ejecuta lo siguiente:

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Ahora ya tenemos listo los certificados, asi que ahora solo nos queda configurar el apache. Yo he creado un trac.dominio.ext y un svn.dominio.ext para hacer esto, pero esto va a gusto de cada uno. Yo como uso dos subdominios distintos, lo tengo en ficheros separados.

Primero editaremos el trac, asi que creamos el fichero /etc/apache2/sites-available/trac.domain.ext

NameVirtualHost *:443

#Activate SSL
SSLEngine on

SSLCertificateFile    /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

#VirtualHost Servername
ServerName trac.domain.ext
ServerAdmin [email protected]

DocumentRoot /opt/projects/trac

#Authentication

AuthType Basic
AuthName "Trac"
AuthUserFile /opt/projects/.htpasswd
Require valid-user

#Trac
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /opt/projects/trac/
PythonOption TracUriRoot /



El fichero no necesita demasiada explicacion, simplemente le decimos que active el SSL, que pida autentificacion y cargamos el modulo del trac y le especificamos el path de donde estan todos nuestros proyectos.

Ahora vamos con el fichero /etc/apache2/sites-available/svn.domain.ext

NameVirtualHost *:443

#Activate SSL
SSLEngine on

SSLCertificateFile    /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

#VirtualHost Servername
ServerName svn.domain.ext
ServerAdmin [email protected]

DocumentRoot /opt/projects/svn

DAV svn

#Authentication
AuthType Basic
AuthName "Subversion"
AuthUserFile /opt/projects/.htpasswd
Require valid-user

#Subversion
SVNParentPath /opt/projects/svn
SVNListParentPath on
SVNAutoVersioning On



#Subversion permission file
AuthzSVNAccessFile /opt/projects/svn/.htpasswd


Es importante separar el AuthzSVNAccessFile de ya que sino no listara todos los proyectos en http://svn.domain.ext/ por problemas de permisos.

Ahora que tenemos estos ficheros listos, hay que activar el modulo de ssl en el apache2 y los dos dominios.

vi /etc/apache2/ports.conf

Listen 443

cd /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/dav.load .
ln -s /etc/apache2/mods-available/dav_svn.load .
ln -s /etc/apache2/mods-available/mod_python.load .
ln -s /etc/apache2/mods-available/ssl.conf .
ln -s /etc/apache2/mods-available/ssl.load .

cd /etc/apache2/sites-enabled
ln -s /etc/apache2/sites-available/svn.domain.ext 001-svn.domain.ext
ln -s /etc/apache2/sites-available/trac.domain.ext 001-trac.domain.ext

Ahora vamos a crear un proyecto de prueba

mkdir -p /opt/projects/svn
mkdir -p /opt/projects/trac
svnadmin create /opt/projects/svn/NewProject
trac-admin /opt/projects/trac/NewProject initenv
Project Name [My Project]> NewProject
Database connection string [sqlite:db/trac.db]>
Path to repository [/var/svn/test]> /opt/projects/svn/NewProject
Templates directory [/usr/share/trac/templates]>
Creating and Initializing Project
Configuring Project
trac.repository_dir
trac.database
trac.templates_dir
project.name
Installing default wiki pages
..............

Ahora creamos los ficheros de acceso de usuarios.

[Repositorio:/Path]
user = [ [r[w]]]

Por ejemplo, queremos que el user1 pueda leer y escribir, el user2 leer, y anonymous nada (no deberia haber anonymous ya que el htpasswd no los deja pasar, pero siempre viene bien protegerse por si acaso), el fichero quedaria asi

[NewProject:/]
user1 = rw
user2 = r
* =

Ahora ya tenemos todo listo, podemos instalar el modulo TracWebAdmin para que sea mas facil la administracion del trac.

Blog, GNU/Linux

DIVX/XVID a DVDR en GNU/Linux

El otro dia tenia que convertir un divx a dvdr para la prima de Irene y que asi pudiera verlo en su reproductor de DVD. Estuve buscando pero no encontre nada claro sobre este tema. Al final con el avidemux he visto que puedo crear video del tipo DVD y audio MP2, asi que aqui os cuento los pasos que segui para crear un DVDR.

Una cosa importante a tener en cuenta es que el video no puede tener un bitrate superior a 9,8Mb/s y el audio tiene que ser a 48kHz, asi que lo primero que hay que hacer es mirar las propiedades del video. Esto se puede hacer una vez abierto en el menu “File -> Properties” y os saldra una pantalla tipo esta:

File properties

Ahora hay que elegir la codificacion del video, para eso se elige en video el formato “DVD (lavc)” y en el hay que elegir “Two Pass (bitrate)“, tambien esta el por tamaño de fichero, pero siendo un divx, se puede poner tranquilamente el bitrate y ponerle 9Mb/s (9000kb/s) que seguro que no ocupara mas de los 4,5gb que tiene el dvd.

Video config

Para el sonido, el codec que usaremos sera “Twolame” y elegiremos 160kbps en Stereo.

Audio Config

En caso de que el audio no fuera 48kHz, hay que crear un filtro que convierta el audio en 48kHz.

Audio Filter

Una vez elegido esto ya podemos elegir el formato de salida “MPEG PS A+V“, que nos dejara un mpeg listo para poder meterlo en un programa de autoria DVD.

Final Format

Ahora que ya tenemos el video, haremos el DVD, para eso he usado qdvdauthor.

Creamos los datos del proyecto, basta con darle al boton “File -> New Project“, nos pedira los datos para guardar los ficheros y el nombre del DVD. Una vez creado esto, le volvemos a dar “Add Movie” y elegimos el fichero de video creado con avidemux. Una vez que tenemos el fichero, se pueden añadir fondo de pantalla y texto, intro video y lo que queramos.

qdvdauthor

create project

Lo importante es añadir un boton de texto que sea para reproducir el video.

add text

define as button

button action

Una vez puesto el menu a nuestro gusto, vamos a “DVD Author -> Create DVD“, y aqui es importante cambiar el parametro del toolame, porque sino dara error al intentar crear la pista de audio. Hay que cambiar “-b128 -s 48000” por “-b 128 -s 48“.

bad toolame

good toolame

Una vez que ha acabado nos encontraremos en el directorio que le hemos especificado al principio una carpeta AUDIO_TS y VIDEO_TS, ahora solo hay que grabarlo. Con mkisofs (con soporte udf) creamos una iso lista para grabar.

mkisofs -udf -dvd-video -o archivo.iso NOMBRE_DVD/

He seguido los consejos que se dan en esta pagina para pasar de divx a dvd: http://www.avidemux.org/wki/index.php?title=Converting_to_DVD

Blog, GNU/Linux

Xfce4.4 Beta 2

Acaban de anunciar que ya esta disponible la nueva beta de la version xfce 4.4 para descargar. Asi que me he puesto a bajar el instalador de la ultima version y me puse a compilarlo. Segun parece tiene un nuevo “File Manager” llamado XArchive. Una vez que lo haya acabado de compilar subire un par de screenshots.