Parte2 Mail Server - Postfix + PostfixAdmin + Dovecot + SpamAssassin +MySQL + RoundCube + MailScanner
Autor: Badtux's Blog | Publicado: 2011-11-10T11:58:00-02:00


Dando sequência ao nosso tutorial de configuração de uma solução completa de Mail Server, segue abaixo as configurações do Dovecot e do RoundCube!




Configuração do Dovecot (pop/imap)  
Para iniciar a configuração, iremos editar o arquivo dovecot.conf, podemos apagar as linhas atuais do arquivo e substituir conforme abaixo: 


# &gt; /etc/dovecot.conf
# vim /etc/dovecot.conf

Atente para as configurações de acordo com seu domínio: 




 protocols = imap pop3 imaps pop3s listen = * login_process_size = 64 default_mail_env = maildir:/home/virtual_mail/%u/ namespace private { separator = . prefix = INBOX. inbox = yes} 

namespace private {separator = .prefix =inbox = yeshidden = yes} 

mail_access_groups = postfixmail_privileged_group = postfix verbose_proctitle = yes first_valid_uid = 89 first_valid_gid = 89 #umask = 0077 mbox_read_locks = fcntl mbox_write_locks = fcntl ## Ssl section ssl_disable = no ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem ssl_key_file = /etc/pki/dovecot/private/dovecot.pem # If key file is password protected, give the password here. Alternatively# give it when starting dovecot with -p parameter. ssl_key_password = protocol imap { imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep mail_executable = /usr/libexec/dovecot/popbsmtp.sh /usr/libexec/dovecot/imap } #People who use outlook are fux0red anyway...protocol pop3 { pop3_uidl_format = %08Xu%08Xv pop3_client_workarounds = outlook-no-nuls oe-ns-eoh mail_executable = /usr/libexec/dovecot/popbsmtp.sh /usr/libexec/dovecot/pop3

} protocol lda { postmaster_address = suporte@empresaX.com.br sendmail_path = /usr/sbin/sendmail }

 auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@auth_debug = yes auth_verbose = yes auth default { mechanisms = plain login passdb sql { args = /etc/dovecot-mysql.conf } userdb sql { args = /etc/dovecot-mysql.conf } socket listen { client { path = /var/spool/postfix/private/auth mode = 432 user = postfix group = postfix }  master { path = /var/run/dovecot/auth-master mode = 384 user = postfix }}} 

Criando o arquivo de configuração para o MySql: 

# vim /etc/dovecot-mysql.conf 
E adicione as seguintes linhas: 


 # Database driver: mysql, pgsql driver = mysql  # Currently supported schemes include PLAIN, PLAIN-MD5, DIGEST-MD5, and CRYPT.  default_pass_scheme = CRYPT  # Database options  connect = host=localhost dbname=mails user=postfix password=mail  password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'  user_query = SELECT maildir, 89 AS uid, 89 AS gid FROM mailbox WHERE username = '%u' AND active = '1' 
Adicionando o script do PopBeforeSMTP: 


# vim /usr/libexec/dovecot/popbsmtp.sh #!/bin/sh  pass='mail'  (  if [ -n "$IP" ]  then  echo "REPLACE INTO mails.popbsmtp (address,last_seen) VALUES ('$IP', NOW( ))" \  | mysql -u postfix -p$pass -h localhost &gt; /dev/null 2&gt;&amp;1  fi  )  exec "$@" 
Adicionando a permissão: 

# chmod 755 /usr/libexec/dovecot/popbsmtp.sh 
Agora já podemos reiniciar o Dovecot: 

# /etc/init.d/dovecot restart 
Adicionando o serviço para ser inicializado no momento do boot: 

# chkconfig --levels 345 dovecot on 
Adicionando na cron a execução do PopBeforeSMTP a cada hora: 

# vim /etc/cron.hourly/popbsmtp_purge 

#!/bin/sh user="postfix"  pass="mail"  host="localhost"  database="mails"  ## Delete IP before not get activity for 120 minutes &nbsp;echo "DELETE FROM $database.popbsmtp WHERE last_seen &lt; DATE_SUB(NOW(),INTERVAL 120 MINUTE)" | mysql -u $user -p$pass -h $host &gt; /dev/null 2&gt;&amp;1 

Adicionando permissão de execução:

# chmod&nbsp;755 /etc/cron.hourly/popbsmtp_purge 


Configuração do RoundCube (webmail) 
Para instalação do RoundCube é necessário que as seguintes dependências estejam previamente resolvidas: 

- Apache 
- PHP 5.2.1 ou mais atual 
- MySQL 
- Servidor Imap e SMTP 

Após a instalação das dependências iremos fazer o download do RoundCube através do site oficial: 

# wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/0.5.2/roundcubemail-0.5.2.tar.gz?r=http%3A%2F%2Froundcube.net%2Fdownload&amp;ts=1305126025&amp;use_mirror=jaist # tar -zxf roundcubemail-0.5.2.tar.gz # mv roundcubemail-0.5.2 /var/www/webmail 
Criando a tabela no MySQL: 


# mysql
 Welcome to the MySQL monitor. Commands end with ; or \g.  Your MySQL connection id is 5  Server version: 5.0.77 Source distribution  Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 
mysql&gt; CREATE DATABASE roundcubeWebmail;
 Query OK, 1 row affected (0.01 sec)

mysql&gt; GRANT ALL ON roundcubeWebmail.* TO WebmailRoundcube@localhost IDENTIFIED BY 'mail';
 Query OK, 0 rows affected (0.03 sec)

mysql&gt; quit 


Criando o diretório de logs:

# mkdir /var/www/webmail/logs/
Modificando as permissões e reiniciando o Apache: 


# chown apache:apache /var/www/webmail/temp/ /var/www/webmail/logs/
# chmod g+w /var/www/webmail/logs/
# chmod g+w /var/www/webmail/temp
# /etc/init.d/httpd restart 
Com isso já temos nosso RoundCube instalado, faltando apenas finalizar sua configuração através da seguinte URL: 


http://&lt;SEUIP&gt;/webmail/installler 
Através de uma interface web, será realizado um check em relação às dependências, e caso esteja faltando alguma, o próprio assistente de instalação irá identificar e solicitar a instalação da mesma, conforme notamos abaixo:







Feito o check de dependências, podemos seguir com a configuração. Na próxima, tela iremos customizar nossa instalação. Nessa etapa podemos indicar o nome do nosso webmail, idioma, servers smtp/imap, entre outras opções para personalizar o RoundCube. Essas opções são visualizadas na tela abaixo:














Após a configuração conforme sua necessidade, basta clicas em CREATE CONFIG para que o assistente possa gerar o main.inc.php e o db.inc.php que deverão ser copiados para o diretorio default do RoundCube (/var/www/webmail/config):






Realizada a configuração, o RoundCube irá testar a configuração, como podemos observar na tela abaixo:







Com isso, já temos nosso webmail configurado e já podemos acessar a pagina de webmail pela seguinte URL:&nbsp;http://&lt;SEUIP&gt;/webmail









Assim finalizamos a 2º parte de nosso tutorial, logo estarei disponibilizando a 3º e última parte!

Aguardem! Aproveite e siga o blog e ajude a divulga-lo! ;)



Parte1 Mail Server - Postfix + PostfixAdmin + Dovecot + SpamAssassin +MySQL + RoundCube + MailScanner