Máquina virtual con Plone 5.2.1
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:
- El propio gestor de contenidos.
- Los cambios que se pueden hacer a través de la web al tema por defecto: Barceloneta.
- El desarrollo de nuevos temas.
- Probar los add-ons
- Utilizar la API REST de Plone.
- Desarrollar aplicaciones React con Volto.
- Desarrollar aplicaciones Angular con Plone REST API.
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#