Como instalar un servidor de correo en VPS, sin romper los sitios de WordPress.
Sí, puedes instalar un servidor de correo en tu VPS sin afectar tus sitios WordPress si mantienes cada servicio bien aislado y configuras correctamente los puertos, dominios y recursos. Aquí tienes una guía paso a paso para hacerlo de forma segura.
Instalación de servidor de correo en VPS (Postfix + Dovecot)
1. Verifica tu entorno
- Tu VPS debe tener Ubuntu/Debian actualizado.
- Tus sitios WordPress deben estar funcionando en rutas como
/var/www/tusitio.com. - Asegúrate de tener acceso root o sudo.
bash
sudo apt update && sudo apt upgrade -y
2. Instala Postfix (SMTP)
Postfix se encarga de enviar correos.
bash
sudo apt install postfix -y
- Elige la opción «Internet Site» durante la instalación.
- Introduce tu dominio principal (ej.
tusitio.com) cuando lo pida.
3. Instala Dovecot (IMAP/POP3)
Dovecot permite recibir y consultar correos.
bash
sudo apt install dovecot-core dovecot-imapd dovecot-pop3d -y
- Configura
/etc/dovecot/dovecot.confy/etc/dovecot/conf.d/10-mail.confpara usar Maildir:
bash
mail_location = maildir:~/Maildir
4. Crea usuarios de correo
Puedes usar usuarios del sistema o virtuales. Ejemplo básico:
bash
sudo adduser correo1
Esto crea una cuenta con buzón en /home/correo1/Maildir.
5. Configura DNS del dominio
En tu panel de dominio (ej. IONOS, Cloudflare):
- MX record →
mail.tusitio.com - A record → IP del VPS
- SPF record →
v=spf1 mx ~all - DKIM y DMARC → opcionales pero recomendados
6. Instala certificados SSL (Let’s Encrypt)
Protege el acceso IMAP/SMTP con TLS:
bash
sudo apt install certbot
sudo certbot certonly --standalone -d mail.tusitio.com
Configura Postfix y Dovecot para usar los certificados en /etc/letsencrypt/live/mail.tusitio.com/.
7. Verifica puertos abiertos
- Postfix: 25, 587 (SMTP)
- Dovecot: 143 (IMAP), 993 (IMAPS)
- Usa
ufwpara permitirlos:
bash
sudo ufw allow 25,587,143,993/tcp
8. No romper WordPress
- No toques configuraciones de Apache/Nginx que afecten
/var/www. - No uses la misma base de datos ni usuarios que WordPress.
- Mantén el servidor de correo en su propio subdominio (
mail.tusitio.com) y rutas separadas.
En conclusión
- Postfix + Dovecot son seguros y compatibles con WordPress si se instalan en rutas y puertos separados.
- No afectan tus sitios WordPress si mantienes aislamiento de servicios.
- Puedes añadir Roundcube como webmail más adelante si lo deseas.
¡Perfecto, Francisco! Aquí tienes un script automatizado para instalar un servidor de correo básico (Postfix + Dovecot) en tu VPS sin interferir con tus sitios WordPress. Este script está pensado para Ubuntu/Debian y configura todo en rutas separadas, sin tocar /var/www.
🛠️ Script de instalación de servidor de correo
bash
#!/bin/bash
# Actualizar sistema
sudo apt update && sudo apt upgrade -y
# Instalar Postfix (SMTP)
sudo debconf-set-selections <<< "postfix postfix/mailname string mail.tusitio.com"
sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
sudo apt install postfix -y
# Instalar Dovecot (IMAP/POP3)
sudo apt install dovecot-core dovecot-imapd dovecot-pop3d -y
# Configurar Maildir
sudo sed -i 's|#mail_location =|mail_location = maildir:~/Maildir|' /etc/dovecot/conf.d/10-mail.conf
# Crear usuario de prueba
sudo adduser correo1
sudo mkdir -p /home/correo1/Maildir
sudo maildirmake.dovecot /home/correo1/Maildir
sudo chown -R correo1:correo1 /home/correo1/Maildir
# Abrir puertos necesarios
sudo ufw allow 25,587,143,993/tcp
# Reiniciar servicios
sudo systemctl restart postfix
sudo systemctl restart dovecot
echo "✅ Servidor de correo instalado. Puedes probar con Thunderbird o Roundcube."
¿Qué hace este script?
- Instala Postfix para enviar correos y Dovecot para recibirlos.
- Crea un usuario local (
correo1) con buzón Maildir. - Configura puertos sin tocar Apache/Nginx ni tus sitios WordPress.
- No modifica
/var/wwwni las bases de datos de WordPress.
script automatizado para instalar Roundcube en tu VPS y conectarlo al servidor de correo que ya configuramos con Postfix + Dovecot, sin tocar tus sitios WordPress.
🛠️ Script de instalación de Roundcube
bash
#!/bin/bash
# Variables
DOMINIO="correo.tusitio.com"
RUTA="/var/www/roundcube"
# Actualizar sistema
sudo apt update && sudo apt upgrade -y
# Instalar dependencias
sudo apt install apache2 php php-mysql php-intl php-mbstring php-xml composer unzip -y
# Descargar Roundcube
cd /var/www
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.5/roundcubemail-1.6.5-complete.tar.gz
tar -xvzf roundcubemail-1.6.5-complete.tar.gz
mv roundcubemail-1.6.5 roundcube
# Crear base de datos
mysql -u root -p <<EOF
CREATE DATABASE roundcube;
GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost' IDENTIFIED BY 'tu_clave_segura';
FLUSH PRIVILEGES;
EOF
# Configurar Apache VirtualHost
cat <<EOL | sudo tee /etc/apache2/sites-available/roundcube.conf
<VirtualHost *:80>
ServerName $DOMINIO
DocumentRoot $RUTA
<Directory $RUTA>
AllowOverride All
Require all granted
</Directory>
ErrorLog \${APACHE_LOG_DIR}/roundcube_error.log
CustomLog \${APACHE_LOG_DIR}/roundcube_access.log combined
</VirtualHost>
EOL
# Activar sitio y reiniciar Apache
sudo a2ensite roundcube.conf
sudo systemctl reload apache2
# Configuración inicial de Roundcube
cd $RUTA
composer install --no-dev
echo "✅ Roundcube instalado en http://$DOMINIO"
echo "Accede al instalador en http://$DOMINIO/installer"
echo "Recuerda eliminar la carpeta 'installer' después de la configuración:"
echo "rm -rf $RUTA/installer"
Qué hace este script
- Instala Roundcube en
/var/www/roundcube. - Crea un VirtualHost en Apache para
correo.tusitio.com. - Configura una base de datos independiente para Roundcube.
- No toca tus sitios WordPress (que siguen en sus propios VirtualHosts).
- Te deja listo el instalador web de Roundcube.
Próximo paso
- Accede a
http://correo.tusitio.com/installer. - Configura conexión IMAP/SMTP con tu servidor Postfix/Dovecot.
- Elimina la carpeta
installerpor seguridad.