Actualizador automatizado RoundCube -- MailAdmin -- Administrador de correo


#1

1. Introducción

Core-Admin incluye un sistema para desplegar y mantener actualizado de manera automática una instancia RoundCube asociada al Administrador de Correo (#MailAdmin).

Este artículo explica elementos que soporta, versiones y cómo reparar/reconstruir la instalación.

2. Versiones soportadas

Versión RoundCube Activa Soportada desde Info
1.6.16 :white_check_mark: 26/05/2026 Actualización de seguridad y migración incremental de base de datos vía bin/updatedb.sh (método oficial recomendado por Roundcube)
1.6.11 - 09/06/2025 Actualización para corregir CVE-2025-49113
1.6.9 - 27/09/2024 Actualización de seguridad y características
1.6.5 - 14/12/2023 Actualización de seguridad y características
1.6.0 - 22/12/2022 Actualización de seguridad y características
1.4.11 - 08/10/2021 Actualización de seguridad y características
1.3.15 - 04/12/2020 Actualización de seguridad y características
1.1.5 - 09/05/2016 Actualización de seguridad y características
1.1.1 - 13/05/2015 Actualización de seguridad y características
1.1.0 - 18/03/2015 Actualización de seguridad y características
0.9.5 - 15/03/2014 Primera versión soportada por Core-Admin RoundCube Installer

3. Instalación de RoundCube

Roundcube se instala y actualiza automáticamente con cada instalación de Core-Admin si fue seleccionado como WebMail para el servidor de correo.

Para comprobar si hay una instalación disponible:

# crad-mail-roundcube-install.pyc --upgrade

4. Reparar una instalación RoundCube

En algunos casos la instalación puede quedar dañada o ser necesario repararla para incorporar las últimas correcciones incluso dentro de la misma versión. Para ello, simplemente usar el flag –force:

# crad-mail-roundcube-install.pyc --upgrade --force

5. Migración de base de datos (bin/updatedb.sh)

A partir de la versión 1.6.16, el instalador aplica los cambios de esquema entre versiones usando la herramienta oficial de Roundcube bin/updatedb.sh. Esta herramienta:

  • Aplica de forma incremental los deltas SQL bajo SQL/<driver>/202X.sql para llevar la base de datos desde la versión instalada hasta la versión objetivo.
  • Lee las credenciales directamente de config.inc.php ($config['db_dsnw']), por lo que no requiere intervención manual.
  • Es idempotente: no hace nada si el esquema ya está al día.
  • No toca datos de usuario (contactos, identidades, preferencias).

Si por alguna razón bin/updatedb.sh no está disponible o falla (por ejemplo, falta de PHP CLI en distribuciones antiguas), el instalador hace fallback al método legacy de migración aditiva (CREATE TABLE IF NOT EXISTS), que es seguro pero más limitado.

6. Plugin Managesieve (filtros de correo)

El instalador activa automáticamente el plugin managesieve tanto en instalaciones nuevas como en cada --upgrade. Esto garantiza que la opción de “Filtros” en la interfaz de Roundcube esté siempre disponible:

  • Crea plugins/managesieve/config.inc.php desde el template .dist si no existe.
  • Añade la configuración de Core-Admin (host localhost, puerto 4190, sin TLS interno, vacation habilitado) protegida por un beacon idempotente.
  • Habilita el plugin en config/config.inc.php añadiendo array_push($config['plugins'], 'managesieve');.
  • Asegura la parte del servidor IMAP (Dovecot) mediante mail_admin.ensure_managesieve_enabled(): instala el paquete necesario, añade sieve a protocols y reinicia Dovecot.

Si el módulo #MailAdmin no expone ensure_managesieve_enabled() (instalación antigua) el instalador avisa con un WARNING y recomienda reconstruir #MailAdmin para incorporar el helper.

7. Opción de vista Ancha para Escritorio // Stretched Elastic

El nuevo tema (Elastic) limita el modo en el que se ven los mensajes. El instalador de core-admin también despliega el plugin stretched-elastic que permite habilitar una vista “ancha” para el listado de correos. Para activarla:

  1. Activamos el tema en configuración -> preferencias -> Interfaz de usuario -> Stretched Elastic -> Guadar:

  2. Tras darle a guardar, pinchamos en “Vista de buzón” -> Disposición -> Escritorio -> Guardar

  3. Tras esto, en la vista de mensajes, se verá el listado “estirado” / “ancho”:

8. Errores conocidos

  1. [11/09/2025] Si al acceder a la gestión de filtros (managesieve) aparece el siguiente error en la interfaz web:

    ARCHIVO NO ENCONTRADO
    ¡No se ha encontrado el recurso solicitado!
    Por favor, póngase en contacto con el administrador de su servidor.
    Ha fallado la petición: mailserver.aspl.es/roundcube/?_task=settings&_action=plugin.managesieve&_token=jS4aSbA65COcr3m1A61wU3OauRFnR6Hv

    …y dentro de los logs del roundcube, aparece el siguiente error:

    ==> /var/log/roundcube/logs/errors.log <==
    [11-Sep-2025 09:31:42 +0200]: PHP Error: Error loading template for managesieve.managesieve in /usr/share/webmail/roundcube/program/include/rcmail_output_html.php on line 804 (GET /roundcube/?_task=settings&_action=plugin.managesieve&_token=jS4aSbA65COcr3m1A61wU3OauRFnR6Hv)

    Causa: el fichero de configuración config.inc.php incluye una declaración de skin antigua que ya no está soportada por las nuevas versiones de roundcube:

    $config[‘skin’] = ‘larry’;

    Al actualizarlo al siguiente valor, se resuelve el problema:

    $config[‘skin’] = ‘elastic’;

    Solución recomendada: ejecutar el reparador de instalación, que a partir de la versión 1.6.16 detecta automáticamente esta declaración obsoleta, la reemplaza por elastic y elimina cualquier enlace residual skins/larry:

    >> crad-mail-roundcube-install.pyc --upgrade --force