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.confsi 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
- Añade el subdominio en tu DNS:
- En tu panel de control DNS, crea un registro tipo A o CNAME para
webmail.tudominio.comapuntando a tu VPS.
- En tu panel de control DNS, crea un registro tipo A o CNAME para
- 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
- Instala Certbot:bash
sudo apt install certbot python3-certbot-apache - Ejecuta Certbot para el subdominio:bash
sudo certbot --apache -d webmail.tudominio.com - Verifica que el acceso a
https://webmail.tudominio.comfuncione 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.confsi tus sitios WordPress ya están funcionando. - Usa
apache2ctl -Spara 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
- Instala Certbot para Nginx:
bash
sudo apt install certbot python3-certbot-nginx
- Ejecuta Certbot:
bash
sudo certbot --nginx -d webmail.tudominio.com
- Verifica acceso a
https://webmail.tudominio.com
✅ Verifica que WordPress no se vea afectado
- Tus sitios WordPress deben tener sus propios bloques
serveren Nginx, comotudominio.comoblog.tudominio.com. - No uses
default_serveren el bloque de Roundcube. - Usa
nginx -Tpara ver toda la configuración activa y confirmar que no hay conflictos.