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.

No hay comentarios.: