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 2: Configurando Apache e Postfix
Vamos criar as aliases no httpd.conf para que possamos utilizar o webmail e o postfixadmin.
# joe /etc/httpd/conf/httpd.conf
No final do arquivo, inclua:
Salve o arquivo e reinicie o Apache.
Agora edite o arquivo main.cf do Postfix, Deixe o arquivo da seguinte maneira.
Altere os campos:
conforme sua necessidade.
# joe /etc/httpd/conf/httpd.conf
No final do arquivo, inclua:
### WEBMAIL ###
Alias /squirrelmail /usr/share/squirrelmail/
<Directory /usr/share/squirrelmail/>
Options Indexes
AllowOverride none
DirectoryIndex index.php
Order allow,deny
allow from all
</Directory>
### POSTFIX ADMIN ###
Alias /postfixadmin /usr/share/postfixadmin/
<Directory /usr/share/postfixadmin/>
Options Indexes
AllowOverride none
DirectoryIndex index.php
Order allow,deny
allow from all
</Directory>
Alias /squirrelmail /usr/share/squirrelmail/
<Directory /usr/share/squirrelmail/>
Options Indexes
AllowOverride none
DirectoryIndex index.php
Order allow,deny
allow from all
</Directory>
### POSTFIX ADMIN ###
Alias /postfixadmin /usr/share/postfixadmin/
<Directory /usr/share/postfixadmin/>
Options Indexes
AllowOverride none
DirectoryIndex index.php
Order allow,deny
allow from all
</Directory>
Salve o arquivo e reinicie o Apache.
Agora edite o arquivo main.cf do Postfix, Deixe o arquivo da seguinte maneira.
Altere os campos:
- myhostname
- mydomain
- mynetworks
- smtpd_banner
- permit_mynetworks
conforme sua necessidade.
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
## Hosname ##
myhostname = mail.exemplo.com.br
## Seu domínio ##
mydomain = exemplo.com.br
myorigin = $mydomain
## Permite executar o postfix em todas interfaces ##
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
## Redes liberadas ##
mynetworks = 127.0.0.0/8, 192.168.0.0/16
####mynetworks = hash:/etc/postfix/network_table
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
recipient_delimiter = +
mailbox_command = /usr/libexec/dovecot/deliver
## Banner de smtp porta 25 ##
smtpd_banner = $myhostname ESMTP BEM-VINDO!!
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
# Virtual mailbox settings
virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:8
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
# SASL Authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_path = private/auth
smtpd_sasl_application_name = smtpd
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
permit_mynetworks = 127.0.0.0/8, 192.168.0.0/16
######################## SSL ###################################
smtpd_tls_cert_file = /etc/postfix/mail-cert.pem
smtpd_tls_key_file = /etc/postfix/mail-key.pem
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_session_cache
smtpd_tls_security_level = may
smtpd_tls_received_header = no
smtpd_tls_loglevel = 0
tls_random_source = dev:/dev/urandom
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
## Hosname ##
myhostname = mail.exemplo.com.br
## Seu domínio ##
mydomain = exemplo.com.br
myorigin = $mydomain
## Permite executar o postfix em todas interfaces ##
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
## Redes liberadas ##
mynetworks = 127.0.0.0/8, 192.168.0.0/16
####mynetworks = hash:/etc/postfix/network_table
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
recipient_delimiter = +
mailbox_command = /usr/libexec/dovecot/deliver
## Banner de smtp porta 25 ##
smtpd_banner = $myhostname ESMTP BEM-VINDO!!
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
# Virtual mailbox settings
virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:8
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
# SASL Authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_path = private/auth
smtpd_sasl_application_name = smtpd
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
permit_mynetworks = 127.0.0.0/8, 192.168.0.0/16
######################## SSL ###################################
smtpd_tls_cert_file = /etc/postfix/mail-cert.pem
smtpd_tls_key_file = /etc/postfix/mail-key.pem
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_session_cache
smtpd_tls_security_level = may
smtpd_tls_received_header = no
smtpd_tls_loglevel = 0
tls_random_source = dev:/dev/urandom
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 !!! :)