Servidor Cluster · 4 min read · Sep 30, 2025

Instalando um Cluster de Web, Email e Banco de Dados MySQL no Debian 8.4 Jessie com ISPConfig 3.1

Este tutorial descreve a instalação de um servidor web, email, banco de dados e DNS em cluster a ser utilizado para redundância, alta disponibilidade e balanceamento de carga no Debian 8 com o painel de controle ISPConfig 3. A replicação MySQL Master/Master será utilizada para replicar os bancos de dados MySQL entre os servidores, Unison será utilizado para sincronizar o /var/www (sites) e os emails serão sincronizados com Dovecot.

1 Nota geral

Nesta configuração, haverá um servidor mestre (que executa a interface do painel de controle ISPConfig) e um servidor escravo que espelha os serviços web (apache), email (postfix e dovecot), dns (bind) e banco de dados (MySQL ou MariaDB) do servidor mestre.

Para instalar a configuração em cluster, precisamos de dois servidores com uma instalação mínima do Debian 8.4 e a mesma versão do ISPConfig.

No meu exemplo, uso os seguintes nomes de host e endereços IP para os dois servidores:

Servidor Mestre

Hostname: server1.example.tld
IP-Address: 192.168.0.105
IPv6-Address: 2001:db8::1

Servidor Escravo

Hostname: server2.example.tld
IP-Address: 192.168.0.106
IPv6-Address: 2001:db8::2

Sempre que esses nomes de host ou endereços IP ocorrerem nos próximos passos de instalação, você terá que alterá-los para corresponder aos IPs e nomes de host de seus servidores.

Todos os comandos devem ser executados como usuário root. Se você precisar fazer alterações no MySQL, entre no MySQL com a senha root do MySQL:

mysql -u root -p

2 Instalar o Servidor Mestre

Primeiro, precisamos instalar o ISPConfig no Servidor Mestre. Se você já instalou o ISPConfig neste Servidor, pode pular a instalação (certifique-se de que a instalação existente está atualizada).

Instale o ISPConfig no Servidor Mestre de acordo com O Servidor Perfeito - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1).

Adicione o Servidor Escravo ao arquivo /etc/hosts

vi /etc/hosts

para que fique assim:

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

# As linhas a seguir são desejáveis para hosts compatíveis com 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 o Servidor Escravo

Execute os passos 1 - 19 de O Servidor Perfeito - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1).

Não instale o ISPConfig no server2 ainda.

Adicione o Servidor Mestre ao arquivo /etc/hosts

vi /etc/hosts

para que fique assim:

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

# As linhas a seguir são desejáveis para hosts compatíveis com 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 Login sem Senha do Server1 para Server2

No server2:

Permitimos temporariamente o login root no server2 com uma senha. Abra /etc/sshd_config:

vi /etc/ssh/sshd_config

e mude

PermitRootLogin without-password

para

PermitRootLogin yes

depois, reinicie o daemon ssh:

service ssh restart

No server1:

Crie um par de chaves privada/pública:

ssh-keygen
Gerando par de chaves rsa pública/privada.  
Digite o arquivo no qual salvar a chave (/root/.ssh/id_rsa): <-- ENTER  
Diretório criado '/root/.ssh'.  
Digite a frase secreta (vazio para nenhuma frase secreta): <-- ENTER  
Digite a mesma frase secreta novamente: <-- ENTER  
Sua identificação foi salva em /root/.ssh/id_rsa.  
Sua chave pública foi salva em /root/.ssh/id_rsa.pub.  
A impressão digital da chave é:  
f3:d0:62:a7:24:6f:f0:1e:d1:64:a9:9f:12:6c:98:5a root@server1  
A imagem randomart da chave é:  
+---[RSA 2048]----+  
|                 |  
|           .     |  
|          +      |  
|       + *       |  
|      E S +      |  
|    o O @ .      |  
|   .   B +      |  
|       o o      |  
|        .       |  
+-----------------+  
  

É importante que você não insira uma frase secreta, caso contrário, a replicação não funcionará sem interação humana, então simplesmente pressione ENTER!

Em seguida, copiamos nossa chave pública para server2.example.tld:

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
A autenticidade do host '192.168.0.106 (192.168.0.106)' não pode ser estabelecida.  
A impressão digital da chave ECDSA é 25:d8:7a:ee:c2:4b:1d:92:a7:3d:16:26:95:56:62:4e.  
Você tem certeza de que deseja continuar conectando (sim/não)? <-- sim (você verá isso apenas se esta for a primeira vez que se conecta ao server2)   
/usr/bin/ssh-copy-id: INFO: tentando fazer login com a(s) nova(s) chave(s), para filtrar qualquer uma que já esteja instalada  
/usr/bin/ssh-copy-id: INFO: 1 chave(s) permanecem a serem instaladas -- se você for solicitado agora, é para instalar as novas chaves
[email protected]'s password: <- digite a senha root do server2

Agora tente fazer login na máquina:

ssh [email protected]

E verifique /root/.ssh/authorized_keys para ter certeza de que não adicionamos chaves extras que você não esperava.

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

Desabilite o login root com uma senha. Abra /etc/sshd_config:

vi /etc/ssh/sshd_config

e mude

PermitRootLogin yes

para

PermitRootLogin without-password

depois, reinicie o daemon ssh:

service ssh restart

Saia do server2:

exit
logout  
Conexão com 192.168.0.106 fechada.

Agora estamos de volta ao server1.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.