Servidor Ubuntu · 7 min read · Sep 25, 2025

O Servidor Perfeito - Ubuntu 15.04 (Vivid Vervet) com Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot e ISPConfig 3

Este tutorial mostra a instalação de um servidor de hospedagem web Ubuntu 15.04 (Vivid Vervet) com Apache2, Postfix, Dovecot, Bind e PureFTPD para prepará-lo para a instalação do ISPConfig 3. O sistema resultante fornecerá um servidor Web, Mail, Mailinglist, DNS e FTP.

ISPConfig 3 é um painel de controle de hospedagem na web que permite configurar os seguintes serviços através de um navegador: servidor web Apache ou nginx, servidor de e-mail Postfix, servidor IMAP/POP3 Courier ou Dovecot, MySQL, servidor de nomes BIND ou MyDNS, PureFTPd, SpamAssassin, ClamAV e muitos mais. Esta configuração cobre a instalação do Apache (em vez de nginx), BIND (em vez de MyDNS) e Dovecot (em vez de Courier).

Manual do ISPConfig 3

Para aprender a usar o ISPConfig 3, recomendo fortemente baixar o Manual do ISPConfig 3.

Em mais de 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. Nota Preliminar

Neste tutorial, uso 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 básica do Ubuntu 15.04, conforme explicado no tutorial.

2. Edite /etc/apt/sources.list e Atualize Sua Instalação do Linux

Edite /etc/apt/sources.list. Comente ou remova o CD de instalação do arquivo e certifique-se de que os repositórios universe e multiverse estão habilitados. Deve ficar assim depois:

nano /etc/apt/sources.list
#  
# deb cdrom:[Ubuntu-Server 15.04 _Vivid Vervet_ - Release amd64 (20150422)]/ vivid main restricted  
#deb cdrom:[Ubuntu-Server 15.04 _Vivid Vervet_ - Release amd64 (20150422)]/ vivid main restricted  
# Veja http://help.ubuntu.com/community/UpgradeNotes para como atualizar para  
# versões mais novas da distribuição.  
deb http://de.archive.ubuntu.com/ubuntu/ vivid main restricted  
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid main restricted  
  
## Atualizações de correção de bugs importantes produzidas após o lançamento final da  
## distribuição.  
deb http://de.archive.ubuntu.com/ubuntu/ vivid-updates main restricted  
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid-updates main restricted  
  
## N.B. software deste repositório é TOTALMENTE NÃO SUPORTADO pela equipe do Ubuntu.  
## Além disso, observe que o software no universe NÃO receberá nenhuma  
## revisão ou atualizações da equipe de segurança do Ubuntu.  
deb http://de.archive.ubuntu.com/ubuntu/ vivid universe  
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid universe  
deb http://de.archive.ubuntu.com/ubuntu/ vivid-updates universe  
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid-updates universe  
  
## N.B. software deste repositório é TOTALMENTE NÃO SUPORTADO pela equipe do Ubuntu,  
e pode não estar sob uma licença livre. Por favor, certifique-se de  
suas direitos de usar o software. Além disso, observe que o software em  
## multiverse NÃO receberá nenhuma revisão ou atualizações da equipe de  
## segurança do Ubuntu.  
deb http://de.archive.ubuntu.com/ubuntu/ vivid multiverse  
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid multiverse  
deb http://de.archive.ubuntu.com/ubuntu/ vivid-updates multiverse  
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid-updates multiverse  
  
## N.B. software deste repositório pode não ter sido testado tão  
## extensivamente quanto o contido no lançamento principal, embora inclua  
## versões mais novas de alguns aplicativos que podem fornecer recursos úteis.  
## Além disso, observe que o software em backports NÃO receberá nenhuma revisão  
## ou atualizações da equipe de segurança do Ubuntu.  
deb http://de.archive.ubuntu.com/ubuntu/ vivid-backports main restricted universe multiverse  
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid-backports main restricted universe multiverse  
  
deb http://security.ubuntu.com/ubuntu vivid-security main restricted  
deb-src http://security.ubuntu.com/ubuntu vivid-security main restricted  
deb http://security.ubuntu.com/ubuntu vivid-security universe  
deb-src http://security.ubuntu.com/ubuntu vivid-security universe  
deb http://security.ubuntu.com/ubuntu vivid-security multiverse  
deb-src http://security.ubuntu.com/ubuntu vivid-security multiverse  
  
## Descomente as duas linhas a seguir para adicionar software do repositório  
## 'partner' da Canonical.  
## Este software não faz parte do Ubuntu, mas é oferecido pela Canonical e pelos  
## respectivos fornecedores como um serviço para os usuários do Ubuntu.  
# deb http://archive.canonical.com/ubuntu vivid partner  
# deb-src http://archive.canonical.com/ubuntu vivid partner

Em seguida, execute

apt-get update

para atualizar o banco de dados de pacotes apt e

apt-get upgrade

para instalar as atualizações mais recentes (se houver). Se você ver que um novo kernel é instalado como parte das atualizações, você deve reiniciar o sistema depois:

reboot

3. Mudar o Shell Padrão

/bin/sh é um symlink para /bin/dash, no entanto, precisamos de /bin/bash, não /bin/dash. Portanto, fazemos isso:

dpkg-reconfigure dash

Usar dash como o shell padrão do sistema (/bin/sh)? <– Não

Se você não fizer isso, a instalação do ISPConfig falhará.

4. Desativar AppArmor

AppArmor é uma extensão de segurança (semelhante ao SELinux) que deve fornecer segurança estendida. Na minha opinião, você não precisa disso para configurar um sistema seguro, e geralmente causa mais problemas do que vantagens (pense nisso depois de ter feito uma semana de solução de problemas porque algum serviço não estava funcionando como esperado, e então você descobre que tudo estava ok, apenas o AppArmor estava causando o problema). Portanto, eu o desativo (isso é obrigatório se você quiser instalar o ISPConfig mais tarde).

Podemos desativá-lo assim:

service apparmor stop   
update-rc.d -f apparmor remove   
apt-get remove apparmor apparmor-utils

5. 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 quando você executa um servidor físico. Caso você execute um servidor virtual, então deve pular esta etapa. Basta executar

apt-get install ntp ntpdate

e seu horário do sistema estará sempre sincronizado.

6. Instalar Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter, binutils

Para instalar o postfix, precisamos garantir que o sendmail não esteja instalado e em execução. Para parar e remover o sendmail, execute este comando:

service sendmail stop; update-rc.d -f sendmail remove

A mensagem de erro:

Failed to stop sendmail.service: Unit sendmail.service not loaded.

Está ok, isso apenas significa que o sendmail não estava instalado, então não havia nada a ser removido.

Agora podemos instalar Postfix, Dovecot, MariaDB (como substituto do 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 sudo

Você será perguntado as seguintes questões:

Criar um certificado SSL autoassinado? <-- sim  
Nome do host: <-- server1.example.com  
Tipo geral de configuração de e-mail: <-- Internet Site  
Nome do sistema de e-mail: <-- server1.example.com

Em seguida, abra as portas TLS/SSL e de envio no Postfix:

nano /etc/postfix/master.cf

Descomente as seções de envio e smtps da seguinte forma - adicione a linha -o smtpd_client_restrictions=permit_sasl_authenticated,reject a ambas as seções e deixe tudo o mais comentado:

[...]  
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=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=permit_sasl_authenticated,reject  
#  -o milter_macro_daemon_name=ORIGINATING  
[...]  

Reinicie o Postfix depois:

service postfix restart

Queremos que o MySQL 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/mariadb.conf.d/mysqld.cnf
[...]  
# Em vez de skip-networking, o padrão agora é escutar apenas em  
# localhost, o que é mais compatível e não é menos seguro.  
#bind-address           = 127.0.0.1  
[...]  

Agora definimos uma senha de root no MariaDB. Execute:

mysql_secure_installation

Você será perguntado estas questões:

Digite a senha atual para root (pressione enter para nenhuma): <-- pressione enter  
Definir senha de root? [Y/n] <-- y  
Nova senha: <-- Digite a nova senha de root do MariaDB aqui  
Repetir nova senha: <-- Repita a senha  
Remover usuários anônimos? [Y/n] <-- y  
Desabilitar login remoto do root? [Y/n] <-- y  
Recarregar tabelas de privilégios agora? [Y/n] <-- y

Então reiniciamos o MariaDB:

service mysql restart

Agora verifique se a rede está habilitada. Execute

netstat -tap | grep mysql

A saída deve ser parecida com isto:

root@server1:~# netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      24603/mysqld      
root@server1:~# 

7. 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

A 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   
update-rc.d -f spamassassin remove

Edite o arquivo de configuração do clamd:

nano /etc/clamav/clamd.conf

e mude a linha:

AllowSupplementaryGroups false

para:

AllowSupplementaryGroups true 

E salve o arquivo. Para iniciar o clamav, use

freshclam  
service clamav-daemon start
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.