Para instalar Roundcube en un VPS con Debian 12 sin afectar tus sitios WordPress, debes usar una configuración separada dentro de tu servidor web (Apache o Nginx), asegurarte de no sobrescribir archivos de configuración existentes y mantener cada sitio en su propio VirtualHost o bloque de servidor.

🛠️ Pasos para instalar Roundcube en Debian 12 sin romper WordPress

1. Requisitos previos

  • VPS con Debian 12 actualizado.
  • Servidor web funcionando (Apache o Nginx).
  • PHP (preferiblemente PHP 8.2), MySQL/MariaDB, y IMAP server (como Dovecot).
  • Sitios WordPress ya configurados en sus propios VirtualHosts.

2. Instalar Roundcube desde repositorio

bash

sudo apt update
sudo apt install roundcube roundcube-core roundcube-mysql roundcube-plugins roundcube-plugins-extra

Esto instalará Roundcube y sus dependencias sin tocar tus sitios WordPress.

3. Configurar VirtualHost separado para Roundcube (Apache)

Crea un archivo como /etc/apache2/sites-available/roundcube.conf:

apache

<VirtualHost *:80>
    ServerName webmail.tudominio.com
    DocumentRoot /var/lib/roundcube

    <Directory /var/lib/roundcube>
        Options +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
    CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined
</VirtualHost>

Activa el sitio:

bash

sudo a2ensite roundcube.conf
sudo systemctl reload apache2

⚠️ No modifiques los VirtualHosts de tus sitios WordPress. Mantén cada dominio en su propio archivo de configuración.

4. Configurar base de datos

Roundcube necesita una base de datos MySQL/MariaDB:

bash

sudo mysql -u root -p
CREATE DATABASE roundcube CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost' IDENTIFIED BY 'tu_contraseña_segura';
FLUSH PRIVILEGES;
EXIT;

5. Finalizar instalación desde navegador

Accede a http://webmail.tudominio.com/installer y sigue el asistente. Una vez terminado, elimina el instalador:

bash

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

6. Seguridad y compatibilidad

  • Asegúrate de que PHP y Apache/Nginx estén configurados correctamente para coexistir con WordPress.
  • Usa HTTPS con Let’s Encrypt para proteger el acceso a Roundcube.
  • Configura fail2ban y firewall para proteger tu servidor.

✅ Consejos para no romper WordPress

  • Nunca edites archivos como /etc/apache2/sites-enabled/000-default.conf si WordPress ya está funcionando.
  • Usa VirtualHosts separados para cada dominio y subdominio.
  • Verifica que no haya conflictos de puertos o rutas (DocumentRoot).
  • Haz una copia de seguridad antes de instalar Roundcube.

Configurar el subdominio webmail.tudominio.com

🌐 Crear subdominio para Roundcube

  1. Añade el subdominio en tu DNS:
    • En tu panel de control DNS, crea un registro tipo A o CNAME para webmail.tudominio.com apuntando a tu VPS.
  2. Configura VirtualHost para Apache (si usas Apache): Crea /etc/apache2/sites-available/webmail.conf:apache<VirtualHost *:80> ServerName webmail.tudominio.com DocumentRoot /var/lib/roundcube <Directory /var/lib/roundcube> Options +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/webmail_error.log CustomLog ${APACHE_LOG_DIR}/webmail_access.log combined </VirtualHost> Luego activa el sitio:bashsudo a2ensite webmail.conf sudo systemctl reload apache2

🔐 Instalar certificado SSL con Let’s Encrypt

  1. Instala Certbot:bashsudo apt install certbot python3-certbot-apache
  2. Ejecuta Certbot para el subdominio:bashsudo certbot --apache -d webmail.tudominio.com
  3. Verifica que el acceso a https://webmail.tudominio.com funcione correctamente.

🧪 Verifica que WordPress no se vea afectado

  • Asegúrate de que cada dominio WordPress tenga su propio VirtualHost y no compartan rutas ni puertos con Roundcube.
  • No edites 000-default.conf si tus sitios WordPress ya están funcionando.
  • Usa apache2ctl -S para ver el mapa de VirtualHosts activos y confirmar que no hay conflictos.

Configuración completa para usar Nginx

1. Crear bloque de servidor para Roundcube

Edita o crea el archivo /etc/nginx/sites-available/webmail.tudominio.com:

nginx

server {
    listen 80;
    server_name webmail.tudominio.com;

    root /var/lib/roundcube;
    index index.php index.html;

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

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

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

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    error_log /var/log/nginx/roundcube_error.log;
    access_log /var/log/nginx/roundcube_access.log;
}

2. Activar el sitio

bash

sudo ln -s /etc/nginx/sites-available/webmail.tudominio.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

🔐 Instalar SSL con Let’s Encrypt

  1. Instala Certbot para Nginx:

bash

sudo apt install certbot python3-certbot-nginx
  1. Ejecuta Certbot:

bash

sudo certbot --nginx -d webmail.tudominio.com
  1. Verifica acceso a https://webmail.tudominio.com

✅ Verifica que WordPress no se vea afectado

  • Tus sitios WordPress deben tener sus propios bloques server en Nginx, como tudominio.com o blog.tudominio.com.
  • No uses default_server en el bloque de Roundcube.
  • Usa nginx -T para ver toda la configuración activa y confirmar que no hay conflictos.
Visitas:88