Servidor Multiserver · 8 min read · Jan 05, 2026
Instalando Uma Configuração Multiserver Com Servidores Dedicados de Web, Email, DNS E Banco de Dados MySQL No Debian 5.0 Com ISPConfig 3
Instalando Uma Configuração Multiserver Com Servidores Dedicados de Web, Email, DNS E Banco de Dados MySQL No Debian 5.0 Com ISPConfig 3
Versão 1.0
Autor: Till Brehm
Este tutorial descreve a instalação de uma configuração multiserver ISPConfig 3 com servidores dedicados de web, email, banco de dados e dois servidores DNS, todos gerenciados através de um único painel de controle ISPConfig 3. A configuração descrita abaixo usa cinco servidores e pode ser facilmente expandida para um número maior de servidores, apenas adicionando mais servidores. Por exemplo, se você quiser ter dois servidores de email, siga os passos de configuração do capítulo 2 em ambos esses servidores. Se você quiser configurar mais servidores web, então instale o ISPConfig em todos os outros servidores web em modo especialista, exceto o primeiro.
Para aprender a usar o ISPConfig 3, recomendo fortemente baixar o Manual do ISPConfig 3.
Em quase 300 páginas, ele cobre o conceito por trás do ISPConfig (administradores, revendedores, clientes), explica como instalar e atualizar o ISPConfig 3, inclui uma referência para todos os formulários e campos de formulário no ISPConfig junto com exemplos de entradas válidas, e fornece tutoriais para as tarefas mais comuns no ISPConfig 3. Também descreve como tornar seu servidor mais seguro e vem com uma seção de solução de problemas no final.
1 Instalando Os Cinco Sistemas Base Debian
Nesta configuração, haverá um servidor mestre (que executa o servidor web e a interface do painel de controle ISPConfig) e quatro servidores escravos para banco de dados, email e DNS.
Para instalar a configuração em cluster, precisamos de cinco servidores (ou servidores virtuais) com uma instalação mínima do Debian 5.0. A configuração base é descrita no seguinte tutorial nos passos 1 - 6:
https://www.howtoforge.com/perfect-server-debian-lenny-ispconfig3
Instale apenas os passos 1 - 6 do tutorial do servidor perfeito e não os outros passos, pois eles diferem para uma configuração em cluster!
No meu exemplo, uso os seguintes nomes de host e endereços IP para os cinco servidores:
Servidor Web
Hostname: web.example.tld
IP address: 192.168.0.105
Servidor de Email
Hostname: mail.example.tld
IP address: 192.168.0.106
Servidor DB
Hostname: db.example.tld
IP address: 192.168.0.107
Servidor DNS (primário)
Hostname: ns1.example.tld
IP address: 192.168.0.108
Servidor DNS (secundário)
Hostname: ns2.example.tld
IP address: 192.168.0.109
Onde quer que esses nomes de host ou endereços IP ocorram nos próximos passos de instalação, você terá que alterá-los para corresponder aos IPs e nomes de host dos seus servidores.
2 Instalando O Servidor Web
Edite o arquivo hosts e adicione os endereços IP e nomes de host para todos os servidores. Os nomes de host e endereços IP devem ser ajustados para corresponder à sua configuração.
vi /etc/hosts127.0.0.1 localhost
192.168.0.105 web.example.tld
192.168.0.106 mail.example.tld
192.168.0.107 db.example.tld
192.168.0.108 ns1.example.tld
192.168.0.109 ns2.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-allhostsDefina o nome do servidor: echo web.example.tld > /etc/hostname
/etc/init.d/hostname.sh start
Edite o arquivo sources.list…
vi /etc/apt/sources.list … e certifique-se de que contém a seguinte linha para habilitar o repositório volátil.
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-freeExecute…
apt-get update… para atualizar o banco de dados de pacotes apt; em seguida, execute…
apt-get upgrade… para instalar as últimas atualizações (se houver).
É uma boa ideia sincronizar o relógio do sistema com um servidor NTP ( n etwork t ime p rotocol) pela Internet. Basta executar…
apt-get -y install ntp ntpdate… e seu horário do sistema estará sempre sincronizado.
Instale o servidor MySQL. Uma instância do servidor MySQL é necessária em cada servidor, pois o ISPConfig o utiliza para sincronizar a configuração entre os servidores.
apt-get -y install mysql-client mysql-serverDigite a nova senha para o MySQL quando solicitado pelo instalador.
Queremos que o MySQL escute em todas as interfaces no servidor mestre, não apenas no localhost, portanto, editamos /etc/mysql/my.cnf e comentamos a linha bind-address = 127.0.0.1:
vi /etc/mysql/my.cnf[...]
# Em vez de skip-networking, o padrão agora é escutar apenas em
# localhost, que é mais compatível e não é menos seguro.
#bind-address = 127.0.0.1
[...] Em seguida, reinicie o MySQL:
/etc/init.d/mysql restartAgora instale o Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e mcrypt da seguinte forma:
apt-get -y install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby sudo Você verá a seguinte pergunta:
Servidor web para reconfigurar automaticamente: <– apache2
Em seguida, execute o seguinte comando para habilitar os módulos do Apache suexec, rewrite, ssl, actions e include:
a2enmod suexec rewrite ssl actions include ruby dav_fs dav auth_digestPureFTPd e quota podem ser instalados com o seguinte comando:
apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatoolEdite /etc/fstab. O meu se parece com isso (adicionei,usrquota,grpquota à partição com o ponto de montagem /):
vi /etc/fstab| # /etc/fstab: informações estáticas do sistema de arquivos. # # |
Para habilitar quota, execute estes comandos:
touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug
Instale vlogger, webalizer e awstats:
apt-get -y install vlogger webalizer awstats Instale Jailkit: Jailkit é necessário apenas se você quiser chroot usuários SSH. Ele pode ser instalado da seguinte forma (importante: Jailkit deve ser instalado antes do ISPConfig - não pode ser instalado depois!):
apt-get -y install build-essential autoconf automake1.9 libtool flex bisoncd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz
tar xvfz jailkit-2.11.tar.gz
cd jailkit-2.11
./configure
make
make install
cd ..
rm -rf jailkit-2.11*
Instale fail2ban: Isso é opcional, mas recomendado, porque o monitor do ISPConfig tenta mostrar o log:
apt-get install fail2banEm seguida, instalaremos o ISPConfig 3. Para obter a URL de download da versão estável mais recente do ISPConfig 3, visite o site do ISPConfig: http://www.ispconfig.org/ispconfig-3/download/
Este servidor é o servidor mestre em nossa configuração que executa a interface do painel de controle ISPConfig. Para permitir que as outras instâncias do MySQL se conectem ao banco de dados MySQL neste nó durante a instalação, precisamos adicionar registros de usuário root do MySQL no banco de dados mestre para cada nome de host e endereço IP do servidor escravo. A maneira mais fácil de fazer isso é usar a ferramenta de administração baseada na web phpmyadmin que já instalamos. Abra a URL http://192.168.0.105/phpmyadmin em um navegador da web, faça login como usuário root do MySQL e execute estas consultas MySQL:
CREATE USER ‘root’@’192.168.0.106’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.0.106’ 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’@’192.168.0.107’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.0.107’ 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’@’192.168.0.108’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.0.108’ 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’@’192.168.0.109’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.0.109’ 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’@’mail.example.tld’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’mail.example.tld’ 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’@’db.example.tld’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’db.example.tld’ 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.tld’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’ns1.example.tld’ 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.tld’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’ns2.example.tld’ 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 ( 192.168.0.106 - 192.168.0.109) pelos endereços IP dos seus servidores e substitua mail.example.tld, db.example.tld, ns1.example.tld e ns2.example.tld pelos nomes de host dos seus servidores e myrootpassword pela senha root desejada.
Clique no botão de recarregar permissões ou reinicie o MySQL. Em seguida, feche o phpmyadmin.
Volte para o shell de server1.example.tld e baixe a versão estável mais recente do ISPConfig 3:
cd /tmp
wget
http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
Em seguida, inicie o script de instalação:
php -q install.phpSelecione o idioma (en,de) [en]: <– en
Modo de instalação (padrão, especialista) [padrão]: <– especialista
Nome de host totalmente qualificado (FQDN) do servidor, ex: server2.domain.tld [web.example.tld]: <– web.example.tld
Nome do servidor MySQL [localhost]: <– localhost
Nome de usuário root do MySQL [root]: <– root
Senha root do MySQL []: <– Digite sua senha root do MySQL aqui
Banco de dados MySQL a ser criado [dbispconfig]: <– dbispconfig
Charset MySQL [utf8]: <– utf8
Este servidor deve se juntar a uma configuração multiserver ISPConfig existente (y,n) [n]: <– n
Configurar Email (y,n) [y]: <– n
Configurar Jailkit (y,n) [y]: <– y
Configurar Servidor FTP (y,n) [y]: <– y
Configurar Servidor DNS (y,n) [y]: <– n
Configurar Servidor Apache (y,n) [y]: <– y
Configurar Servidor Firewall (y,n) [y]: <–y
Instalar Interface Web do ISPConfig (y,n) [y]: <–y
Porta ISPConfig [8080]: <– 8080
Limpe os diretórios de instalação:
rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.