miércoles, abril 26, 2006

Django en MacOS X (Tiger)

Pues si, aún no le he instalado Debian a la mini y mientras tanto ando probando un montón de software libre para la Mac, el que me ha causado mas gracia es el Adium, un cliente de mensajería instantánea que hace sonidos de pato. La instalación de este tipo de aplicaciones es trivial, solo dar click y listo; otra forma es utilizando fink que instala una gran cantidad de paquetes à la Debian, o con un sistema de ports ya sea Darwinports, Gentoo, NetBSD y similares, y por último tenemos la instalación a patín, o sea compilando desde las fuentes.
Nada me había parecido tan doloroso como compilar el psycopg, que es necesario si queremos utilizar PostgreSQL como sistema de bases de datos.

Primero que nada instalamos la versión mas reciente de MacPython con todo y sus parches.

Necesitamos instalar Apache 2.0.55 y mod_python 3.2.8 para que Django se sienta a gusto, así que nos bajamos las fuentes desde sus respectivos sitios y compilamos.
  1. wget -c http://www.apache.org/dist/httpd/httpd-2.0.55.tar.gz && wget -c http://www.apache.org/dist/httpd/modpython/mod_python-3.2.8.tgz
  2. tar zxvf httpd-2.0.55.tar.gz
  3. cd httpd-2.0.55/
  4. ./configure --enable-so --with-mpm=worker
  5. make
  6. sudo make install
  7. cd ..
  8. tar zxvf mod_python-3.2.8.tgz
  9. cd mod_python-3.2.8/
  10. ./cofigure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/local/bin/python
  11. make
  12. sudo make install
Activamos el mod_python editando el archivo de configuración de Apache.
  1. vi /usr/local/apache2/conf/httpd.conf
  2. LoadModule python_module modules/mod_python.so #agregamos la línea
  3. /usr/local/apache2/bin/apachectl start #iniciamos el Apache
Después necesitamos instalar PostgreSQL, para lo que recomiendo el paquete de entropy.ch, aquí no hay complicación alguna, solamente hay que crear el usuario postgres después de la instalación. Enseguida hay que ir por las extensiones de egenix que se instalan corriendo el script de instalación.
  1. tar zxvf egenix-mx-base-2.0.6.tar.gz
  2. cd egenix-mx-base-2.0.6/
  3. sudo /usr/local/bin/python2.4 setup.py build
  4. sudo /usr/local/bin/python2.4 setup.py install
Ahora sigue la parte espinosa, decirle a nuestro buen amigo psycopg que tenemos todo lo necesario para que funcione correctamente.
  1. tar zxvf psycopg-1.1.21.tar.gz
  2. cd psycopg-1.1.21/
  3. ./configure --with-postgres-libraries=/usr/local/pgsql/lib --with-postgres-includes=/usr/local/pgsql/include --with-python=/usr/local/bin/python2.4 --with-mxdatetime-includes=/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/mx/DateTime/mxDateTime/
  4. make MACOSX_DEPLOYMENT_TARGET=10.4
  5. sudo make install
Pinche mamadota!!!, pero nos salvamos de instalar el otro DBMS ;-P
Esta es una decisión personal, a mi me gusta tener un sólo sistema de bases de datos para todo y PostgreSQL es la opción mas robusta para cualquier cosa.

Para no tener que teclear toda la ruta a la versión 2.4 de Python es buena idea hacer una liga simbólica.
  • ln -s /usr/local/bin/python2.4 /usr/bin/python2.4
Ahora ya podemos instalar Django y empezar a jugar con él.

Para este pequeño COMO me he basado en otros que andan circulando por la red, principlmente en el del blog Reprocessed que al parecer está offline, pero se puede ver en la cache de google, y en el de Antonio Cavedoni para la instalación de mod_python. No he encontrado ninguna referencia en español, así que espero que esto sea de utilidad.

martes, abril 11, 2006

Chetumal 2006

El domingo pasado terminó el primer congreso de software libre de la frontera sur y resultó todo un éxito.

Llegué el jueves 6 a la ciudad de Cancún, donde me recibió Mantuss, después nos reunimos con K001operator, dimos una vuelta por la ciudad y por la playa, k00l y yo nos echamos unas chelas y finalmente salimos a media noche para Chetumal.
El primer día todo el mundo empezó a conocerse entramos a las conferencias, nos fuimos a comer y para el desempance nos fuimos a tomar una chela que nos dejó picados, por eso al finalizar el día regresamos al depósito de chelas en el que nos tomamos la primera, después nos fuimos Sandino, Mike, Mantuss, k001 y yo a dar una vuelta por la bahía y a seguir tomando chela.

Me tocó dar el taller de Python el segundo día y ya me estaba jeteando antes de entrar, lo bueno fue que a la mera hora se me quitó el sueño y que los weyes de ICEnetX se tardaron mas de lo debido. La conferencia magistral la dieron Xiam y BlacKNash presentando el proyecto Gekko y ventilando sus cosas en público ;-P aquí se acabó la poca solemnidad que quedaba en el congreso. Terminando la serie de conferencias nos fuimos a ... (adivinaron, a tomar chela), a un antro en el que por primera vez en la historia se pudo ver a una bola de geeks bailando, ejem! creo que exagero un poco. Esta visita al antro dió pie a que el tercer día alguien fuera víctima de ingeniería social.

Al tercer día todo mundo andaba con cara de sueño, este día fue casi exclusivamente enfocado a rollos de seguridad, irónicamente Mike fue el que cayó en la trampa, entre sus diapositivas se coló una foto que nunca debió haber salido a la luz. Sandino dió la segunda temporada de su conferencia titulada "Mas allá del falso sentido de la seguridad" que cerró con broche de oro el congreso, pero no la parranda, ya que este último día todos acabamos como cucarachas fumigadas (literalmente).

Entre todos los que asistimos tenemos algo mas de 1Gb en fotos, algunas ya están disponibles en flickr para que veas de lo que te perdiste. :-)

Muchas gracias a Mantuss y a K001 por la hospitalidad, la neta son a toda madre!