Servidor de E-mail · 3 min read · Sep 28, 2025

Usuários E Domínios Virtuais Com Postfix, Courier E MySQL (Debian Etch)

Usuários E Domínios Virtuais Com Postfix, Courier E MySQL (Debian Etch)

Versão 1.0
Autor: Falko Timme

Este tutorial é Copyright (c) 2007 por Falko Timme. É derivado de um tutorial de Christoph Haas que você pode encontrar em http://workaround.org. Você é livre para usar este tutorial sob a licença Creative Commons 2.5 ou qualquer versão posterior.

Este documento descreve como instalar um servidor de e-mail baseado no Postfix que é baseado em usuários e domínios virtuais, ou seja, usuários e domínios que estão em um banco de dados MySQL. Também demonstrarei a instalação e configuração do Courier (Courier-POP3, Courier-IMAP), para que o Courier possa autenticar contra o mesmo banco de dados MySQL que o Postfix utiliza.

O servidor Postfix resultante é capaz de SMTP-AUTH e TLS e quota (quota não está embutido no Postfix por padrão, eu mostrarei como corrigir seu Postfix adequadamente). As senhas são armazenadas em forma criptografada no banco de dados (a maioria dos documentos que encontrei lidava com senhas em texto simples, o que é um risco de segurança). Além disso, este tutorial cobre a instalação do Amavisd, SpamAssassin e ClamAV para que os e-mails sejam escaneados em busca de spam e vírus.

A vantagem de tal configuração “virtual” (usuários e domínios virtuais em um banco de dados MySQL) é que é muito mais eficiente do que uma configuração baseada em usuários de sistema “reais”. Com esta configuração virtual, seu servidor de e-mail pode lidar com milhares de domínios e usuários. Além disso, é mais fácil de administrar porque você só precisa lidar com o banco de dados MySQL ao adicionar novos usuários/domínios ou editar os existentes. Não há mais comandos postmap para criar arquivos db, não há mais recarregamento do Postfix, etc. Para a administração do banco de dados MySQL, você pode usar ferramentas baseadas na web como o phpMyAdmin, que também será instalado neste guia. A terceira vantagem é que os usuários têm um endereço de e-mail como nome de usuário (em vez de um nome de usuário + um endereço de e-mail), o que é mais fácil de entender e lembrar.

Este guia é destinado a ser um guia prático; não cobre os fundamentos teóricos. Eles são tratados em muitos outros documentos na web.

Este documento vem sem garantia de qualquer tipo! Quero dizer que esta não é a única maneira de configurar tal sistema. Existem muitas maneiras de alcançar esse objetivo, mas este é o caminho que eu sigo. Não emito nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Este tutorial é baseado no Debian Etch, então você deve configurar uma instalação básica do Debian Etch antes de continuar com este tutorial. O sistema deve ter um endereço IP estático. Eu uso 192.168.0.100 como meu endereço IP neste tutorial e server1.example.com como o nome do host.

2 Instalar Postfix, Courier, Saslauthd, MySQL, phpMyAdmin

Para instalar Postfix, Courier, Saslauthd, MySQL e phpMyAdmin, simplesmente executamos

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl postfix-tls libsasl2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin apache2 libapache2-mod-php5 php5 php5-mysql

Você será solicitado a responder algumas perguntas:

Criar diretórios para administração baseada na web? <– Não
Tipo geral de configuração? <– Site da Internet
Nome do e-mail? <– server1.example.com
Certificado SSL necessário <– Ok

3 Aplicar O Patch De Quota Ao Postfix

Precisamos obter as fontes do Postfix, aplicar o patch de quota, construir novos pacotes Postfix.deb e instalar esses pacotes .deb:

apt-get install build-essential dpkg-dev fakeroot debhelper libgdbm-dev libldap2-dev libpcre3-dev libssl-dev libsasl2-dev postgresql-dev po-debconf dpatch libdb4.3-dev libmysqlclient15-dev lsb-release libcdb-dev
cd /usr/src  
 apt-get source postfix

(Assegure-se de usar a versão correta do Postfix nos comandos seguintes. Eu tenho o Postfix 2.3.8 instalado. Você pode descobrir sua versão do Postfix executando

postconf -d | grep mail_version

A saída deve ser parecida com isto:

server1:~# postconf -d | grep mail_version  
 mail_version = 2.3.8  
 milter_macro_v = $mail_name $mail_version

)

wget http://vda.sourceforge.net/VDA/postfix-2.3.8-vda.patch.gz  
 gunzip postfix-2.3.8-vda.patch.gz  
 cd postfix-2.3.8  
 patch -p1 < ../postfix-2.3.8-vda.patch  
 dpkg-buildpackage

Você pode ver um aviso como este no final do comando dpkg-buildpackage:

(WARNING: Failed to sign .dsc and .changes file)

Você pode ignorar esta mensagem.

Para instalar nosso novo pacote Postfix, executamos

cd ..  
 dpkg -i postfix_2.3.8-2_i386.deb  
 dpkg -i postfix-mysql_2.3.8-2_i386.deb
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.