--- title: "Cómo instalar ISPConfig multiservidor en Ubuntu 24.04" description: "Instala ISPConfig con el autoinstalador oficial en Ubuntu 24.04: un servidor maestro con panel, correo y DNS, y un segundo servidor web unido al mismo clúster." category: "Paneles de Control y Gestión" language: es source: https://cubepath.com/es/docs/paneles-de-control-y-gestión/instalacion-de-ispconfig-multi-servidor updated: 2026-09-25 --- # Cómo instalar ISPConfig multiservidor en Ubuntu 24.04 ISPConfig es un panel de control de alojamiento de código abierto que puede administrar varios servidores desde una única interfaz: por ejemplo, un servidor con el panel, el correo y el DNS, y otros dedicados solo a servir webs. En este tutorial instalarás ISPConfig con su autoinstalador oficial en dos servidores Ubuntu 24.04: un maestro que aloja el panel y la base de datos de configuración, y un servidor web que se une al mismo clúster y se gestiona desde el panel del maestro. ## Requisitos previos Para seguir esta guía necesitas: - Dos servidores recién instalados con Ubuntu 24.04 LTS (también valen Ubuntu 22.04 o Debian 12), por ejemplo dos VPS de CubePath. El autoinstalador espera un sistema limpio, sin Apache, Nginx, MySQL ni Postfix. - Acceso como `root` o con un usuario `sudo` en ambos. - Al menos 2 GB de RAM en el maestro (4 GB si activas antivirus y antispam) y 1 GB en el servidor web. - Un nombre de host completo para cada servidor con su registro DNS `A`. En esta guía se usan: | Función | Nombre de host | IP pública | IP privada | | --- | --- | --- | --- | | Maestro (panel, correo, DNS, base de datos) | `server1.your_domain` | `203.0.113.10` | `10.0.0.10` | | Servidor web | `web1.your_domain` | `203.0.113.20` | `10.0.0.20` | - Preferiblemente, una red privada entre los dos servidores. El servidor web se conecta a la base de datos MariaDB del maestro, y es mejor que ese tráfico no pase por Internet. Si vas a usar un único servidor, sigue solo los pasos 1 a 3. ## Paso 1: Preparar ambos servidores Ejecuta este paso en los dos servidores. Actualiza el sistema: ```bash sudo apt update sudo apt upgrade -y ``` Asigna el nombre de host. En el maestro: ```bash sudo hostnamectl set-hostname server1.your_domain ``` En el servidor web: ```bash sudo hostnamectl set-hostname web1.your_domain ``` ISPConfig requiere que cada servidor resuelva su propio nombre y el de los demás. Edita `/etc/hosts` en ambos servidores: ```bash sudo nano /etc/hosts ``` Añade una línea por servidor con su IP privada (o pública, si no tienes red privada). Si existe una línea `127.0.1.1` con el nombre del servidor, elimínala: ```text 10.0.0.10 server1.your_domain server1 10.0.0.20 web1.your_domain web1 ``` Comprueba el resultado en cada servidor: ```bash hostname -f getent hosts server1.your_domain web1.your_domain ``` ```output server1.your_domain 10.0.0.10 server1.your_domain server1 10.0.0.20 web1.your_domain web1 ``` ## Paso 2: Instalar el servidor maestro El autoinstalador oficial de ISPConfig configura todos los servicios (Apache o Nginx, PHP, Postfix, Dovecot, Rspamd, BIND, MariaDB, Pure-FTPd, Roundcube, Let's Encrypt) y el propio panel. Descárgalo en el maestro y consulta sus opciones: ```bash curl -fsSL https://get.ispconfig.org -o ispconfig-autoinstaller.sh less ispconfig-autoinstaller.sh sudo sh ispconfig-autoinstaller.sh --help ``` La ayuda lista opciones como `--use-nginx`, `--no-mail`, `--no-dns`, `--use-php=` o `--use-ftp-ports=`. Instala el maestro con Nginx, correo y DNS, con un rango de puertos para FTP pasivo y actualizaciones automáticas de seguridad: ```bash sudo sh ispconfig-autoinstaller.sh --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades ``` El instalador pide confirmación antes de modificar el sistema. La instalación tarda entre 10 y 20 minutos. Al terminar, muestra las contraseñas generadas: ```output [INFO] Your ISPConfig admin password is: ************ [INFO] Your MySQL root password is: ************ ``` Copia ambas en un gestor de contraseñas; las necesitarás más adelante. El autoinstalador también activa el cortafuegos UFW a través del módulo de cortafuegos de ISPConfig, con los puertos de los servicios instalados. ## Paso 3: Acceder al panel y verificar el maestro Abre `https://server1.your_domain:8080` en el navegador e inicia sesión con el usuario `admin` y la contraseña que mostró el instalador. Si el autoinstalador pudo validar el nombre de host con Let's Encrypt, el panel ya usa un certificado válido; si no, el navegador mostrará un aviso por el certificado autofirmado. Cambia la contraseña del administrador en **Tools > Password and Language** y comprueba en **System > Server Services** que `server1.your_domain` aparece con los servicios Web, Mail, DNS, File y DB marcados. Desde SSH, comprueba que los servicios principales están activos: ```bash sudo systemctl is-active nginx postfix dovecot mariadb named ``` ```output active active active active active ``` ## Paso 4: Permitir que el servidor web acceda a MariaDB del maestro En una instalación multiservidor, cada servidor esclavo lee su configuración directamente de la base de datos `dbispconfig` del maestro. Para ello necesitas que MariaDB escuche en la red y un usuario root para cada IP de servidor esclavo. Primero, en el maestro, edita la configuración de MariaDB: ```bash sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf ``` Cambia `bind-address` para que escuche en la IP privada del maestro (o en `0.0.0.0` si no tienes red privada): ```ini bind-address = 10.0.0.10 ``` Reinicia MariaDB y comprueba que escucha en esa IP: ```bash sudo systemctl restart mariadb sudo ss -tlnp | grep 3306 ``` ```output LISTEN 0 80 10.0.0.10:3306 0.0.0.0:* users:(("mariadbd",pid=4567,fd=21)) ``` Entra en MariaDB como root: ```bash sudo mariadb ``` Crea los usuarios root para el servidor web, uno por su IP y otro por su nombre de host. Usa una contraseña fuerte distinta de la del root local y sustitúyela en `your_strong_password`: ```sql CREATE USER 'root'@'10.0.0.20' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.0.0.20' WITH GRANT OPTION; CREATE USER 'root'@'web1.your_domain' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'web1.your_domain' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT; ``` Por último, abre el puerto 3306 en el maestro. Como el cortafuegos lo gestiona ISPConfig, hazlo desde el panel: en **System > Firewall**, edita la entrada de `server1.your_domain` y añade `3306` a la lista de puertos TCP. Si los servidores se comunican por una red privada, asegúrate además de que el cortafuegos del proveedor o del perímetro no expone el puerto 3306 en la IP pública. Desde el servidor web, comprueba que llega a MariaDB del maestro (instala el cliente si aún no lo tiene con `sudo apt install -y mariadb-client`): ```bash mariadb -h server1.your_domain -u root -p -e "SHOW DATABASES LIKE 'dbispconfig';" ``` ```output +------------------------+ | Database (dbispconfig) | +------------------------+ | dbispconfig | +------------------------+ ``` ## Paso 5: Instalar el servidor web y unirlo al clúster En `web1.your_domain`, descarga el autoinstalador y ejecútalo en modo interactivo, sin correo ni DNS, ya que este servidor solo alojará webs: ```bash curl -fsSL https://get.ispconfig.org -o ispconfig-autoinstaller.sh sudo sh ispconfig-autoinstaller.sh --use-nginx --no-mail --no-dns --use-ftp-ports=40110-40210 --unattended-upgrades --interactive ``` Cuando el instalador de ISPConfig empiece a hacer preguntas, responde lo siguiente: - **Installation mode**: `expert`. - **Full qualified hostname (FQDN) of the server**: `web1.your_domain`. - **Shall this server join an existing ISPConfig multiserver setup**: `y`. - **MySQL master server hostname**: `server1.your_domain`. - **MySQL master server root username** y **password**: `root` y la contraseña que creaste en el paso 4. - **MySQL master server database name**: `dbispconfig`. - En la pregunta sobre qué servicios configurar, acepta solo **Web**, **FTP** y los que realmente vaya a usar este servidor. - **Install ISPConfig Web Interface**: `n`. El panel se queda solo en el maestro. Deja el resto de preguntas con su valor por defecto. ## Paso 6: Verificar el clúster y crear un sitio en el servidor web Vuelve al panel del maestro. En **System > Server Services** debe aparecer `web1.your_domain` con el servicio Web activado. Si no está, recarga la página tras un par de minutos. Para comprobar que el maestro envía cambios al servidor web, crea un sitio: 1. Ve a **Sites > Website > Add new website**. 2. En **Server**, elige `web1.your_domain`. 3. En **Domain**, escribe un dominio cuyo registro `A` apunte a la IP pública del servidor web (`203.0.113.20`). 4. Marca **Let's Encrypt SSL** y guarda. ISPConfig encola el cambio y el servidor web lo aplica en su siguiente ejecución del cron de ISPConfig, que se lanza cada minuto. Mientras hay cambios pendientes, el panel muestra un contador de acciones en cola en la parte superior. En `web1.your_domain`, comprueba que se ha creado el directorio del sitio: ```bash sudo ls /var/www/ ``` ```output clients html your_site_domain ``` Y que responde por HTTPS: ```bash curl -I https://your_site_domain ``` ```output HTTP/2 200 server: nginx ``` ## Solución de problemas - **El servidor web no aparece en el panel o los cambios no se aplican.** Comprueba desde `web1.your_domain` la conexión a MariaDB con el comando del paso 4. El cron de ISPConfig registra sus errores en `/var/log/ispconfig/cron.log`. - **El autoinstalador se detiene al principio.** Suele deberse a un sistema no limpio o a un nombre de host que no es un FQDN. Revisa `hostname -f` y reinstala el sistema operativo si ya había servicios instalados. - **Let's Encrypt no emite el certificado de un sitio.** El registro `A` del dominio debe apuntar al servidor web donde está el sitio, no al maestro, y el puerto 80 debe estar abierto en ese servidor. ## Conclusión Ya tienes un clúster de ISPConfig con un maestro que aloja el panel, el correo y el DNS, y un servidor web que se gestiona desde el mismo panel. Puedes añadir más servidores web, de correo o DNS repitiendo los pasos 4 y 5 con sus IP. Como siguientes pasos, crea clientes y plantillas de límites en **Client**, configura las copias de seguridad de sitios en **System > Server Config** y actualiza ISPConfig regularmente con `sudo ispconfig_update.sh`, empezando siempre por el maestro.