Servidor Clúster · 4 min read · Sep 30, 2025

Instalación de un clúster de Web, Correo y Base de Datos MySQL en Debian 8.4 Jessie con ISPConfig 3.1

Este tutorial describe la instalación de un servidor web, de correo, base de datos y DNS en clúster que se utilizará para redundancia, alta disponibilidad y balanceo de carga en Debian 8 con el panel de control ISPConfig 3. Se utilizará replicación Master/Master de MySQL para replicar las bases de datos de clientes de MySQL entre los servidores, Unison se utilizará para sincronizar el /var/www (sitios web) y los correos se sincronizarán con Dovecot.

1 Nota general

En esta configuración, habrá un servidor maestro (que ejecuta la interfaz del panel de control ISPConfig) y un servidor esclavo que refleja los servicios de web (apache), correo (postfix y dovecot), dns (bind) y base de datos (MySQL o MariaDB) del servidor maestro.

Para instalar la configuración en clúster, necesitamos dos servidores con una instalación mínima de Debian 8.4 y la misma versión de ISPConfig.

En mi ejemplo, utilizo los siguientes nombres de host y direcciones IP para los dos servidores:

Servidor Maestro

Nombre de host: server1.example.tld
Dirección IP: 192.168.0.105
Dirección IPv6: 2001:db8::1

Servidor Esclavo

Nombre de host: server2.example.tld
Dirección IP: 192.168.0.106
Dirección IPv6: 2001:db8::2

Dondequiera que ocurran estos nombres de host o direcciones IP en los siguientes pasos de instalación, deberá cambiarlos para que coincidan con las IP y nombres de host de sus servidores.

Todos los comandos deben ejecutarse como el usuario root. Si necesita hacer cambios en MySQL, inicie sesión en MySQL con la contraseña de root para MySQL:

mysql -u root -p

2 Instalar el Servidor Maestro

Primero necesitamos instalar ISPConfig en el Servidor Maestro. Si ya ha instalado ISPConfig en este Servidor, puede omitir la instalación (asegúrese de que la instalación existente esté actualizada).

Instale ISPConfig en el Servidor Maestro de acuerdo con The Perfect Server - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1).

Agregue el Servidor Esclavo al archivo /etc/hosts

vi /etc/hosts

para que se vea así:

127.0.0.1       localhost
192.168.0.105   server1.example.tld server1  
2001:db8::1     server1.example.tld server1
192.168.0.106   server2.example.tld  
2001:db8::2     server2.example.tld

# Las siguientes líneas son deseables para hosts compatibles con IPv6
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

3 Preparar el Servidor Esclavo

Ejecute los pasos 1 - 19 de The Perfect Server - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1).

No instale ISPConfig en server2 aún.

Agregue el Servidor Maestro al archivo /etc/hosts

vi /etc/hosts

para que se vea así:

127.0.0.1       localhost
192.168.0.105   server1.example.tld  
2001:db8::1     server1.example.tld
192.168.0.106   server2.example.tld server2  
2001:db8::2     server2.example.tld server2

# Las siguientes líneas son deseables para hosts compatibles con IPv6
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

4 Inicio de sesión sin clave de Server1 a Server2

En server2:

Permitimos temporalmente el inicio de sesión de root en server2 con una contraseña. Abra /etc/sshd_config:

vi /etc/ssh/sshd_config

y cambie

PermitRootLogin without-password

por

PermitRootLogin yes

a continuación, reinicie el demonio ssh:

service ssh restart

En server1:

Cree un par de claves privada/pública:

ssh-keygen
Generando par de claves rsa pública/privada.  
Ingrese el archivo en el que guardar la clave (/root/.ssh/id_rsa): <-- ENTER  
Directorio creado '/root/.ssh'.  
Ingrese la frase de contraseña (vacío para no usar frase de contraseña): <-- ENTER  
Ingrese la misma frase de contraseña nuevamente: <-- ENTER  
Su identificación ha sido guardada en /root/.ssh/id_rsa.  
Su clave pública ha sido guardada en /root/.ssh/id_rsa.pub.  
La huella digital de la clave es:  
f3:d0:62:a7:24:6f:f0:1e:d1:64:a9:9f:12:6c:98:5a root@server1  
La imagen de arte aleatorio de la clave es:  
+---[RSA 2048]----+  
|                 |  
|           .     |  
|          +      |  
|       + *       |  
|      E S +      |  
|    o O @ .      |  
|   .   B +       |  
|       o o       |  
|        .        |  
+-----------------+  
  

Es importante que no ingrese una frase de contraseña, de lo contrario, la replicación no funcionará sin interacción humana, así que simplemente presione ENTER.

A continuación, copiamos nuestra clave pública a server2.example.tld:

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
La autenticidad del host '192.168.0.106 (192.168.0.106)' no puede establecerse.  
La huella digital de la clave ECDSA es 25:d8:7a:ee:c2:4b:1d:92:a7:3d:16:26:95:56:62:4e.  
¿Está seguro de que desea continuar conectándose (sí/no)? <-- sí (solo verá esto si es la primera vez que se conecta a server2)   
/usr/bin/ssh-copy-id: INFO: intentando iniciar sesión con la(s) nueva(s) clave(s), para filtrar cualquier que ya esté instalada  
/usr/bin/ssh-copy-id: INFO: 1 clave(s) permanecen por instalar -- si se le solicita ahora es para instalar las nuevas claves
[email protected]'s password: <- ingrese la contraseña de root de server2

Ahora intente iniciar sesión en la máquina:

ssh [email protected]

Y verifique /root/.ssh/authorized_keys para asegurarse de que no hemos agregado claves adicionales que no esperaba.

cat /root/.ssh/authorized_keys
ssh-dss AAAAB3NzaC1kc3MAAACBAPhiAexgEBexnw0rFG8lXwAuIsca/V+lhmv5lhF3BqUfAbL7e2sWlQlGhxZ8I2UnzZK8Ypffq6Ks+lp46yOs7MMXLqb7JBP9gkgqxyEWqOoUSt5hTE9ghupcCvE7rRMhefY5shLUnRkVH6hnCWe6yXSnH+Z8lHbcfp864GHkLDK1AAAAFQDddQckbfRG4C6LOQXTzRBpIiXzoQAAAIEAleevPHwi+a3fTDM2+Vm6EVqR5DkSLwDM7KVVNtFSkAY4GVCfhLFREsfuMkcBD9Bv2DrKF2Ay3OOh39269Z1rgYVk+/MFC6sYgB6apirMlHj3l4RR1g09LaM1OpRz7pc/GqIGsDt74D1ES2j0zrq5kslnX8wEWSHapPR0tziin6UAAACBAJHxgr+GKxAdWpxV5MkF+FTaKcxA2tWHJegjGFrYGU8BpzZ4VDFMiObuzBjZ+LrUs57BiwTGB/MQl9FKQEyEV4J+AgZCBxvg6n57YlVn6OEA0ukeJa29aFOcc0inEFfNhw2jAXt5LRyvuHD/C2gG78lwb6CxV02Z3sbTBdc43J6y [email protected]

Deshabilite el inicio de sesión de root con una contraseña. Abra /etc/sshd_config:

vi /etc/ssh/sshd_config

y cambie

PermitRootLogin yes

por

PermitRootLogin without-password

a continuación, reinicie el demonio ssh:

service ssh restart

Cierre sesión de server2:

exit
logout  
Conexión a 192.168.0.106 cerrada.

Ahora estamos de vuelta en server1.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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