Zope, Plone y Quills en Gentoo
La curiosidad y las ganas de aprender me han llevado a conocer otra vía distinta a las que estaba acostumbrado en PHP, así que al tajo...
Instalación Zope
Zope es el servidor de aplicaciones que hace de anfitrión de Plone, ya lo habíamos instalado en otra ocasión, tanto el propio servidor como algún que otro producto (Zwiki) pero vamos a intentarlo de otra forma en Gentoo.Antes de nada comprobamos que tenemos python-2.4 e instalamos el easy_install. En Gentoo viene en un package llamado setuptools así que lo emergemos:
# whereis python python: /usr/bin/python /usr/bin/python2.4 /usr/lib/python2.4 /usr/include/python2.4 # emerge setuptoolsYa podemos usar easy_install para componer el esqueleto de Zope:
# easy_install ZopeSkel
Otras dependencias
Tanto Zope como Plone dependen de unas librerías básicas para su correcto funcionamiento, las mínimas son elementtree y PIL (Python Imagging Library, en Gentoo se llama imagging). Las instalamos antes de continuar:# emerge elementtree # emerge imaging
Instalación Plone
Plone es el gestor de contenidos que corre sobre Zope y pretendemos instalar, para ello una vez tenemos el esqueleto de Zope listo hacemos lo siguiente:# mkdir /home/plone/ # paster create -t plone3_buildout plone_r0skY contestamos a todas las preguntas, usuario administrador, contraseña, puerto por defecto (8008)... Este proceso crea un directorio -plone_r0sk- con todo lo necesario para la instalación. Para finalizar ejecutamos el buildout que se encargará de bajar, compilar e instalar todo lo necesario para el Plone3:
# cd plone_r0sk # python bootstrap.py # ./bin/buildoutAl acabar el buildout tendremos Zope y Plone instalados en el sistema. Para instalar otros productos debemos jugar con el archivo buildout.cfg, pero eso ya lo veremos más adelante con Quills.
Lanzando instancias
Ahora tenemos que lanzar la instancia de Zope e instanciar nuestro Plone directamente desde ZMI:# ./bin/instance fgOjo:Cuidado con los permisos, puesto que la instancia no puede lanzarse como root. Si hemos hecho el buildout como root haremos un chown a un user de confianza, su a ese user y lanzamos la insance:
# chown -R r0sk:users * # su r0sk # ./bin/instance fgUna vez lanzada la instance entramos al ZMI (http://miserver:8080/manage) con el usuario y contraseña que indicamos en la instalación:



Product Quills
Ahora vamos a instalar Quills para facilitar el uso de Plone como herramienta weblog. Para ello entramos de nuevo en el directorio plone_r0sk y editamos el buildout.cfg agregando la siguiente opción en eggs:
eggs =
elementtree
Products.Quills
Ejecutamos el buildout para que se baje y compile Quills y lanzamo de nuevo la instancia -parar la antigua si la teníamos funcionando-:
# ./bin/buildout # ./bin/instance fgAhora, si entramos al Plone y vamos a Productos adicionales debe aparecer por alguna parte una lista de productos no instalados, entre los que se encuentra:
- Products.Quills 1.7.0b2
- quills.app unknown
Referencias
Conclusión
Todo tiene su parte positiva, ha sido menos traumático de lo que esperaba y el resultado es bueno, en poco más de 20 minutos (corrección de errores incluida), hemos montado una plataforma gestora de todo tipo de contenidos sencilla e intuitiva.Por otro lado, mirándolo con ojos de desarrollador y retomando este hilo, no conozco los entresijos de Zope+Plone, con lo que no puedo saber cuan eficiente se puede comportar en contextos de carga extrema. Ese desconocimiento genera excepticismo y ganas de aprender más cosas sobre zdb, almacenamiento de datos, tipos de consulta...
Comentarios
Me alegro de que te animases el otro dia y de que hayas visto lo sencillo que es (e ainda non vicha nada, como se suele decir).
Cuando quieras le damos otra vuelta, para que veas que mas cosillas se pueden hacer (lo de linguaplone no quedo demasiado claro), ademas de entrar en deshabilitar modos de debug, meter cache-fu y alguna cosa mas.... :D
Senil