Roundcube es un cliente de correo electrónico basado en navegador. Ofrece un acceso sencillo para gestionar correos electrónicos a través de una interfaz web.
Roundcube puede instalarse de dos maneras: desplegándolo con Docker Compose o instalándolo directamente en un servidor Ubuntu para un enfoque más práctico.
La siguiente guía es un manual completo que cubre desde los requisitos previos y la instalación hasta la solución de problemas y la gestión de cuentas en Roundcube Webmail. Comencemos con el porqué.
Estas son algunas de las características clave que hacen destacar a Roundcube como cliente de correo electrónico:
Para continuar con este tutorial, necesitarás:
sudo apt update
sudo apt install docker docker-compose
Los contenedores Docker incluyen todas las dependencias necesarias para simplificar el proceso de configuración. A continuación, se muestra un archivo docker-compose.yml funcional para iniciar Roundcube Webmail con los complementos thunderbird_labels, show_folder_size y tls_icon.
version: '3'
services:
roundcubemail:
image: roundcube/roundcubemail:latest
container_name: roundcubemail
volumes:
- ./www:/var/www/html
- ./db/sqlite:/var/roundcube/db
ports:
- 9002:80
environment:
ROUNDCUBEMAIL_DB_TYPE: sqlite
ROUNDCUBEMAIL_SKIN: elastic
ROUNDCUBEMAIL_DEFAULT_HOST: "ssl://imap.gmail.com"
ROUNDCUBEMAIL_SMTP_SERVER: "ssl://smtp.gmail.com"
ROUNDCUBEMAIL_DEFAULT_PORT: 993
ROUNDCUBEMAIL_SMTP_PORT: 465
ROUNDCUBEMAIL_COMPOSER_PLUGINS: "weird-birds/thunderbird_labels,jfcherng-roundcube/show-folder-size,germancoding/tls_icon:^1.2"
ROUNDCUBEMAIL_PLUGINS: thunderbird_labels, show_folder_size, tls_icon
A continuación, la explicación de cada variable de entorno:
ROUNDCUBEMAIL_SKIN: Define el tema de la interfaz. “Elastic” es el tema moderno y “Classic” es el más básico.ROUNDCUBEMAIL_DEFAULT_HOST: El host IMAP predeterminado al que Roundcube se conectará.ROUNDCUBEMAIL_DEFAULT_PORT: Puerto IMAP.ROUNDCUBEMAIL_SMTP_SERVER: Servidor SMTP utilizado para enviar correos.ROUNDCUBE_SMTP_PORT: Puerto SMTP.ROUNDCUBEMAIL_COMPOSER_PLUGINS: Complementos adicionales que mejoran la experiencia de correo electrónico.ROUNDCUBEMAIL_PLUGINS: Activa los complementos instalados mediante la variable anterior.Tu proveedor de correo te proporcionará los detalles del servidor IMAP, puerto IMAP, servidor SMTP y ajustes SMTP. Debes ajustar estas variables según la información de tu proveedor y el tipo de cifrado (SSL/TLS) que utilice.
Para desplegar este archivo docker-compose, asegúrate primero de tener Docker y Docker Compose instalados:
docker --version && docker-compose --version
Inicia el servicio Docker:
systemctl start docker
Despliega el archivo:
docker-compose up
Puede tardar entre 2 y 3 minutos en ejecutarse completamente en <tu-IP-del-servidor>:9092. Para comenzar a gestionar tus correos, introduce las credenciales proporcionadas por tu servidor de correo electrónico.
Si utilizas Gmail o Outlook, el nombre de usuario será tu dirección de correo junto con el sufijo @gmail o @outlook.

Tras iniciar sesión correctamente, verás una interfaz similar.

Roundcube es una aplicación basada en la pila LAMP. Está escrita en PHP y admite varias bases de datos como MySQL, PostgreSQL y SQLite.
Antes de la instalación, actualiza la lista de paquetes y sus versiones:
sudo apt update
sudo apt install php apache2
También necesitas instalar y habilitar algunas extensiones de PHP:
sudo apt install php-mbstring php-xml php-imap php-sqlite3 php-json php-curl php-zip php-gd php-intl
Aquí tienes lo que hace cada extensión:
php-mbstring: Soporte para codificaciones de caracteres multibyte.php-xml: Permite trabajar con documentos XML.php-imap: Permite establecer conexiones con servidores IMAP.php-sqlite3: Adaptador PHP para bases de datos SQLite.php-json: Gestiona la codificación y decodificación JSON.php-curl: Envía solicitudes HTTP mediante curl.php-zip: Lee y escribe archivos ZIP.php-gd: Proporciona capacidades de manipulación de imágenes.php-intl: Soporte para idiomas, culturas y preferencias regionales.Puedes descargar el código fuente desde https://roundcube.net/download/. Para facilitar la implementación, elige la Versión completa y estable.

Descarga la aplicación en el directorio /var/www.
cd /var/www
sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.6.10/roundcubemail-1.6.10-complete.tar.gz
Una manera sencilla de permitir que Apache lea y escriba en el directorio raíz del documento es cambiar la propiedad al usuario www-data:
sudo tar xvf roundcubemail-1.6.10-complete.tar.gz
sudo chown -R www-data:www-data roundcube-1.6.10
cd roundcube-1.6.10
El archivo de configuración define qué complementos estarán en uso, qué interfaz y temas se aplicarán y qué servidores SMTP e IMAP se utilizarán.
Haz una copia del archivo de configuración predeterminado (asegúrate de estar en el directorio /var/www/roundcube-1.6.10):
sudo cp config/config.inc.php.sample config/config.inc.php
Abre el archivo de configuración y edita los ajustes más importantes, como la conexión a la base de datos, el servidor IMAP y el servidor SMTP:
sudo nano config.inc.php

Aquí tienes un ejemplo de configuración para el servidor de correo Outlook. Ajusta db_dsnw, imap_host y smtp_host según tu proveedor. Esta configuración utiliza una base de datos SQLite por simplicidad:
$config[‘db_dsnw’] = ‘sqlite:////var/www/roundcubemail-1.6.10/config/db.sqlite?mode=0640’;
$config[‘imap_host’] = ‘ssl://imap.office365.com:993’;
$config[‘smtp_host’] = ‘ssl://smtp-mail.outlook.com:587’;
Si deseas usar algunos complementos, debes descargarlos manualmente en el directorio de complementos o utilizar Composer para administrarlos. Luego actívalos en el archivo de configuración.

Crea un nuevo archivo roundcube_site.conf en /etc/apache2/sites-available con el siguiente contenido:
<VirtualHost *:80>
DocumentRoot /var/www/roundcubemail-1.6.10
# ServerName roundcube.CHANGEME_YOURDOMAIN.com # Replace it
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/roundcubemail-1.6.10>
AllowOverride All
Require all granted
</Directory>
# Block access to the database
<FilesMatch "\.sqlite$">
Require all denied
</FilesMatch>
</VirtualHost>
Habilita el nuevo sitio de Apache:
sudo a2ensite roundcube_site.conf
Deshabilita el sitio predeterminado para evitar conflictos:
sudo a2dissite 000_default.conf
Recarga Apache para aplicar los cambios:
sudo systemctl reload apache2
Accede a la interfaz de Roundcube visitando la IP de tu servidor en el navegador. Se te pedirá tu nombre de usuario y contraseña, que puedes obtener de tu proveedor de correo electrónico.
Si la instalación no funciona correctamente, revisa el archivo errors.log.

También puedes consultar los registros de Apache para obtener más detalles:
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log
Para agregar cuentas adicionales, ve a la pestaña Configuración > Identidades > Crear.

Puedes importar todos tus contactos anteriores desde un archivo vCard o CSV. Para hacerlo, ve a la pestaña Contactos y haz clic en el icono Importar en la parte superior.
Si deseas importar CardDAV, agrega el complemento roundcube/carddav.

Destinatarios recopilados mostrará una lista de contactos previamente utilizados. Del mismo modo, Remitentes de confianza mostrará una lista de remitentes conocidos.
Vale la pena mencionar algunos de los complementos más populares de Roundcube:
Si no te convence la experiencia con Roundcube, existen otras alternativas que puedes considerar:
Roundcube ofrece cientos de complementos para personalizar la experiencia. Con la implementación mediante Docker, puede desplegarse en cuestión de minutos.
Si te sientes cómodo administrando servidores y necesitas una solución de webmail ligera y de código abierto, Roundcube puede ser perfecto para ti. Sin embargo, si necesitas funciones avanzadas o prefieres evitar el autoalojamiento, considera otras opciones.