Archive for May, 2008


Trac (debian)

Posted by Angel
In sysadmin, web
22May 08

Trac es un “gestor de proyectos” via web para programadores/desarrolladores. Esta es la web del proyecto Trac. En ella podemos encontrar casi todos los aspectos tanto como la instalación como la configuración de sus opciones.

Básicamente a mi las funcionalidades de trac que me han interesado han sido las siguientes:

- Sistema de Tickets
- Navegación por repositorios SVN
- Enlace entre Tickets y SVN

Yo lo he instalado teniendo en cuenta el siguiente entorno (algunas de estas cosas si no se tienen instaladas se deberian instalar):

- Distribución Linux Debian Etch
- Apache 2
- MySQL 5
- python 2.4

Necesitaremos crear una base de datos en MySQL para el trac, así como un usuario, y hemos de recordar de darle permisos a ese usuario para acceder a esa tabla.

Véamos primero cuales son las dependencias, para ver que paquetes y/o componentes necesitamos a priori antes de meternos con la instalación propiamente dicha de trac.

- modulo de python para mysql
- modulo de python para subversion
- modulo de apache para python
- modulo de apache para autentificación mediante mysql

sudo apt-get install python-mysqldb python-subversion libapache2-mod-python

para que funcione el mod_python, hemos de ir a /etc/apache2/mods-enabled y comprobar que esta activado el modulo, lo que hará falta seguramente para que funcione es reiniciar apache.

hasta aquí las instalaciones que podemos hacer a través de apt-get, lo peor del tema es que si queremos tener la autentificación mediante mysql en debian etch, no hay un paquete especifico que puedas instalar a través de apt, lo que comporta bajar el modulo de apache en código fuente, compilarlo y enlazarlo desde apache. digamos que es un currillo, vamos a verlo.

para poder compilar el modulo de apache para mysql necesitamos unas dependencias, que son las siguientes y se pueden instalar a traves de apt.

sudo apt-get install libmysql++-dev patch

en funcion de la versión de apache que tengamos (threaded o preforked), hemos de instalar alguno de estos dos paquetes tambien a través de apt. como sabemos que version tenemos, pues así:

dpkg -l | grep apache2

sencillamente en la salida de este comando miramos si tenemos preforked o threaded y instalamos o bien apache2-threaded-dev o bien apache2-prefork-dev.

sudo apt-get install apache2-threaded-dev | apache2-prefork-dev

nos arremangamos que viene lo divertido, descargamos el codigo fuente del módulo :

wget http://mesh.dl.sourceforge.net/sourceforge/modauthmysql/mod_auth_mysql-3.0.0.tar.gz

la mala noticia es que si descargamos solamente eso y lo intentamos compilar, va a pasar lo que me pasó a mi al principio, que es para flipar con la de errores que da a la hora de intentar compilar el modulo, por lo tanto y tras horas y horas de búsqueda (bueno vale no fueron tantas horas) encontré una posible solución y consiste en un archivo de diff, que cambiara todas las lineas que no le gustan al compilador, por otras que le gustan más y que por lo tanto nos permitiran compilar el modulo sin problemas. descargamos el patch con wget por ejemplo.
descomprimimos el modulo y le aplicamos el patch

tar xvfz mod_auth_mysql-3.0.0.tar.gz
patch -p0 < mod_auth_mysql-3.0.0-apr1x.patch\?view\=co

compilamos el modulo

cd mod_auth_mysql-3.0.0
apxs2 -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c
apxs2 -i mod_auth_mysql.la

esto únicamente nos ha creado el modulo en el sistema operativo, ahora necesitamos hacer que apache se entere de que tiene ese modulo y que lo puede usar. por lo tanto nos tenemos que ir a /etc/apache2/mods-enabled y crear un fichero que se llame por ejemplo mod_auth_mysql.load y poner dentro de el lo siguiente:

LoadModule mysql_auth_module /usr/lib/apache2/modules/mod_auth_mysql.so

una vez hecho esto, hemos de activar el modulo

cd /etc/apache2/mods-available
ln -s ../mods-enabled/mod_auth_mysql.load mod_auth_mysql.load

solo nos queda reiniciar apache para que reconozca el nuevo modulo.

ahora que ya tenemos todas las dependencias ya estamos listos para instalar trac propiamente dicho, bueno, nos falta la última dependencia, el instalador de trac ;) y lo usamos de la siguiente forma por ejemplo:

sudo python ez_setup.py
sudo easy_install Trac==0.11rc1
easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11rc1

y con esto ya tenemos trac instaladito.

ahora viene la gracia, de que nos sirve tenerlo instalado? pues de nada si no le comenzamos a dar faena.

yo para el caso he creado un usuario en mi debian para trac de forma que tengo /home/trac y será alli donde ire poniendo los proyectos, de forma que si tengo myproject el path a ese proyecto será /home/trac/myproject, pero estos directorios no los hemos de crear nosotros, de eso se encarga el señor trac-admin que ya deberíamos tener instalado en nuestro sistema.

véamos como va esto.

trac-admin /path/to/my/project initenv

este programa nos pregunta, el nombre del proyecto, la base de datos con la que lo queremos linkar, la pagina de las opciones de environment de trac a mi concretamente me fue muy útil para el linkado del trac con la base de datos, ya que te explica como tienes que especificarle la base de datos que quieres usar. más tarde nos pregunta, el tipo de sistema de control de versiones que utilizamos o utilizaremos para el proyecto y la localización del repositorio subversion.

una vez hecho esto ya tenemos creado el trac para nuestro proyecto, pero como entramos via web a verlo?
pues nada, vamos a preguntarle al amigo apache como hacemos eso, o mejor dicho, vamos a decirle como queremos que lo haga.

nos vamos a /etc/apache2/sites-available y editamos nuestro fichero default añadiendo algo de este estilo


SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /path/to/myproject
PythonOption TracUriRoot /myproject

para despistaos… mejor darle permisos de lectura a apache en /path/to/myproject, para no tener problemas ;)

sudo chown -R www-data:www-data /path/to/myproject

y ahora si reiniciamos apache y escribimos esto en el navegador www.midominio.com/myproject ya tenemos el trac!!! muy bien! ahora el problema es que de igual modo que nosotros podemos verlo sin introducir contraseña y usuario alguno, lo puede ver cualquiera, esto puede ser un arma de doble filo, por lo tanto vamos a entrar en el tema de la autentificación de usuarios, utilizando mysql y la misma base de datos que usamos para este trac.

modificamos el fichero /etc/apache2/sites-available/default y añadimos estas lineas a lo que ya habíamos puesto antes para que apache nos mostrara el trac del proyecto:

AuthType Basic
AuthName “escriba su nombre cachondo”
AuthMySQLHost
AuthMySQLPort AuthMySQLUser
AuthMySQLPassword AuthMySQLDB
AuthMySQLUserTable
AuthMySQLNameField
AuthMySQLPasswordField
AuthMySQLEnable on
AuthMySQLPwEncryption
AuthMySQLSocket “
AuthBasicAuthoritative Off
require valid-user

nos hemos de acordar de reiniciar apache para que coja los cambios que hemos echo.

y claro está, en la tabla de usuarios deben haber las ocurrencias, por ejemplo introducimos pepe como nombre de usuario y pepote como password en la tabla. nos vamos a www.midominio.com/myproject y nos saltara una ventanita de autentificacion donde tras introducir pepe como usuario y pepote como password podemos ver el trac del proyecto, si no no ;)

como dice matías prats, así son las cosas y así se las hemos contado.


Paulo Coelho

Posted by Angel
In libros
14May 08

pues eso… cual ha sido mi sorpresa al volver tras meses de ausencia a meneame y ilustrarme la mañana con millones de noticias, algunas con más importancia y otras con menos, algunas más divertidas, otras menos… pero sin duda me he encontrado con una que se me merece un 10.

un 10 para el señor coelho, que no solo escribe, y puede haber a quien le guste y a quien no, pero que ha decidido compartir sus libros vía BitTorrent con todo aquel que los pueda querer, dejando a libre elección el hecho de comprar sus libros o no, pero segun aseguran la mayor parte de la gente que los empieza a leer tras descargarselos, se los acaba comprando ;)

citando http://www.abadiadigital.com/noticia3079.html y la noticia que tiene por título Paulo Coelho : “Estoy utilizando BitTorrent ahora mismo”

Paulo Coelho es uno de los escritores más conocidos de nuestros tiempos. Autor de bestsellers como El Alquimista, El Zahir o La Bruja de Portobello, ha vendido más de 100 millones de libros a lo largo de su extensa carrera, que comenzó en 1987 con la publicación de El Peregrino de Compostela.

Además de por la popularidad que alcanzan sus obras, este brasileño se diferencia de la mayor parte de los autores contemporáneos porque, en lugar de clamar contra los males de Internet, alaba las bondades de este medio y le saca partido de una manera que nunca antes un escritor en su posición había hecho.

Sin ir más lejos, desde mediados del año pasado mantiene un blog llamado Pirate Coelho en el que ofrece enlaces de BitTorrent hacia sus propios libros para que la gente se los descargue gratuitamente. Es, según sus propias palabras, la mejor forma de dar a conocer sus textos a millones de personas de todo el mundo.

Y también de vender más, puesto que una parte de quienes descubren sus obras a través de la Red acaban yendo a una librería a comprar el libro que comenzaron a leer en su ordenador. Los números así lo demuestran. De hecho, la editorial Harper Collins, vista la buena acogida que ha tenido la iniciativa de Coelho, ha decidido ofrecer un nuevo libro cada mes para que los visitantes de su sitio puedan leerlo gratuitamente.

Por si esto fuera poco, estamos ante un tipo que no duda en afirmar, ante una entrevista de los chicos de TorrentFreak, que está “utilizando BitTorrent ahora mismo, mientras respondo a sus preguntas” y que asegura que desde que ha puesto sus obras a disposición de todos los internautas, las ventas de sus libros han aumentado significativamente.

¿Teniendo en cuenta los números que exhibe Coelho, por qué no hay más editoriales que utilizan Internet para promocionar las obras de sus autores? ¿Tanto miedo tienen a que las cosas les salgan mal? Es más, tal y como están las cosas, ¿realmente tienen algo que perder?

el blog de paulo coelho y el enlace a sus libros para descargar via torrent en castellano aquí


desmotivación profesional

Posted by Angel
In curro
13May 08

cuando todo viene cuesta arriba… cuando los marroncitos “extras” se convierten en super-marrones, todo se hace díficil… dormir por las noches, concentrarse en una única cosa… seguir adelante en definitiva…

quedan pocos marrones ya… pero aún hay uno que sigue dando por el culo, la decisión ya está tomada… antes de que un marrón te de por el culo, dale tu a él por el culo.

lo único que queda claro en el aspecto profesional, que es en el único que tengo dudas, es que a día de hoy mi trabajo fijo, al que me dedico 8 horas diarias en la fundación es el único que me merece la pena y me motiva. para un programador es dificil no meter el moco en diferentes temas… esa ansía de aprender es la que durante mucho tiempo me ha matado y de momento eligo matarla, o más bien, delimitarla a lo que a mi trabajo se refiere.

seguiremos trabajando para seguir recibiendo recompensas… trabajando duro.


pidgin 2.4.1 gtalk

Posted by Angel
In linux
8May 08

pues nada después de un dia entero sin poder conectar al gtalk a través del pidgin de las narices… y de buscar casi como un desesperado a ver si había algo o alguien se habia encontrado con algo parecido y sabía porque le pasaba he conseguido arreglarlo y ya vuelvo a tener gtalk en pidgin.

basicamente el problema es que por defecto pidgin, en su nueva version 2.4.1 (para ubuntu hardy - es decir ubuntu 8.04), activa una opcion de “Usar GSSAPI (Kerberos v5) en la autenticación” … cosa que parece ser que si esta activada, hace que se te sature el pidgin al intentar conectar con el servidor de gmail y luego provoca un error y no te deja conectar a gtalk, el error que arroja es “Error de lectura” y por mucho que intentes volver a conectar no tira.

unicamente es necesario desactivar esa opción, nada más, los parametros de configuración ya los coje bien los que asigna pidgin por defecto para la cuenta.