Personal tools
You are here: Home Plone Documentación Tutoriales Uso de múltiples instancias y versiones de Plone

Uso de múltiples instancias y versiones de Plone

Document Actions

Note: This is the print view with all the tutorial pages on one page. The paginated version is available here, if you prefer that.

Es posible (y a veces necesario) tener distintas versiones de Plone en el mismo servidor. Acá explico cómo hacerlo en un ambiente Linux.

Introducción

¿Por qué tener distintas versiones de Plone?

Uno de los aspectos más complicados (y debatidos) de mantener un sitio Plone, es el manejo de las actualizaciones (upgrade) de versiones.

Muchas veces la cadena de requerimientos Plone -> Zope -> Python hace que una nueva versión de Plone requiera mucho más trabajo del aparente. Cada uno de estos software puede necesitar de una versión en específico del anterior.


En mi trabajo normal muchas veces debo congelar un Plone mientras está en producción. Eso no impide que en el mismo servidor se pueda jugar y probar con nuevos Plone. Lo único que hay que tener cuidado es en usar "paths" distintos para cada instalación, y que cada uno de ellos use un puerto distinto.

Además -y mucho más importante-, una actualización de un servidor en producción necesita que por un instante viva más de una versión de Plone:

  1. se instala una versión nueva y aislada del nuevo Plone
  2. se migra el contenido
  3. se inicia esta nueva versión en un puerto distinto
  4. se prueba que todo funcione
  5. se cambia el puerto de esta nueva versión para usar el default del sitio
  6. se puede bajar y eliminar la instalación Plone antigua

En este tutorial asumimos que ya tenemos una instalación de Plone funcionando, con una versión antigua.

Escoger un lugar de instalación

Debemos usar un directorio nuevo y aislado de antiguas instalaciones de Plone

Escogemos un lugar adecuado para mantener nuestra nueva instalación. Sobre el espacio, al menos yo estoy usando 360 MB para el software, y la instancia Plone depende del contenido que tenga. En mi caso particular usaré la partición "/web":

    % mkdir -p /web/nuevo-plone

Y como preparación del siguiente paso, mantendré las fuentes de los programas en su directorio especial:

    % mkdir /web/nuevo-plone/src

Además debemos tener en cuenta el usuario que ejecutará Zope. Este usuario debe ser el dueño de este directorio, y tener los permisos suficientes para abrir el puerto que escogeremos.

Desde ahora en adelante todos los comandos los ejecutará este usuario.


Obtener las versiones adecuadas

El primer paso es bajar las fuentes adecuadas del software
Obtenemos desde los sitios correspondientes las fuentes del software. En este ejemplo usaremos las versiones que usé el día 13 de marzo de 2007, las últimas disponibles ese día:

  1. plone 2.5.2-1, obtenido desde plone.org
  2. zope 2.9.6, obtenido desde zope.org
  3. python 2.4.4, obtenido desde python.org
  4. librería de imágenes para python (PIL), versión 1.1.6, desde http://www.pythonware.com/products/pil/

Dejamos todas estas fuentes en /web/nuevo-plone/src

Ahora la pregunta es: ¿cómo sabemos qué versiones usar?

Creo que hay tres respuestas posibles:

  • la más correcta creo que es "mirar los requerimientos de cada software". Es decir, partimos siempre con la última versión de Plone, leemos sus requisitos y así sabemos qué Zope usar, bajamos esa versión de Zope y leemos qué Python usar.
    Sin embargo, este proceso puede ser un poco tedioso y tampoco podemos estar seguro que funcione!
  • leer en los foros de plone.org la experiencia de algún usuario, para tener la certeza de una "cadena de versiones" que funcione
  • la que yo uso... que es aprovechar el trabajo que alguien ya hizo antes ;)
    En mi computador personal tengo instalado Fedora, y gracias al repositorio "extras" (y al trabajo de los mantenedores) basta con hacer "yum upgrade plone" y luego revisar las versiones de cada paquete instalado.


Instalar python y librería PIL

Primero el lenguaje.

Descomprimir el paquete:

% cd /web/nuevo-plone/src
% tar xjvf Python-2.4.4.tar.bz2
% cd Python-2.4.4

Configurar usando un path especial:

% ./configure --prefix=/web/nuevo-plone/p2.4.4

Compilar e instalar:

% make
% make install


Ahora instalamos la librería de imágenes para python:

% cd ..
% tar xzvj Imaging-1.1.6.tar.gz
% cd Imaging-1.1.6

En el caso de mi servidor tengo que setear a mano la ubicación de la librería libjpeg. Para eso hay que editar "setup.py" y en la línea JPEG_ROOT indicar el path adecuado.

Finalmente, instalar:

% /web/nuevo-plone/p2.4.4/bin/python setup.py install

Instalar Zope

El siguiente paso es el servidor de aplicaciones.

Descomprimimos:

% cd /web/nuevo-plone/src
% tar xzvf Zope-2.9.6-final.tgz
% cd Zope-2.9.6-final

Configuramos usando los paths en particular:

% ./configure --with-python=/web/nuevo-plone/p2.4.4/bin/python --prefix=/web/nuevo-plone/z2.9.6

Compilamos e instalamos:

% make
% make install


Crear instancia de Zope

Ahora creamos una instancia de Zope que contendrá nuestro nuevo sitio Plone.

Instalamos nueva instancia:

% /web/nuevo-plone/z2.9.6/bin/mkzopeinstance.py

Este comando interactivo nos preguntará la ubicación de la instancia. Yo escogí:

    /web/nuevo-plone/plone

Además nos consulta por el nombre de usuario y contraseña del administrador de esta instancia Zope.


Instalar Plone

Instalamos los productos que forman Plone.
% cd /web/nuevo-plone/plone/Products
% tar xzvf /web/nuevo-plone/src/Plone-2.5.2-1.tar.gz
% mv Plone-2.5.2-1/* .
% rmdir Plone-2.5.2-1

Configuraciones finales

Puerto y permisos.

Al menos es necesario revisar 2 configuraciones de zope:

% vi /web/nuevo-plone/plone/etc/zope.conf
  1. cambiar el puerto por el que escuchará esta nueva instancia, que debe ser distinto al de todas las otras instancias plone. En la línea que dice "address", sección "http-server".
  2. cambiar el usuario dueño del servidor, en la línea que dice "effective-user"

Iniciar y probar

Nuestra nueva versión de Plone está lista.

La primera vez es mejor iniciar en modo verboso, para verirficar los mensajes de error:

% /web/nuevo-plone/plone/bin/zopectl fg

Luego de todos los mensajes debe estar la línea "INFO Zope Ready to handle requests".


Ahora ya es posible usar el browser y probar nuestra nueva instalación.


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: