Instalando Plone 2.1
Plone es un excelente gestor de contenidos libre. Está escrito en Python, corre sobre Zope y es multiplataforma. Aunque existen paquetes para distintas distribuciones GNU/Linux, probablemente no se trate de la última versión. Así que vamos a ver cómo instalar todo lo necesario para acabar con un CMS Plone funcional a partir del código fuente.
Requisitos
Partiremos de una instalación limpia y funcional de GNU/Linux (cualquiera nos sirve, por ejemplo Mandriva). Es necesario que la red esté bien configurada y en funcionamiento.
La última versión estable de Plone (2.1) pide utilizar Zope 2.8.1 y Python 2.3.5, así que vamos a utilizar exactamente esas versiones. Cualquier instalación con otras versiones puede funcionar o no, pero no queremos arriesgarnos. Así que directamente desde la web oficial de cada producto descargaremos el código fuente de las versiones indicadas.
Instalación de Python
Probablemente nuestro sistema ya cuente con un intérprete de Python instalado. En el caso de Mandriva 2005 LE, está instalado Python2.4 a partir de los paquetes oficiales, como no es la versión que nos interesa instalaremos manualmente (en otro directorio) la versión 2.3.5 para uso exclusivo de nuestro Zope.
- Descomprimimos y desarchivamos el código fuente de Python
- Entramos en el directorio que lo contiene y ejecutamos:
./configure --prefix="/usr/local/python2.3.5"
make
make install
De esta manera se nos instalará la nueva versión de Python en el directorio /usr/local/python2.3.5
sin interferir con otras versiones que pudieramos tener instaladas. Evidentemente el último paso hay que ejecutarlo como root.
Instalación de Zope
Para poder compilar Zope es necesario tener instaladas las herramientas de desarrollo de C. La versión de GCC que está empaquetada para nuestra distribución será suficiente. Al compilar Zope indicaremos como intérprete de Python la versión que hemos instalado en el punto anterior.
- Descomprimimos y desarchivamos el código fuente de Zope
- Entramos en el directorio que lo contiene y ejecutamos:
./configure --prefix="/usr/local/zope2.8.1" --with-python="/usr/local/python2.3.5/bin/python2.3"
make
make install
Evidentemente el último paso lo deberemos ejecutar como root.
Creamos una instancia de Zope
Ya tenemos instalado Zope en el directorio /usr/local/zope2.8.1, ahora conviene crear una instancia de Zope que será la que utilizaremos para soportar a nuestro Plone. Podemos considerar a cada instancia de Zope como un servicio independiente que podremos encender/apagar por separado. Cada instancia tiene su propio fichero de configuración, fichero de datos, ficheros de registro, directorio de productos, etc...
Simplemente ejecutamos como administrador:
/usr/local/zope2.8.1/bin/mkzopeinstance.py
y respondemos a las preguntas que nos hace:
- Directorio:
- /opt/zope_misitio
- Initial user:
- administrador
- Password:
- algosecreto
Con esto hemos creado el directorio /opt/zope_misitio que contendrá a la instancia Zope que nos va a dar servicio. Esta instancia tendrá por administrador (de la interfaz de administración Zope y de Plone en cuanto lo instalemos) al usuario 'administrador' indetificado por 'algosecreto'.
Conviene que repasemos el fichero de configuración /opt/zope_misitio/etc/zope.conf y además de comprobar el estado de las opciones, nos aseguremos de activar:
effective-user zope
Que evidentemente sirve para indicar el usuario al que pertenecerán los procesos de Zope de esta instancia. Como dicho usuario no existe en nuestro sistema procederemos a darlo de alta, bloquear su cuenta para uso interactivo y cambiar el dueño de los ficheros de la instancia:
useradd zope
passwd -l zope
chown -R /opt/zope_misitio
Instalamos Plone
- Desarchivamos el código fuente de Plone
- Movemos todos los productos a /opt/zope_misitio/Products
- Hacemos que los productos pertenezcan al usuario zope: chown -R zope /opt/zope_misitio/Products
Llegados a este punto ya tenemos una instalación básica de Plone, pero para controlar cómodamente nuestra instancia Zope es conveniente utilizar el script /etc/init.d/zope que viene con la versión empaquetada de Zope. Este script debe adaptarse para que lance nuestra instancia Zope (aquí se puede ver como) y debe copiarse en /etc/init.d
Después se pueden utilizar las herramientas del sistema para indicar que el servicio Zope se debe arrancar automáticamente al encender la máquina.
Si se enciende el servicio se podrá:
- Utilizar el navegador web para acceder a 127.0.0.1:8080 (a no ser que se haya configurado otro puerto en /opt/zope_misitio/etc/zope.conf)
- Acceder a 127.0.0.1:8080/manage e identificarse como el usuario administrador en la ZMI
- Construir un objeto Plone para el sitio web
- Acceder al sitio web en 127.0.0.1:8080/misitio
Evidentemente a partir de ahora surgirán nuevas preguntas sobre como se administra el sitio Plone, nada mejor que acudir a: Definitive Guide to Plone y la propia web plone.org
Otros aspectos:
Evidentemente esta chuleta rápida no ha hecho más que llevarnos al punto en el que podemos comenzar a utilizar nuestra propia instancia de Zope para mantener un sitio Plone. A partir de aquí queda un largo camino por recorrer:
- Copia de seguridad: Lo mejor es hacer una imagen del disco duro una vez que está todo instalado y despues utilizar el script repozo que viene con la distribución de Zope para hacer copias de seguridad de la base de datos de nuestra instancia Zope.
- Utilizar Apache como servidor web: Zope tiene su propio servidor web, pero no puede competir con Apache. Si el sitio Plone va a ser visible desde Internet, es muy importante colocar un servidor Apache que se pelee con los clientes y reenvie las peticiones a nuestro servidor Zope. Además, gracias al mod_rewrite de Apache podremos arreglarnoslas para que nuestro sitio web tenga una URL decente (como http://misitio.com) en lugar de http://nombre_máquina:8080/misitio
- Aunque no es necesario, instalar PIL (la versión Imaging-1.1.5.tar.gz es perfecta) es muy aconsejable. Así al subir fotos nos creará los thumbnails automáticamente además de contar con la bonista vista de álbum y otras posibilidades.