Servidor de correo · 8 min read · Sep 09, 2025

Configuración perfecta de multiserver ISPConfig en Ubuntu 24.04 y Debian 12 - Página 3

4 Instalando el servidor de correo

Inicie sesión como root o ejecute

su -

para convertirse en el usuario root en su servidor antes de continuar. IMPORTANTE: Debe usar ‘su -‘ y no solo ‘su’, de lo contrario, su variable PATH se configurará incorrectamente por Debian.

4.1 Configurar el nombre de host

El nombre de host de su servidor debe ser un subdominio como “mx1.ejemplo.com”. No use un nombre de dominio sin una parte de subdominio como “ejemplo.com” como nombre de host, ya que esto causará problemas más adelante con su configuración de correo. Primero, debe verificar el nombre de host en /etc/hosts y cambiarlo cuando sea necesario. La línea debe ser: “Dirección IP - espacio - nombre de host completo incl. dominio - espacio - parte de subdominio”. Para nuestro nombre de host mx1.ejemplo.com, el archivo debe verse así:

nano /etc/hosts
127.0.0.1 localhost.localdomain   localhost  
# Esta línea debe cambiarse en cada nodo al nombre de servidor correcto:  
127.0.1.1 mx1.ejemplo.com mx1  
# Estas líneas son las mismas en cada nodo:
10.0.64.12 panel.ejemplo.com panel  
10.0.64.13 web01.ejemplo.com web01  
10.0.64.14 mx1.ejemplo.com mx1  
10.0.64.15 ns1.ejemplo.com ns1  
10.0.64.16 ns2.ejemplo.com ns2  
10.0.64.17 webmail.ejemplo.com webmail

# Las siguientes líneas son deseables para hosts compatibles con IPv6
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Como puede ver, también agregamos los nombres de host de nuestros otros servidores para que puedan comunicarse a través de la red interna más adelante.

Luego edite el archivo /etc/hostname:

nano /etc/hostname

Deberá contener solo la parte del subdominio, en nuestro caso:

mx1

Finalmente, reinicie el servidor para aplicar el cambio:

systemctl reboot

Inicie sesión nuevamente y verifique si el nombre de host es correcto ahora con estos comandos:

hostname  
hostname -f

La salida debe ser así:

root@mx1:~$ hostname  
mx1  
root@mx1:~$ hostname -f  
mx1.ejemplo.com

4.2 Instalando ISPConfig

Ahora podemos ejecutar el autoinstalador para todos los paquetes e ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-dns --no-roundcube --no-mailman --use-php=system --use-unbound --interactive

Después de un tiempo, verá:

¡ADVERTENCIA! Este script reconfigurará su servidor completo!  
¡Debe ejecutarse en un servidor recién instalado y toda la configuración actual que haya realizado probablemente se perderá!  
Escriba 'sí' si realmente desea continuar:

Responda “sí” y presione enter. El instalador comenzará ahora.

Cuando la instalación y configuración de los paquetes esté completa, se mostrará la contraseña de root para MySQL en mx1. Anote esto (junto con el nombre del servidor, para evitar confusiones más adelante).

Ahora tendremos que responder algunas preguntas ya que estamos usando el modo interactivo. Esto es necesario ya que este servidor se agregará a su configuración de multiserver.

[INFO] Instalando ISPConfig3.  
[INFO] Su contraseña de root de MySQL es: kl3994aMsfkkeE  
  
  
--------------------------------------------------------------------------------  
 _____ ___________   _____              __ _          ____  
|_   _/  ___| ___ \ /  __ \            / _(_)        /__  \  
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /  
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |  
  |_| |_|\__/ / |     | \__/\ (_) | | | | | | (_| | ___\ \  
  \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/  
                                                  __/ |  
                                                  |___/   
--------------------------------------------------------------------------------  
  
>> Configuración inicial   
  
Sistema Operativo: Debian 10.0 (Buster) o compatible  
  
    A continuación, habrá algunas preguntas para la configuración primaria, así que tenga cuidado.  
    Los valores predeterminados están entre [corchetes] y se pueden aceptar con .  
    Escriba "salir" (sin las comillas) para detener el instalador.  
  
  
Seleccione el idioma (en,de) [en]: <-- Presione enter  
  
Modo de instalación (estándar, experto) [estándar]: <-- experto  
  
Nombre de host completamente calificado (FQDN) del servidor, ej. server1.domain.tld  [mx1.ejemplo.com]: <-- Presione Enter  
  
Nombre de host del servidor MySQL [localhost]: <-- Presione Enter  
  
Puerto del servidor MySQL [3306]: <-- Presione Enter  
  
Nombre de usuario root de MySQL [root]: <-- Presione Enter  
  
Contraseña root de MySQL []: <-- Ingrese la contraseña de MySQL que el script le acaba de dar  
  
Base de datos MySQL a crear [dbispconfig]: <-- Presione Enter  
  
Conjunto de caracteres MySQL [utf8]: <-- Presione Enter  
  
Las siguientes dos preguntas son sobre el usuario y la contraseña de la base de datos interna de ISPConfig.  
Se recomienda aceptar los valores predeterminados que son 'ispconfig' como nombre de usuario y una contraseña aleatoria.  
Si usa una contraseña diferente, use solo números y caracteres para la contraseña.  
  
Nombre de usuario de la base de datos mysql de ISPConfig [ispconfig]: <-- Presione Enter  
  
Contraseña de la base de datos mysql de ISPConfig [aakl203920459853sak20284204]: <-- Presione Enter  
  
¿Debería este servidor unirse a una configuración de multiserver ISPConfig existente (s,n) [n]: <-- y  
  
Nombre de host del servidor maestro MySQL []: <-- panel.ejemplo.com  
  
Puerto del servidor maestro MySQL []: <-- Presione Enter  
  
Nombre de usuario root del servidor maestro MySQL [root]: <-- Presione Enter  
  
Contraseña root del servidor maestro MySQL []: <-- la contraseña que le dio al usuario root externo en el servidor maestro.  
  
Nombre de la base de datos del servidor maestro MySQL [dbispconfig]: <-- Presione Enter  
  
Agregando el registro del servidor ISPConfig a la base de datos.  
  
Configurar Correo (s,n) [s]: <-- presione enter  
  
Configurando Postgrey  
Configurando Postfix  
Generando una clave privada RSA  
......................................................................++++  
....................++++  
escribiendo nueva clave privada en 'smtpd.key'  
-----  
Está a punto de ser preguntado para ingresar información que se incorporará  
en su solicitud de certificado.  
Lo que está a punto de ingresar se llama Nombre Distinguido o DN.  
Hay bastantes campos, pero puede dejar algunos en blanco  
Para algunos campos habrá un valor predeterminado,  
Si ingresa '.', el campo quedará en blanco.  
-----  
Nombre del país (código de 2 letras) [AU]: <-- Presione enter  
Nombre del estado o provincia (nombre completo) [Some-State]: <-- Presione enter  
Nombre de la localidad (por ejemplo, ciudad) []: <-- Presione enter  
Nombre de la organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: <-- Presione enter  
Nombre de la unidad organizativa (por ejemplo, sección) []: <-- Presione enter  
Nombre común (por ejemplo, FQDN del servidor o SU nombre) []: <-- Presione enter  
Dirección de correo electrónico []: <-- Presione enter  
[ADVERTENCIA] autodetección para Mailman falló  
¿Forzar la configuración de Mailman (s,n) [n]: <-- Presione enter  
  
Omitiendo Mailman  
  
Configurando Dovecot  
Creando un nuevo archivo DHParams, esto toma varios minutos. No interrumpa el script.  
Configurando Spamassassin  
[ADVERTENCIA] autodetección para Amavisd falló  
¿Forzar la configuración de Amavisd (s,n) [n]: <-- Presione enter  
  
Omitiendo Amavisd  
  
Configurando Rspamd  
Configurando Getmail  
Configurando Jailkit  
Configurando Pureftpd  
¿Configurar servidor DNS (s,n) [s]: <-- n  
  
La opción del servidor web debe estar habilitada cuando desee ejecutar un servidor web o cuando este nodo deba alojar la interfaz ISPConfig.  
¿Configurar servidor web (s,n) [s]: <-- Presione enter  
  
Configurando Apache  
Configurando vlogger  
[ADVERTENCIA] autodetección para OpenVZ falló  
¿Forzar la configuración de OpenVZ (s,n) [n]: <-- Presione Enter  
  
Omitiendo OpenVZ  
  
¿Configurar servidor de firewall (s,n) [s]: <-- Presione Enter  
  
Configurando Firewall de Ubuntu  
[ADVERTENCIA] autodetección para el servidor XMPP Metronome falló  
¿Forzar la configuración del servidor XMPP Metronome (s,n) [n]: <-- Presione Enter  
  
Omitiendo el servidor XMPP Metronome  
  
Configurando Fail2ban  
¿Instalar la interfaz web de ISPConfig (s,n) [n]: <-- Presione Enter  
  
¿Desea crear certificados SSL para su servidor? (s,n) [s]: <-- Presione Enter  
  
Verificando / creando certificado para mx1.ejemplo.com  
Usando la ruta del certificado /etc/letsencrypt/live/mx1.ejemplo.com  
Usando apache para la validación del certificado  
¿Crear enlace simbólico de los certificados SSL de ISPConfig a Postfix? (s,n) [s]: <-- Presione Enter  
  
¿Crear enlace simbólico de los certificados SSL de ISPConfig a Pure-FTPd? Crear el archivo dhparam puede tardar un tiempo. (s,n) [s]: <-- Presione Enter  
  
Generando parámetros DH, primo seguro de 2048 bits, generador 2  
Esto tomará mucho tiempo  
......................+...........................................+...............  
Configurando vhost de Apps  
Configurando DBServer  
Instalando crontab de ISPConfig  
no crontab para getmail  
Detectando direcciones IP  
Reiniciando servicios ...  
Instalación completada.  
[INFO] Agregando versiones de php a ISPConfig.  
[INFO] Verificando que todos los servicios estén en funcionamiento.  
[INFO] mysql: OK  
[INFO] clamav-daemon: OK  
[INFO] postfix: OK  
[INFO] bind9: OK  
[INFO] pureftpd: OK  
[INFO] apache2: OK  
[INFO] rspamd: OK  
[INFO] redis-server: OK  
[INFO] dovecot: OK  
[INFO] Instalación lista.  
[INFO] Su contraseña de root de MySQL es: kl3994aMsfkkeE  
[INFO] Advertencia: Por favor, elimine los archivos de registro en /tmp/ispconfig-ai/var/log/setup-* una vez que ya no los necesite porque contienen sus contraseñas

Ahora vamos a agregar un sitio web para este servidor en ISPConfig. Vaya a Sitios -> Agregar nuevo sitio web y agregue el sitio web “mx1.ejemplo.com”. Asegúrese de crear esto en el servidor correcto (mx1.ejemplo.com). Desactive el subdominio automático y habilite SSL + Let’s Encrypt. Luego, vaya a opciones y pegue esto en la sección de directivas de Apache:

RewriteEngine On  
RewriteRule ^/rspamd$ /rspamd/ [R,L]  
RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]

Por último, debemos habilitar algunos módulos de Apache y reiniciar nuestros servicios:

a2enmod proxy_balancer proxy_http  
systemctl restart rspamd  
systemctl restart apache2

4.3 Asegurando el servidor de correo con un certificado SSL válido

Para una configuración funcional, necesita tener un certificado SSL válido para los nombres de host utilizados. Este certificado no puede ser autofirmado. Si va a usar nombres de host adicionales para este servidor, como imap.ejemplo.com y smtp.ejemplo.com, o si el instalador no pudo crear un certificado válido al instalar, siga esta guía para configurar un certificado válido para su servidor de correo: https://www.howtoforge.com/securing-your-ispconfig-3-managed-mailserver-with-a-valid-lets-encrypt-certificate/

4.4 Configurando el firewall

Lo último que queda por hacer es configurar nuestro firewall.

Inicie sesión en la interfaz de ISPConfig y vaya a Sistema -> Firewall. Luego haga clic en “Agregar nuevo registro de firewall”.

Asegúrese de seleccionar el servidor correcto. Para nuestro servidor de correo, debemos abrir los siguientes puertos:

TCP:

22,25,80,110,143,443,465,587,993,995

No se deben abrir puertos UDP a través de la interfaz.

En el siguiente paso, instalaremos el servidor DNS principal.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.