Máquina virtual con Plone 5.2.1

per Victor Carceler darrera modificació 2021-01-07T10:30:47+02:00

Recientemente se ha actualizado la web del centro a Plone 5.2.1. Plone es un gestor de contenidos libre implementado sobre el servidor de aplicaciones Zope. Ambos proyectos son muy flexibles y tienen grandes capacidades pero pueden desanimar a los usuarios que no están familiarizados con su instalación.

Lo que resulta una pena pues evitaría que algunas personas pudieran a trastear con:

Por eso aquí proporciono una máquina virtual con Plone 5.2.1 recién instalado para que pueda probarlo cualquier desarrollador web.

Detalles de la instalación:

Se puede descargar la MV para VirtualBox con el siguiente enlace: http://cloud.elpuig.xeill.net/index.php/s/YjrC36PdT0dA5Ib/download

  • MV exportada: (VirtualBox)
  • SO: Ubuntu 18.04 server
  • Usuario: usuario/usuario
  • Configuración de red: dinámica. Se puede cambiar editando /etc/netplan/50-cloud-init.yaml
  • Interfaz de red en modo puente
  • Puertos de Plone: 8080 (client1) y 8081 (client2)
  • Usuario administrador: admin/admin

Una vez importada la MV basta con encenderla asegurándose de poner la interfaz de red en modo puente. Se puede entrar en la máquina para consultar la IP que ha obtenido o configurar una de manera estática en el fichero /etc/netplan/50-cloud-init.yaml.

Cuando la máquina arranca lanza automáticamente el servicio Plone al que se puede acceder indistintamente en los puertos 8080 y 8081 desde el navegador de la máquina anfitriona. El usuario administrador es admin con la contraseña admin.

Proceso de instalación:

Si alguien quiere replicar el proceso de instalación en otro lugar puede seguir estos pasos sobre un Ubuntu 18.04 Server recién instalado. Una instalación en producción de Plone 5 requiere más pasos, pero esta es una instalación con la que uno se puede familiarizar con el desarrollo de este gestor de contenidos.

Instalación de dependencias:

apt update
apt upgrade
apt install build-essential python-dev python3.6-dev libjpeg-dev libxslt-dev supervisor nginx zlib1g-dev libssl-dev poppler-utils wv

El servidor web nginx es una dependencia pero como no lo vamos a utilizar lo deshabilitamos:

root@plone:~# systemctl disable nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable nginx
root@plone:~# systemctl stop nginx

Finalmente se puede descargar Plone y desarchivarlo:

root@plone:~# wget https://launchpad.net/plone/5.2/5.2.1/+download/Plone-5.2.1-UnifiedInstaller-r3.tgz
root@plone:~# tar xzf Plone-5.2.1-UnifiedInstaller-r3.tgz
root@plone:~# cd Plone-5.2.1-UnifiedInstaller-r3/
root@plone:~/Plone-5.2.1-UnifiedInstaller-r3# ls
base_skeleton helper_scripts packages tests
buildenv.sh.in HISTORY.txt Plone-docs UPDATING_ME.txt
buildout_templates init_scripts preflight version.txt
docs install.sh README-pt-br.rst windows_install.bat
fetch_versions.py Licenses README.rst
root@plone:~/Plone-5.2.1-UnifiedInstaller-r3#

Y para lanzar la instalación manual:

root@plone:~/Plone-5.2.1-UnifiedInstaller-r3# ./install.sh

Opciones:

  • /usr/bin/python3.6
  • ZEO Cluster
  • 2 zeo clients
  • /opt/plone
  • password: admin

Una vez instalado (en /opt/plone/zeocluster/ )se puede preparar la unidad de systemd para que el servicio se lance y se detenga automáticamente.

Fichero: /etc/systemd/system/plone.service

[Unit]
Description=Plone content management system
After=network.target

[Service]
User=plone_daemon
Group=plone_group
Type=forking
ExecStart=/opt/plone/zeocluster/bin/plonectl start
ExecStop=/opt/plone/zeocluster/bin/plonectl stop
ExecReload=/opt/plone/zeocluster/bin/plonectl restart

[Install]
WantedBy=multi-user.target

Y se activa el servicio:

root@plone:/opt# systemctl enable plone
Created symlink /etc/systemd/system/multi-user.target.wants/plone.service → /etc/systemd/system/plone.service.
root@plone:/opt#