Servidor de Email · 3 min read · Oct 05, 2025

Solução Completa de Servidor de Email com Domínios e Usuários Virtuais (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Página 2

III. Instalando e configurando o Servidor MySQL (+Esquema PostFixAdmin)

Primeiro, precisamos instalar o servidor MySQL em sql-1.internal.example.com. Para facilitar a vida, também vamos instalar o cliente de linha de comando MySQL. Isso pode ser feito digitando o seguinte no prompt:

# apt-get install mysql-server mysql-client

Após o apt-get ter feito sua mágica de instalação, você vai querer bloquear o acesso root ao banco de dados mysql. Isso é feito usando a ferramenta mysqladmin.

# mysqladmin -u root password "minhasenha"

NOTA: Altere minhasenha para sua própria senha segura!!!

Agora vamos criar o banco de dados e os usuários para Usuários e Domínios Virtuais. É importante notar que o Postfix (e Dovecot) só requerem acesso SELECT a este banco de dados. O PostfixAdmin requer SELECT, UPDATE e INSERT.

# mysql -uroot -p   
Enter password:   
mysql> CREATE DATABASE virtual_mail;   
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-1.example.com' IDENTIFIED BY 'vmail_user_password';   
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-1.example.com' IDENTIFIED BY 'vmail_admin_password';   
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-2.example.com' IDENTIFIED BY 'vmail_user_password';   
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-2.example.com' IDENTIFIED BY 'vmail_admin_password';   
mysql> quit

NOTA: Altere vmail_user_password e vmail_admin_password para suas próprias senhas seguras!!!

Agora precisamos baixar o Postfix Admin. Embora a ferramenta em si não seja obrigatória para nossa configuração, ela é muito útil e o esquema que utiliza é bem pensado. Assim que você tiver baixado o arquivo tarball da distribuição do Postfix Admin, descompacte-o assim:

# tar xfvz postfixadmin-2.1.0.tgz

Dentro do diretório resultante, abra postfixadmin-2.1.0/DATABASE_MYSQL.TXT com seu editor de texto favorito. Remova todas as linhas sob a seção “Postfix / MySQL”. Essas linhas criam o banco de dados inicial, que já fizemos. Para o Postfix Admin 2.1.0, essas são as linhas 26-39.

Quando terminar, carregue o arquivo na sua tabela MySQL existente com o seguinte comando:

# mysql -uroot -p virtual_mail < postfixadmin-2.1.0/DATABASE_MYSQL.TXT

NOTA: Se você receber um erro dizendo “Acesso negado para o usuário ‘mail’@’localhost’ ao banco de dados ‘mysql’”, então você não comentou as linhas corretamente. Se você não receber nenhuma mensagem após inserir sua senha, então tudo correu bem.

IV. Servidor de Compartilhamento de Arquivos NFS

Muitos servidores vão precisar de acesso às pastas Maildir dos nossos usuários, então, para simplificar a vida, vamos instalá-los em um ponto de montagem NFS. Um dos benefícios do Maildir é que ele é compatível com NFS. O formato de caixa de correio, por outro lado, não seria bonito. Felizmente, configurar o NFS no Debian é tão simples quanto configurar qualquer outro serviço.

Vamos começar instalando o serviço em files-1.internal.example.com:

# apt-get install nfs-kernel-server nfs-common portmap

As Exportações NFS (Compartilhamentos) são controladas pelo arquivo /etc/exports. Cada linha começa com o caminho local absoluto de um diretório a ser exportado, seguido por uma lista de clientes permitidos separada por espaço. O NFS pode ser extremamente poderoso, mas não vou entrar em todos os detalhes aqui. Para nossos propósitos, o seguinte seria suficiente:

/etc/exports:

/vmail mx-1.internal.example.com(ro, insecure) mx-2.internal.example.com(ro, insecure) postman.internal.example.com(rw, no_root_squash) secure-mail.internal.example.com(rw, no_root_squash)

Se você fizer alterações em /etc/exports em um servidor NFS em execução, pode tornar as alterações efetivas emitindo o comando:

# exportfs -a

Vamos precisar de um usuário real para lidar com todos os mapeamentos virtuais em nossa configuração. Para esta solução, vamos usar o id do usuário 150. Este id de usuário é para um usuário “Correio Virtual” criado especificamente. Ele usa o grupo padrão “mail”, com o gid padrão (Debian) de 8. Você pode criar o usuário e o diretório assim:

# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Caixa de Correio Virtual" vmail  
# mkdir /vmail  
# chmod 770 /vmail/   
# chown vmail:mail /vmail/ 

NOTA: Este usuário precisará ser criado em todos os servidores que acessarão este compartilhamento (mx-1, mx-2, postman, files-1, secure-mail). Se o usuário não existir, você poderá receber erros de acesso a arquivos. Embora o NIS possa ser usado para criar um único host para este usuário, isso está fora do escopo deste documento.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.