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 -p2 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/hostspara 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-allhosts3 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/hostspara 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-allhosts4 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_configy cambie
PermitRootLogin without-passwordpor
PermitRootLogin yesa continuación, reinicie el demonio ssh:
service ssh restartEn server1:
Cree un par de claves privada/pública:
ssh-keygenGenerando 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 server2Ahora 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_keysssh-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_configy cambie
PermitRootLogin yespor
PermitRootLogin without-passworda continuación, reinicie el demonio ssh:
service ssh restartCierre sesión de server2:
exitlogout
Conexión a 192.168.0.106 cerrada.Ahora estamos de vuelta en server1.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.