Servidor Debian · 7 min read · Oct 30, 2025
O Servidor Perfeito - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1)
Este tutorial mostra como preparar um servidor Debian Jessie (com Apache2, BIND, Dovecot) para a instalação do ISPConfig 3.1, e como instalar o ISPConfig. O painel de controle de hospedagem web ISPConfig 3 permite que você configure os seguintes serviços através de um navegador web: servidor web Apache ou nginx, servidor de email Postfix, servidor IMAP/POP3 Courier ou Dovecot, MySQL, servidor de nomes BIND ou MyDNS, PureFTPd, SpamAssassin, ClamAV, e muitos mais. Esta configuração cobre Apache (em vez de nginx), BIND e Dovecot (em vez de Courier).
1 Nota Preliminar
Neste tutorial, usarei o nome do host server1.example.com com o endereço IP 192.168.1.100 e o gateway 192.168.1.1. Essas configurações podem diferir para você, então você deve substituí-las onde apropriado. Antes de prosseguir, você precisa ter uma instalação mínima do Debian 8. Isso pode ser uma imagem mínima do Debian do seu provedor de hospedagem ou você pode usar o tutorial do Servidor Debian Mínimo para configurar o sistema base.
O que há de novo nesta versão do tutorial?
- Suporte para os novos recursos do ISPConfig 3.1.
- Suporte para certificados SSL Let’s Encrypt.
- Suporte para HHVM (HipHop Virtual Machine) para executar scripts PHP.
- Suporte para XMPP (Metronome).
- Suporte para EMail Greylisting com Postgrey.
- UFW como Firewall para substituir Bastille.
- RoundCube Webmail em vez de Squirrelmail.
2 Instalar o servidor SSH (Opcional)
Se você não instalou o servidor OpenSSH durante a instalação do sistema, você pode fazê-lo agora:
apt-get install ssh openssh-serverA partir de agora, você pode usar um cliente SSH como o PuTTY e se conectar do seu workstation ao seu servidor Debian Jessie e seguir os passos restantes deste tutorial.
3 Instalar um editor de texto shell (Opcional)
Usaremos o editor de texto nano neste tutorial. Alguns usuários preferem o editor clássico vi, portanto, instalaremos ambos os editores aqui. O programa vi padrão tem um comportamento estranho no Debian e Ubuntu; para corrigir isso, instalamos vim-nox:
apt-get install nano vim-noxSe vi é seu editor favorito, então substitua nano por vi nos seguintes comandos para editar arquivos.
4 Configurar o Nome do Host
O nome do host do seu servidor deve ser um subdomínio como “server1.example.com”. Não use um nome de domínio sem a parte do subdomínio como “example.com” como nome do host, pois isso causará problemas mais tarde com sua configuração de email. 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 do host server1.example.com, o arquivo deve parecer com isto:
nano /etc/hosts127.0.0.1 localhost.localdomain localhost
192.168.1.100 server1.example.com server1
# As linhas a seguir são desejáveis para hosts compatíveis com IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allroutersEm seguida, edite o arquivo /etc/hostname:
nano /etc/hostnameDeve conter apenas a parte do subdomínio, no nosso caso:
server1Finalmente, reinicie o servidor para aplicar a alteração:
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@server1:/tmp# hostname
server1
root@server1:/tmp# hostname -f
server1.example.com5 Atualize sua Instalação do Debian
Primeiro, certifique-se de que seu /etc/apt/sources.list contém o repositório jessie/updates (isso garante que você sempre receba as atualizações de segurança mais recentes), e que os repositórios contrib e non-free estão habilitados (alguns pacotes como libapache2-mod-fastcgi não estão no repositório principal).
nano /etc/apt/sources.list#deb cdrom:[Debian GNU/Linux 8.0.0 _Jessie_ - Official amd64 NETINST Binary-1 20150425-12:50]/ jessie main
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-freeExecute:
apt-get updatePara atualizar o banco de dados de pacotes apt
apt-get upgradee para instalar as atualizações mais recentes (se houver).
6 Mudar o Shell padrão
/bin/sh é um link simbólico para /bin/dash, no entanto, precisamos de /bin/bash, não /bin/dash. Portanto, fazemos isso:
dpkg-reconfigure dashUsar dash como o shell padrão do sistema (/bin/sh)? <- não
Se você não fizer isso, a instalação do ISPConfig falhará.
7 Sincronizar o Relógio do Sistema
É uma boa ideia sincronizar o relógio do sistema com um servidor NTP ( n etwork t ime p rotocol) pela Internet. Simplesmente execute
apt-get install ntpe o horário do seu sistema estará sempre sincronizado.
8 Instalar Postfix, Dovecot, MySQL, rkhunter e Binutils
Podemos instalar Postfix, Dovecot, MySQL, rkhunter e binutils com um único comando:
apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudoSe você preferir MySQL em vez de MariaDB, substitua os pacotes “mariadb-client mariadb-server” no comando acima por “mysql-client mysql-server”.
Você será questionado sobre as seguintes perguntas:
Tipo geral de configuração de email: <– Internet Site
Nome do sistema de email: <– server1.example.com
Nova senha para o usuário “root” do MariaDB: <– sua senha de root do sql
Repita a senha para o usuário “root” do MariaDB: <– sua senha de root do sql
Para garantir a instalação do MariaDB / MySQL e desabilitar o banco de dados de teste, execute este comando:
mysql_secure_installationNão precisamos mudar a senha do root do MySQL, pois acabamos de definir uma nova durante a instalação. Responda às perguntas da seguinte forma:
Mudar a senha do root? [Y/n] <-- n
Remover usuários anônimos? [Y/n] <-- y
Desabilitar login remoto do root? [Y/n] <-- y
Remover banco de dados de teste e acesso a ele? [Y/n] <-- y
Recarregar tabelas de privilégios agora? [Y/n] <-- yEm seguida, abra as portas TLS/SSL e de envio no Postfix:
nano /etc/postfix/master.cfDescomente as seções de envio e smtps da seguinte forma e adicione linhas onde necessário para que esta seção do arquivo master.cf fique exatamente como a abaixo.
[...]
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
[...]Reinicie o Postfix depois:
service postfix restartQueremos que o MariaDB escute em todas as interfaces, não apenas no localhost, portanto, editamos /etc/mysql/my.cnf e comentamos a linha bind-address = 127.0.0.1:
nano /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, reiniciamos o MySQL:
service mysql restartAgora verifique se a rede está habilitada. Execute
netstat -tap | grep mysqlA saída deve ser assim:
root@server1:/# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 16806/mysqld9 Instalar Amavisd-new, SpamAssassin e ClamAV
Para instalar amavisd-new, SpamAssassin e ClamAV, executamos
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl postgreyA configuração do ISPConfig 3 usa amavisd que carrega a biblioteca de filtro SpamAssassin internamente, então podemos parar o SpamAssassin para liberar um pouco de RAM:
service spamassassin stop
systemctl disable spamassassin9.1 Instalar o Servidor XMPP Metronome (opcional)
Esta etapa instala o Servidor XMPP Metronome que fornece um servidor de chat compatível com o protocolo XMPP. Esta etapa é opcional, se você não precisar de um servidor de chat, então você pode pular esta etapa. Nenhuma outra função do ISPConfig depende deste software.
Adicione o repositório de pacotes Prosody no Debian.
echo "deb http://packages.prosody.im/debian jessie main" > /etc/apt/sources.list.d/metronome.list
wget http://prosody.im/files/prosody-debian-packages.key -O - | sudo apt-key add -Atualize a lista de pacotes:
apt-get updatee instale os pacotes com apt.
apt-get install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocksluarocks install lpcAdicione um usuário shell para o Metronome.
adduser --no-create-home --disabled-login --gecos 'Metronome' metronomeBaixe o Metronome para o diretório /opt e compile-o.
cd /opt; git clone https://github.com/maranda/metronome.git metronome
cd ./metronome; ./configure --ostype=debian --prefix=/usr
make
make installO Metronome agora foi instalado em /opt/metronome.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.