Zope: Primeros pasos

Como en la vida tiene que haber de todo y -aunque no sea lo mío- parece que estoy abocado a ser un picateclas más, intentaré hacer mi estancia un poco más agradable probando algún otro lenguaje de programación distinto al de siempre.

Al no tener -creo- condición de caracter dominante me dejo llevar por los gustos de Borja cuando habla de los encantos de python y su servidor de aplicaciones: Zope, con lo que haremos nuestros primeros pinitos -instalación y poco más- en este nuevo mundo. Antes de nada, como Zope es un servidor de aplicaciones python, tendremos que instalar este último (si es que no se encuentra ya en el sistema). Se recomienda la versión 2.4 y el paquete python-dev de la misma rama. (Nota: no he encontrado demasiada dificultad en instalar python tanto en Linux, FreeBSD, OpenBSD ó MacOSX, con lo que obviaré este paso).
r0sk@wok:/$ python2.4
Python 2.4.4 (#2, Apr 12 2007, 21:03:11) 
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
r0sk@wok:/$ 
Una vez se ha instalado procedemos a descargar Zope desde sources para descomprimirlo, configurarlo, compilarlo e instalarlo:
# wget http://www.zope.org/Products/Zope/2.10.4/Zope-2.10.4-final.tgz
# tar xfvvz Zope-2.10.4-final.tgz
# cd Zope-2.10.4-final
Nota: La configuración la hacemos en base al directorio donde se instalará el binario /usr/local/Zope2104/.
# ./configure --with-python=/usr/bin/python2.4 --prefix=/usr/local/Zope2104/
  - Zope top-level binary directory will be /usr/local/lib/zope.
  - Makefile written.
# make
...
Zope built. Next, do 'make install' (or 'make inplace',
followed by 'make instance' to run a Zope instance directly
from the build directory).
# make install
...
Zope binaries installed successfully.
Now run '/usr/local/Zope2104/bin/mkzopeinstance.py'
Llegados a este punto ya tenemos 'el maestro' de Zope instalado en el sistema, ahora debemos crear una instancia del mismo, será con la que trabajemos a partir de ahora. Para ello -siguiendo las instrucciones- llamamos al script encargado de crearla.
# /usr/local/Zope2104/bin/mkzopeinstance.py
Please choose a directory in which you'd like to install
Zope "instance home" files such as database files, configuration
files, etc.

Directory: /var/www/htdocs/zope/
Please choose a username and password for the initial user.
These will be the credentials you use to initially manage
your new Zope instance.

Username:
Password: 
Verify password: 
Hemos creado la instancia en el directorio especificado (/var/www/htdocs/zope/ en este caso), también se piden los datos del usuario administrador de Zope. Una vez el servicio está instalado, como cualquier otro servicio, pasamos a configurarlo de forma más detallada en su $RUTA_INSTANCIA/etc/zope.conf. Varias cosas a destacar dentro del grueso de la configuración:
# Configuraciones Generales
effective-user www
locale es_ES.UTF-8
datetime-format international

# Por si queremos habilitar el servidor FTP
#  <ftp-server>
#    # valid key is "address"
#    address 8021
#  </ftp-server>

# Para incompatibilidades con productos como ZWiki
rest-input-encoding utf-8
rest-output-encoding utf-8
Decir que Zope viene con un servidor web propio (Zserver) que arrancará por defecto -a no ser que lo hayamos modificado en el zope.conf- en el puerto 8080. Como guinda final arrancamos el servidor
# cd /var/www/htdocs/zope/
# chown -R www:www *
# cd bin/
# ./zopectl start
. . . daemon process started, pid=18588
#
Finalmente navegamos por Zope con http://127.0.0.1:8080/. Para entrar en la zona administrativa -ZMI- donde controlamos absolutamente todo: http://127.0.0.1:8080/manage, ni que decir tiene que nos preguntará por las credenciales user/pass creadas anteriormente con la instancia.
ZMI-Zope Management Interface
Ahora solo queda instalar y jugar con algún que otro producto interesante, pero eso es otra historia.

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.