La instalación de Zope es realmente sencilla en un entorno Linux, tanto si es a través de paquete (.deb, .rpm), como si la hacemos a través de las fuentes. No vamos a entrar a detallar el proceso de instalación. Como único comentario, cabe decir que Zope lleva su propio ejecutable de python, librerías incluidas. Esto implica que cualquier módulo de python que vayamos a instalar para ser utilizado desde Zope, requerirá que lo instalemos a partir del ejecutable de python de Zope, y no con el ejecutable del sistema.
Una instalación standard se compone principalmente de los siguientes directorios/ficheros:
Tabla 1. Principales elementos integrantes de una instalación de Zope
| Fichero-Directorio | Descripción |
|---|---|
| $ZHOME\bin | Directorio donde reside el ejecutable del python |
| $ZHOME\import | Directorio donde ubicaremos los ficheros a partir de los cuales importaremos nuestros desarrollos Zope, exportados desde otra ZODB. |
| $ZHOME\lib | Conjunto de librerías de python y Zope. |
| $ZHOME\lib\python\Products | Muy importante. Directorio donde residen los productos de Zope, tanto los que forman parte de la distribución, como aquellos que vayamos instalando por nuestra propia cuenta. |
| $ZHOME\includes | Cabeceras de python. |
| $ZHOME\var\Data.fs | Muy importante. Este fichero binario conforma la base de datos Zope donde se almacena cualquier información relativa al Zope. |
| $ZHOME\Extensions | Directorio donde pondremos aquellos scripts de python externos a Zope, para poder llamarlos luego desde dentro del python. |
Un producto una aplicación que realiza una tarea específica que podemos utilizar desde dentro de Zope. Algunos de estos productos vienen incluidos en una instalación standard, mientras que otros los desarrolla la comunidad y tenemos que instalarlos nosotros mismos.
Estos son algunos de los productos más importantes que vienen de serie con una instalación standard de Zope
Virtual Host Monster. Este producto nos permitirá acceder a Zope de una manera transparente a través de Apache (o con Medusa) mapeando las direcciones URL que nosotros queremos ofrecer al usuario hacia el directorio Zope el cual debe de servirla. Resumiendo, para entendernos, permite servir varios dominios virtuales a partir de una única instalación de Zope; ya sea con la ayuda de Apache o sin ella.
ZSQLMethods. Son los métodos que nos almacenan las consultas estáticas o dinámicas de acceso a la base de datos relacional (mysql, postgresql, oracle, etc.). Abstraen el motor de base de datos que vaya por debajo a través de un adaptador, creando una capa transparente de consultas SQL.
Version. Este producto nos permite coordinar los proyectos colaborativos. Cuando modifiquemos un objeto a traves de una versión, hasta que no lo liberemos ningun otro usuario tendrá acceso a la modificación de este objeto. Tambien es muy util para realizar cambios sobre una web ya en producción, donde no nos interesa que el usuario final vea los cambios que estamos realizando en caliente. En este caso,los cambios que realicemos sobre los objetos seran privados, y solo accesibles por el usuario que los esté realizando
Session data manager (control de sesiones). A través de este este producto podemos llevar un control de sesión de los usuarios que están conectados a nuestra web, e incluso almacenar datos relevantes de la sesión del usuario, aunque almacenar datos importantes en una sesión no es muy conveniente, debido a la facilidad con la puede acceder a esta información un intruso.
Ram cache manager. Para aumentar la velocidad de los sites que tengan muchos accesos, es conveniente cachear las peticiones dinámicas de aquellas paginas que sean propensas a cachearse. De esta manera, las paginas se serviran estáticas durante un determinado tiempo. El producto RAM cache manager nos cachea estas paginas en memoria, durante el tiempo de vida que nosotros le definamos.
Al margen de los productos que ya hemos visto, existen una serie de productos muy recomendables de los que podemos sacar un gran partido:
CookieCrumbler. Nos permite autenticar usuarios con formulario en lugar de con autenticación básica.
ZMySQLDA. Adaptador de base de datos que nos permite conectar los ZSQLMethods contra una base de datos mysql. A parte de este producto, para poder conectar Zope contra una base de datos mysql, deberemos instalar los módulos de python de acceso a bases de datos mysql.
ZPoPyDa. Adaptador de base de datos que nos permite conectas los ZSQLMethods contra una base de datos PostgreSQL. Al igual que el producto anterior, requiere que los módulos de python de acceso a base de datos PostgreSQL estén instalados
LocalFS. Nos permite navegar a través de un filesystem del sistema como si se trataran de objetos Zope. Muy recomendable para almacenar ficheros de mucho tamaño que engordarían demasiado el tamaño de la base de datos ZODB.
ZEO. Cuando las peticiones a nuestro site aumentan en gran medida, de manera que la carga de nuestro procesador es muy alta, podemos utilizar ZEO para distribuir la carga entre otras instancias de Zope instaladas en máquinas diferentes comunicadas entre sí, actuando a modo de cluster.
Al contrario que los productos que van incluidos en la distribución, estos productos deberemos instalarlos nosotros mismos. Para instalarlos simplemente tendremos que descargarlos desde la web de Zope, descomprimirlos en el directorio de productos que hemos visto antes, y finalmente reiniciar el Zope para que los reconozca.