--- title: "Cómo instalar Mail-in-a-Box en Ubuntu 22.04 paso a paso" description: "Monta un servidor de correo completo con Mail-in-a-Box en Ubuntu 22.04: instalación, DNS integrado o externo, certificados TLS, buzones, webmail y backups." category: "Email Avanzado" language: es source: https://cubepath.com/es/docs/email-avanzado/mail-in-a-box-servidor-de-correo-simple updated: 2026-09-25 --- # Cómo instalar Mail-in-a-Box en Ubuntu 22.04 paso a paso Mail-in-a-Box convierte un servidor Ubuntu recién instalado en un servidor de correo completo con un único instalador: Postfix y Dovecot para el correo, Roundcube como webmail, Nextcloud para contactos y calendarios, SpamAssassin, un servidor DNS propio y certificados de Let's Encrypt, todo gestionado desde un panel web. En este tutorial prepararás el servidor, ejecutarás el instalador, configurarás el DNS del dominio, crearás buzones y comprobarás que las copias de seguridad funcionan. La contrapartida de esa sencillez es que Mail-in-a-Box toma el control completo de la máquina: configura el firewall, Nginx y el DNS a su manera, y solo admite una versión concreta de Ubuntu. Si necesitas algo más flexible, Mailcow es la alternativa habitual. ## Requisitos previos Para seguir esta guía necesitas: - Un servidor nuevo con **Ubuntu 22.04 LTS de 64 bits**, sin ningún otro servicio instalado, por ejemplo un VPS de CubePath. Es la única versión que admite Mail-in-a-Box en este momento; comprueba en [mailinabox.email](https://mailinabox.email/) si ya hay soporte para una versión posterior antes de elegir el sistema. - Al menos 1 GB de RAM (el mínimo absoluto es 512 MB). - Un usuario no root con privilegios `sudo`. - Un dominio propio, en esta guía `your_domain`, con acceso al panel del registrador. El servidor se llamará `box.your_domain`. - La IP pública del servidor, `your_server_ip`, con posibilidad de configurar su DNS inverso (PTR). - Salida por el puerto TCP 25 abierta. En CubePath, como en la mayoría de proveedores, el puerto 25 de salida está cerrado por defecto y se abre mediante una solicitud al soporte explicando el uso que harás del correo. ## Paso 1: Preparar el servidor Comprueba primero que el servidor puede conectar con otros servidores de correo por el puerto 25: ```bash nc -vz -w 5 gmail-smtp-in.l.google.com 25 ``` ```output Connection to gmail-smtp-in.l.google.com (142.250.27.26) 25 port [tcp/smtp] succeeded! ``` Si el comando termina con `timed out`, solicita la apertura del puerto antes de seguir: sin él, el servidor podrá recibir correo pero no enviarlo. Actualiza el sistema e instala `curl` si no lo tienes: ```bash sudo apt update sudo apt upgrade -y sudo apt install -y curl ``` Configura el DNS inverso de la IP para que resuelva a `box.your_domain`. En CubePath se hace desde el panel: en la página **Floating IPs** o en la pestaña de red del VPS, edita el campo **Reverse DNS** de la IP. Comprueba el resultado cuando se haya aplicado: ```bash dig +short -x your_server_ip ``` ```output box.your_domain. ``` ## Paso 2: Ejecutar el instalador El método oficial de instalación es un script que clona el repositorio de Mail-in-a-Box y lanza la configuración. Descárgalo primero para poder revisarlo: ```bash curl -fsSL https://mailinabox.email/setup.sh -o setup.sh less setup.sh ``` Ejecútalo con `sudo -E`, como indica la documentación oficial: ```bash sudo -E bash setup.sh ``` El instalador hace varias preguntas en modo texto: - **Email address**: la primera dirección de correo del servidor, por ejemplo `admin@your_domain`. Será también la cuenta de administrador. - **Hostname**: el nombre del servidor. Acepta la propuesta `box.your_domain`. - **Timezone**: tu zona horaria, por ejemplo `Europe/Madrid`. - **Password**: la contraseña de la cuenta de administrador. Usa una contraseña robusta. La instalación tarda entre 10 y 20 minutos. Al terminar, el script muestra la dirección del panel de administración y la huella del certificado autofirmado provisional: ```output ----------------------------------------------- Your Mail-in-a-Box is running. Please log in to the control panel for further instructions at: https://your_server_ip/admin You will be alerted that the website has an invalid certificate. Check that the certificate fingerprint matches: XX:XX:XX:... ``` Mail-in-a-Box también ha activado UFW con las reglas que necesita. Compruébalo: ```bash sudo ufw status ``` ```output Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 53 ALLOW Anywhere 25/tcp ALLOW Anywhere 587/tcp ALLOW Anywhere 993/tcp ALLOW Anywhere ... ``` ## Paso 3: Configurar el DNS del dominio Mail-in-a-Box incluye un servidor DNS autoritativo y genera él mismo todos los registros de correo (MX, SPF, DKIM, DMARC, MTA-STS, autoconfig). Tienes dos formas de publicarlos. ### Opción A: usar el DNS de Mail-in-a-Box (recomendada) Es la opción que menos mantenimiento requiere, porque el servidor actualiza sus propios registros. En el panel del registrador de `your_domain`: 1. Crea los registros de pegamento (*glue records*) `ns1.box.your_domain` y `ns2.box.your_domain`, ambos apuntando a `your_server_ip`. 2. Cambia los servidores de nombres del dominio a `ns1.box.your_domain` y `ns2.box.your_domain`. Cada registrador llama a los glue records de forma distinta ("host records", "nameservers personalizados" o "child nameservers"). ### Opción B: usar tu DNS actual Si prefieres mantener el DNS en tu proveedor actual, entra en el panel de Mail-in-a-Box y abre **System > External DNS**. La página lista todos los registros que debes crear, con su nombre, tipo y valor exactos, incluida la clave DKIM. Cópialos uno a uno a tu zona DNS. En este caso, cualquier cambio futuro que muestre esa página tendrás que replicarlo tú. Sea cual sea la opción, comprueba que los registros principales ya resuelven: ```bash dig +short MX your_domain dig +short A box.your_domain dig +short TXT mail._domainkey.your_domain ``` ```output 10 box.your_domain. your_server_ip "v=DKIM1; h=sha256; k=rsa; s=email; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..." ``` ## Paso 4: Obtener los certificados TLS Con el DNS apuntando al servidor, sustituye el certificado autofirmado por uno de Let's Encrypt. Inicia sesión en el panel con la dirección y la contraseña de administrador, abre **System > TLS (SSL) Certificates** y pulsa **Provision**. Mail-in-a-Box solicita certificados para `box.your_domain` y el resto de nombres que gestiona, y los renueva automáticamente. A partir de ahora accede al panel por su nombre, `https://box.your_domain/admin`. Comprueba que el certificado es válido: ```bash openssl s_client -connect box.your_domain:993 -brief < /dev/null ``` ```output CONNECTION ESTABLISHED Protocol version: TLSv1.3 Ciphersuite: TLS_AES_256_GCM_SHA384 Peer certificate: CN = box.your_domain Hash used: SHA256 Signature type: RSA-PSS Verification: OK ``` ## Paso 5: Revisar el estado del sistema Abre **System > Status Checks**. Mail-in-a-Box comprueba el DNS, el DNS inverso, los certificados, los puertos abiertos, las listas negras y si hay una versión nueva disponible. Todas las comprobaciones deberían aparecer en verde. Los avisos más habituales tras una instalación nueva son: - El DNS inverso no coincide con `box.your_domain`: revisa el paso 1. - Los registros DNS todavía no se han propagado: espera unos minutos y recarga la página. - La IP aparece en una lista negra: suele pasar con IPs reutilizadas; solicita la baja en la lista correspondiente. El panel envía además un resumen diario al administrador cuando cambia alguna de estas comprobaciones. ## Paso 6: Crear buzones y configurar los clientes Para añadir usuarios, abre **Mail > Users** en el panel, escribe la dirección (`usuario@your_domain`) y una contraseña, y pulsa **Add User**. Desde **Mail > Aliases** puedes crear alias y redirecciones. Si quieres alojar más dominios, basta con crear un usuario o alias en el dominio nuevo y publicar sus registros DNS. Los usuarios disponen de estos servicios: | Servicio | Dirección | |----------|-----------| | Webmail (Roundcube) | `https://box.your_domain/mail` | | Contactos y calendario (Nextcloud) | `https://box.your_domain/cloud` | | CardDAV / CalDAV | `https://box.your_domain/cloud/remote.php/dav` | Y los clientes de correo se configuran así: | Protocolo | Servidor | Puerto | Seguridad | |-----------|----------|--------|-----------| | IMAP | `box.your_domain` | 993 | SSL/TLS | | SMTP (envío) | `box.your_domain` | 465 | SSL/TLS | | SMTP (envío) | `box.your_domain` | 587 | STARTTLS | El usuario es siempre la dirección de correo completa. La página **Mail > Instructions** del panel muestra estos datos adaptados a tu servidor. Para verificar el conjunto, entra en el webmail con un usuario, envía un correo a una cuenta de Gmail y responde desde ella. En Gmail, la opción **Mostrar original** debe indicar `PASS` en SPF, DKIM y DMARC. Si algo falla, el registro de Postfix indica el motivo: ```bash sudo tail -n 50 /var/log/mail.log ``` ## Paso 7: Comprobar las copias de seguridad Mail-in-a-Box hace una copia de seguridad cifrada e incremental cada noche de todo el directorio `/home/user-data`, que contiene el correo, los usuarios, Nextcloud y la configuración. Por defecto la guarda en el propio servidor, en `/home/user-data/backup/encrypted`, lo que no te protege si pierdes la máquina. Abre **System > Backup Status** para ver las copias existentes y elegir otro destino: un servidor remoto por rsync o un almacenamiento compatible con S3. Comprueba que ya hay copias: ```bash sudo ls -lh /home/user-data/backup/encrypted ``` Las copias están cifradas con la clave de `/home/user-data/backup/secret_key.txt`. Sin ella no podrás restaurarlas, así que guárdala fuera del servidor, por ejemplo en tu gestor de contraseñas: ```bash sudo cat /home/user-data/backup/secret_key.txt ``` > Importante: si el servidor se pierde, la clave se pierde con él. Cópiala ahora, no cuando la necesites. ## Paso 8: Actualizar Mail-in-a-Box Cuando **Status Checks** avise de que hay una versión nueva, actualiza volviendo a ejecutar el instalador. Descarga la versión actual del script y ejecútalo igual que en la instalación: ```bash curl -fsSL https://mailinabox.email/setup.sh -o setup.sh sudo -E bash setup.sh ``` El instalador conserva tus datos y tu configuración; solo repite las preguntas cuyo valor no pueda deducir. Si solo quieres volver a aplicar la configuración de la versión instalada (por ejemplo, tras tocar algo a mano por error), ejecuta: ```bash sudo mailinabox ``` Instala también las actualizaciones de seguridad de Ubuntu con regularidad (`sudo apt update && sudo apt upgrade`); Mail-in-a-Box deja activadas las actualizaciones automáticas de seguridad. ## Solución de problemas **El instalador aborta al principio.** Mail-in-a-Box comprueba la versión del sistema y la memoria disponible. Si no usas Ubuntu 22.04 de 64 bits o tienes menos de 512 MB de RAM, se detiene sin instalar nada. **Los correos salientes se quedan en cola.** Consulta la cola con `sudo postqueue -p`. Si los mensajes muestran `Connection timed out` hacia servidores remotos, la salida por el puerto 25 sigue bloqueada. **El panel muestra 502 Bad Gateway.** El servicio de gestión no está en marcha. Reinícialo y revisa su registro: ```bash sudo systemctl restart mailinabox sudo journalctl -u mailinabox -n 50 ``` **Instalé otro software y algo dejó de funcionar.** Mail-in-a-Box sobrescribe la configuración de Nginx, Postfix y el resto de servicios cada vez que se ejecuta. No instales otras aplicaciones en el mismo servidor; ejecuta `sudo mailinabox` para devolver el sistema a su configuración esperada. ## Conclusión Con Mail-in-a-Box tienes un servidor de correo propio con webmail, contactos, calendario, DNS y copias de seguridad cifradas, gestionado casi por completo desde su panel. Como siguientes pasos, envía las copias a un destino externo, revisa **Status Checks** tras cada actualización y, cuando los informes DMARC confirmen que todo tu correo pasa la autenticación, considera endurecer la política desde **System > Custom DNS**.