Herramientas Personales
Usted está aquí: Inicio Documentación Configuraciones Servidor con múltiples versiones de Zope y Plone

Servidor con múltiples versiones de Zope y Plone

— archivado en: , ,

Este documento trata la configuración de un servidor para ejecutar diferentes versiones de Plone y Zope simultáneamente. Está relacionado con los procesos de migración de portales.

Este documento surge ante la necesidad de disponer de varias versiones de Zope y Plone mientras se realizan las migraciones de los sitios. Concretamente, en mi caso debía mantener en un mismo servidor de explotación dos versiones de Zope: Zope 2.9 y Zope 2.10. La primera con Plone 2.5.x y la segunda con Plone 3.x

Según se van migrando los sitios Web se incluyen en Zope 2.10/Plone 3.x, mientras que los sitios que no están todavía migrados se mantienen en Zope 2.9/Plone 2.5

En este ejemplo de configuración se utiliza Apache y Squid, pero antes de configurarlos debemos instalar y hacer funcionar las dos instancias de Zope. En el puerto 9673 he colocado Zope 2.9 con los portales antiguos y en el puerto 9674 Zope 2.10 con los nuevos portales. La figura muestra un esquema con los puertos en los que escuchan los servicios.

En mi configuración he puesto Squid como acelerador virtual en el puerto 80, siendo este quien sirve directamente las peticiones http. Partiendo de la configuración por defecto existente tras la instalación en una distribución Linux Ubuntu/Debian los cambios en el fichero '/etc/squid.conf' son (sólo 3 cambios):

 

visible_hostname www.zopeplone.es
#Para que escuche en el puerto 80
http_port 80 vhost
#Manda las peticiones a Apache para que haga las reescrituras
cache_peer localhost parent 8080 0 no-query originserver

El siguiente paso es cambiar el puerto por defecto del Apache al puerto 8080. Además en mi caso, por seguridad, sólo dejo que escuche en la interfaz local 127.0.0.1:8080. El cambio en la configuración de apache es:

Listen 127.0.0.1:8080

El ejemplo que muestro a continuación consiste en mapear los dos zopes en el mismo domino, cada uno con su coletilla, es decir:

  • http://www.zopeplone.es/zopeplone25
  • http://www.zopeplone.es/zopeplone30

La configuración en Apache es:

<VirtualHost *>
  ServerAdmin webmaster@localhost
  <IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteLog "/var/log/apache2/zopes-rewrite.log"
     RewriteLogLevel 1
     RewriteRule ^/zopeplone25(.*) http://localhost:9674/VirtualHostBase/http/www.zopeplone.es:80/zopeplone25/VirtualHostRoot/_vh_zopeplone25/$1 [L,P]
     RewriteRule ^/zopeplone30(.*) http://localhost:9673/VirtualHostBase/http/www.zopeplone.es:80/zopeplone30/VirtualHostRoot/_vh_zopeplone30/$1 [L,P]
  </IfModule>
  CustomLog /var/log/apache2/zopes-access.log combined
  ErrorLog /var/log/apache2/zopes-error.log
</VirtualHost>

La diferencia con los ejemplos de reescritura existentes en la documentación de Zope y Plone es la cabecera '_vh_' puesta al final de cada reescritura. Se puede obtener mayor información en la documentación de VirtualHostMonster, objeto de la raíz de Zope.

Por último, recomiendo dar un vistazo al producto CacheFu funciona muy bien para realizar configuraciones básicas de Squid y Zope.

Referencias

[1] Wiki de Zope, ejemplos de configuraciones de Apache y Zope. http://wiki.zope.org/zope2/ZopeAndApache#id1

[2] Zope.org, ejemplo básico de configuración Squid-Apache. http://www.zope.org/Members/JCLawrence/LocalhostSquidHOWTO

[3] CacheFu, Producto para controlar Squid desde Plone. http://plone.org/products/cachefu

Acciones de Documento