Postfix + Dovecot + MySQL + Squirrelmail no CentOS 5.5 32/64 bits
Abordarei neste artigo a instalação e configuração dos pacotes para o servidor de e-mails com: Postfix, Postfix admin, MySQL, Squirrelmail, Dovecot, SSL no CentOS 64 bits, porém funciona perfeitamente no de 32 bits também. Críticas construtivas, informações e dúvidas são sempre bem-vindas!
Parte 3: Criando usuário VMAIL e arquivos MySQL
Vamos criar o usuário VMAIL, ele será responsável pelas entregas:
# useradd vmail -r -u 150 -g mail -d /var/vmail -s /sbin/nologin
Criando agora a pasta vmail onde serão armazenados os dados:
# mkdir /var/vmail
# chmod 770 /var/vmail/
# chown vmail:mail /var/vmail/
Para criar os arquivos de configuração do MySQL em que o Postfix poderá se "comunicar" com ele, siga os passos a seguir:
# cd /etc/postfix
# joe mysql_virtual_alias_maps.cf
# joe mysql_virtual_domains_maps.cf
Edite o arquivo /etc/postfix/master.cf e no final inclua:
# useradd vmail -r -u 150 -g mail -d /var/vmail -s /sbin/nologin
Criando agora a pasta vmail onde serão armazenados os dados:
# mkdir /var/vmail
# chmod 770 /var/vmail/
# chown vmail:mail /var/vmail/
Para criar os arquivos de configuração do MySQL em que o Postfix poderá se "comunicar" com ele, siga os passos a seguir:
# cd /etc/postfix
# joe mysql_virtual_alias_maps.cf
user = mail
password = mail
hosts = localhost
dbname = mail
table = alias
select_field = goto
where_field = address
additional_conditions = and active = '1'
#query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
password = mail
hosts = localhost
dbname = mail
table = alias
select_field = goto
where_field = address
additional_conditions = and active = '1'
#query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
# joe mysql_virtual_domains_maps.cf
user = mail
password = mail
hosts = localhost
dbname = mail
table = domain
select_field = domain
where_field = domain
additional_conditions = and backupmx = '0' and active = '1'
#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
joe mysql_virtual_mailbox_limit_maps.cf
user = mail
password = mail
hosts = localhost
dbname = mail
table = mailbox
select_field = quota
where_field = username
additional_conditions = and active = '1'
#query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'
joe mysql_virtual_mailbox_maps.cf
user = mail
password = mail
hosts = localhost
dbname = mail
table = mailbox
select_field = CONCAT(domain,'/',maildir)
where_field = username
additional_conditions = and active = '1'
#query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'
password = mail
hosts = localhost
dbname = mail
table = domain
select_field = domain
where_field = domain
additional_conditions = and backupmx = '0' and active = '1'
#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
joe mysql_virtual_mailbox_limit_maps.cf
user = mail
password = mail
hosts = localhost
dbname = mail
table = mailbox
select_field = quota
where_field = username
additional_conditions = and active = '1'
#query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'
joe mysql_virtual_mailbox_maps.cf
user = mail
password = mail
hosts = localhost
dbname = mail
table = mailbox
select_field = CONCAT(domain,'/',maildir)
where_field = username
additional_conditions = and active = '1'
#query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'
Edite o arquivo /etc/postfix/master.cf e no final inclua:
## DOVECOT ##
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)
Esqueci de por uma dica pra vocês..
no /etc/yum.repos.d/CentOS-Base.repo
Na parte do CENTOSPLUS, além de incluir o "includepkgs=postfix-*" é preciso modificar a linha enable=0 para enable=1 !
Em breve, irei disponibilizar um mailserver mais robusto.. Com anti-spam anti-virus e outras opções de webmail.
Além de controle de quota pelo postfix admin, e parte de vacations !
Aguardem !!! :)