🚧Roundcube como MUA

Instalar Roundcube en tu servidor es una buena opción si quieres una interfaz web para gestionar correos electrónicos usando Postfix y Dovecot como backend. Aquí te explico los pasos y opciones que tienes:

  • Si quieres simplicidad y menos mantenimiento, instalar Roundcube en el mismo servidor que Postfix/Dovecot es la mejor opción.

  • Si prefieres separación de servicios y mayor seguridad, instalarlo en otro servidor con Cloudflare Tunnel te permite protegerlo de ataques y ocultar tu IP.

1. Instalación de Roundcube en el mismo servidor de Postfix-Dovecot

Sí, tiene sentido instalarlo en el mismo servidor, ya que Roundcube actúa solo como cliente web y se conecta a Dovecot (IMAP) y Postfix (SMTP), evitando problemas de comunicación entre servidores.

Pasos de instalación en un servidor con Apache y MariaDB/MySQL

  1. Instala los paquetes necesarios:

    sudo apt update
    sudo apt install roundcube roundcube-mysql roundcube-plugins roundcube-plugins-extra
    
    sudo apt install mysql
  2. Configura la base de datos:

    • Durante la instalación en Debian/Ubuntu, el sistema te pedirá que configures dbconfig-common para crear automáticamente la base de datos.

    • Si no lo hizo, puedes crear la base de datos manualmente y luego importar el esquema:

      sudo mysql -u root -p
      CREATE DATABASE roundcube;
      CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'tu_contraseña_segura';
      GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcube'@'localhost';
      FLUSH PRIVILEGES;

      Luego importa la base de datos:

      mysql -u roundcube -p roundcube < /usr/share/roundcube/SQL/mysql.initial.sql
  3. Configura Roundcube:

    • Edita /etc/roundcube/config.inc.php y ajusta las siguientes líneas:

      $config['db_dsnw'] = 'mysql://roundcube:tu_contraseña_segura@localhost/roundcube';
      $config['default_host'] = 'ssl://tu-dominio.com'; // Servidor IMAP (Dovecot)
      $config['smtp_server'] = 'tls://tu-dominio.com'; // Servidor SMTP (Postfix)
      $config['smtp_user'] = '%u';
      $config['smtp_pass'] = '%p';
    • Asegúrate de que el archivo de configuración se puede leer:

      sudo chmod 640 /etc/roundcube/config.inc.php
      sudo chown root:www-data /etc/roundcube/config.inc.php
  4. Reinicia Apache y prueba Roundcube:

    sudo systemctl restart apache2

    Luego accede a https://tu-dominio.com/roundcube para iniciar sesión.


Para instalar Roundcube en un servidor Ubuntu Server con Nginx, sigue estos pasos:

1. Instalar dependencias

sudo apt update && sudo apt upgrade -y
sudo apt install nginx mariadb-server php php-fpm php-mysql php-json php-xml php-mbstring php-zip php-curl unzip -y

Verifica que PHP esté instalado:

php -v

2. Configurar MariaDB

  1. Asegura la instalación de MariaDB:

    sudo mysql_secure_installation

    Responde las preguntas para mejorar la seguridad.

  2. Accede a MariaDB:

    sudo mysql -u root -p
  3. Crea la base de datos y usuario para Roundcube:

    CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'P@ssw0rd';
    GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcube'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

3. Descargar Roundcube

cd /var/www/
sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.6.3/roundcubemail-1.6.3-complete.tar.gz
sudo tar -xvzf roundcubemail-1.6.3-complete.tar.gz
sudo mv roundcubemail-1.6.3 roundcube
sudo rm roundcubemail-1.6.3-complete.tar.gz

4. Configurar permisos

sudo chown -R www-data:www-data /var/www/roundcube/
sudo chmod -R 755 /var/www/roundcube/

5. Configurar Nginx

Edita la configuración de Nginx:

sudo nano /etc/nginx/sites-available/roundcube

Agrega la siguiente configuración:

server {
    listen 80;
    server_name www.alexdns.local;

    root /var/www/roundcube;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
        deny all;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\. {
        deny all;
    }
}

Guardamos el documento y habilitamos la configuración:

sudo ln -s /etc/nginx/sites-available/roundcube /etc/nginx/sites-enabled/

Y reiniciamos el servicio:

sudo systemctl restart nginx

6. Configurar Roundcube

Ejecuta el instalador web accediendo a:

http://www.alexdns.local/installer

Sigue las instrucciones y asegúrate de que todos los requisitos estén en verde.

Ahora deberás configurar algunso parámetros:

Dentro de imap_host configura imap://mail.alexdns.local y dentro de smtp_host, smtp://mail.alexdns.local

En la configuración de la base de datos rellena con los datos de la BBDD configurada.

En lenguaje puedes poner es_ES

7. Finalizar instalación

  1. Edita el archivo de configuración:

    sudo nano /var/www/roundcube/config/config.inc.php

    Configura la base de datos:

    $config['db_dsnw'] = 'mysql://roundcube:tu_contraseña_segura@localhost/roundcube';
    $config['default_host'] = 'ssl://mail.tu_dominio.com';
  2. Elimina el directorio de instalación:

    sudo rm -rf /var/www/roundcube/installer

8. Prueba el acceso

Accede a http://tu_dominio.com e inicia sesión con una cuenta de correo válida.

Última actualización