Configuração de Servidor · 6 min read · Sep 08, 2025
Configuração Perfeita de Multiserver ISPConfig no Ubuntu 24.04 e Debian 12

Este tutorial irá guiá-lo na instalação da sua própria configuração multiserver ISPConfig 3 com servidores dedicados para o painel, web, DNS, e-mail e webmail. O servidor DNS terá um servidor espelho para redundância. Você pode facilmente adicionar mais servidores de um determinado tipo depois.
O autoinstalador oficial do ISPConfig será usado para configurar os servidores. O Debian 12 será usado como sistema operacional. O guia também foi testado com o Ubuntu 24.04.
O autoinstalador possui várias opções de linha de comando para ajustar a configuração.
Você pode visualizar todos os argumentos com:
wget -O - https://get.ispconfig.org | sh -s -- --helpVocê pode ler mais sobre o autoinstalador aqui.
1. Nota Preliminar
Estes serão os hosts que estamos instalando:
host FQDN IP
panel panel.example.com 10.0.64.12
web01 web01.example.com 10.0.64.13
mx1 mx1.example.com 10.0.64.14
ns1 ns1.example.com 10.0.64.15
ns2 ns2.example.com 10.0.64.16
webmail webmail.example.com 10.0.64.17Usaremos nomes de host, endereços IP e intervalos de IP de exemplo. Certifique-se de alterá-los conforme necessário em seus comandos/configuração.
Todos os servidores estão na mesma rede privada, mas têm seu próprio IP público. Se seus servidores não tiverem uma rede local compartilhada, use seus endereços IPv4 públicos.
Antes de iniciar a instalação de um servidor, configure um registro A e eventual registro AAAA que aponte para o IP público do seu servidor. Por exemplo, se o nome do host for panel.example.com e o IP público for 11.22.33.44, você deve configurar um registro A para panel.example.com apontando para 11.22.33.44. Cada servidor deve ter seu próprio IP público e nome de host. **
2. Instalando o servidor mestre
Faça login como root ou execute
su -para se tornar o usuário root em seu servidor antes de prosseguir. IMPORTANTE: Você deve usar ‘su -‘ e não apenas ‘su’, caso contrário, sua variável PATH será configurada incorretamente pelo Debian.
2.1 Configurar o nome do host e hosts
O nome do host do seu servidor deve ser um subdomínio como “panel.example.com”. Não use um nome de domínio sem uma parte de subdomínio como “example.com” como nome de host, pois isso causará problemas mais tarde com sua configuração de e-mail. Primeiro, você deve verificar o nome do host em /etc/hosts e alterá-lo quando necessário. A linha deve ser: “Endereço IP - espaço - nome completo do host incluindo domínio - espaço - parte do subdomínio”. Para nosso nome de host panel.example.com, o arquivo deve parecer com isso (algumas linhas podem ser diferentes, pode variar por provedor de hospedagem):
nano /etc/hosts127.0.0.1 localhost.localdomain localhost
# Esta linha deve ser alterada em cada nó para o nome do servidor correto:
127.0.1.1 panel.example.com panel
# Estas linhas são as mesmas em cada nó:
10.0.64.12 panel.example.com panel
10.0.64.13 web01.example.com web01
10.0.64.14 mx1.example.com mx1
10.0.64.15 ns1.example.com ns1
10.0.64.16 ns2.example.com ns2
10.0.64.17 webmail.example.com webmail
# As seguintes linhas são desejáveis para hosts compatíveis com IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allroutersComo você pode ver, adicionamos os nomes dos nossos outros servidores também, para que eles possam se comunicar pela rede interna mais tarde.
Em seguida, edite o arquivo /etc/hostname:
nano /etc/hostnameEle deve conter apenas a parte do subdomínio, no nosso caso:
panelFinalmente, reinicie o servidor para aplicar a alteração:
systemctl rebootFaça login novamente e verifique se o nome do host está correto agora com estes comandos:
hostname
hostname -fA saída deve ser assim:
root@panel:~$ hostname
panel
root@panel:~$ hostname -f
panel.example.comAgora podemos executar o autoinstalador para instalar todos os pacotes necessários e o ISPConfig:
wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --use-php=systemApós algum tempo, você verá:
WARNING! This script will reconfigure your complete server!
It should be run on a freshly installed server and all current configuration that you have done will most likely be lost!
Type 'yes' if you really want to continue:Responda “sim” e pressione enter. O instalador agora começará.
Quando o instalador terminar, ele mostrará a senha do administrador do ISPConfig e a senha root do MySQL assim:
[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC
[INFO] Your MySQL root password is: kkAkft82d!kafMwqxdtYsCertifique-se de anotar essas informações, juntamente com o servidor para o qual são, pois você precisará delas mais tarde.
2.2 Configurando os usuários MySQL remotos para nossos servidores escravos
Faremos login no MySQL para permitir que os outros servidores se conectem ao banco de dados ISPConfig neste nó durante a instalação, adicionando registros de usuário root do MySQL no banco de dados mestre para cada nome de host e endereço IP do servidor escravo.
No terminal, execute
mysql -u root -pDigite sua senha do MySQL e, em seguida, execute os seguintes comandos:
CREATE USER 'root'@'10.0.64.13' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.13' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;CREATE USER 'root'@'10.0.64.14' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.14' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;CREATE USER 'root'@'10.0.64.15' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.15' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;CREATE USER 'root'@'10.0.64.15' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.15' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;CREATE USER 'root'@'10.0.64.16' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.16' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;CREATE USER 'root'@'web01.example.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'web01.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;CREATE USER 'root'@'mx1.example.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'mx1.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;CREATE USER 'root'@'ns1.example.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'ns1.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;CREATE USER 'root'@'ns2.example.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'ns2.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;CREATE USER 'root'@'webmail.example.com' IDENTIFIED BY 'myrootpassword';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'webmail.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;Nos comandos SQL acima, substitua os endereços IP (10.0.64.12 - 10.0.64.16) pelos endereços IP dos seus servidores, web01.example.com, mx1.example.com, ns1.example.com, ns2.example.com e webmail.example.com pelos nomes de host dos seus servidores e myrootpassword pela senha root desejada (é uma boa prática usar uma senha diferente para cada host. Anote-as, pois você precisará delas mais tarde ao instalar ou atualizar seus servidores escravos).
Quando isso estiver feito, você pode sair do MySQL com:
EXIT;Agora você pode fazer login no ISPConfig em https://panel.example.com:8080 com o nome de usuário admin e a senha que o instalador mostrou para você.
2.3 Configurando o firewall
A última coisa a fazer é configurar nosso firewall.
Faça login na interface do ISPConfig e vá para Sistema -> Firewall. Em seguida, clique em “Adicionar novo registro de firewall”.
Para o servidor do painel, precisamos abrir as seguintes portas:
TCP:
22,80,443,8080,8081Nenhuma porta UDP precisa ser aberta pela interface.
Também vamos abrir a porta 3306, que é usada para MySQL, mas apenas da nossa rede local por razões de segurança. Para fazer isso, execute o seguinte comando a partir da CLI, após a alteração do painel do ISPConfig ser propagada (quando o ponto vermelho desaparecer):
ufw allow from 10.0.64.0/24 to any port 3306 proto tcpSeu painel agora está configurado e pronto para uso.
No próximo passo, instalaremos o servidor web.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.