Instalando e Configurando iRedMail no Debian Jessie

Prepare o seu sistema com o seguinte script: http://wiki.douglasqsantos.com.br/doku.php/confinicialjessie_en

Vamos obter o iRedMail em: https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.4.tar.bz2

Vamos acessar o diretório que vai armazenar os fonts do iRedMail

cd /usr/src

Agora vamos obter o pacote

wget -c https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.4.tar.bz2

Agora vamos desempacotar o iRedMail

tar -xvf iRedMail-0.9.4.tar.bz2

Agora vamos acessar o diretório do iRedMail

cd iRedMail-0.9.4/

Vamos dar permissão para o instalador

chmod +x iRedMail.sh

Agora vamos mandar rodar ele

./iRedMail.sh 

Agora vamos a instalação:

  1. Na primeira tela da instalação temos um welcome e uma pergunta se queremos continuar ou cancelar vamos pressionar ENTER
  2. Agora precisamos informar o diretório que vai conter os emails vamos deixar o padrão: /var/vmail
  3. Agora precisamos informar o servidor Web vamos deixar o padrão: Nginx
  4. Agora precisamos informar o backend ou seja quem vai armazenar as contas de email vamos selecionar: PostgreSQL com a tecla space
  5. Agora precisamos informar o domínio: douglasqsantos.com.br
  6. Agora precisamos informar a senha para o postmaster@douglasqsantos.com.br que sera utilizar para administrar o iRedMail
  7. Agora precisamos habilitar o que queremos instalar do sever eu vou deixar o padrão e pressionar ENTER
  8. Agora vamos ser questionados se as informações estão corretas e vamos informar y para continuar.
*************************************************************************
***************************** WARNING ***********************************
*************************************************************************
*                                                                       *
* Below file contains sensitive infomation (username/password), please  *
* do remember to *MOVE* it to a safe place after installation.          *
*                                                                       *
*   * /usr/src/iRedMail-0.9.4/config
*                                                                       *
*************************************************************************
********************** Review your settings *****************************
*************************************************************************

* Storage base directory:               /var/vmail
* Mailboxes:                            /var/vmail/vmail1
* Daily backup of SQL/LDAP databases:   /var/vmail/backup
* Store mail accounts in:               PostgreSQL
* Web server:                           Nginx
* First mail domain name:               douglasqsantos.com.br
* Mail domain admin:                    postmaster@douglasqsantos.com.br
* Additional components:                iRedAdmin Roundcubemail Awstats Fail2ban

< Question > Continue? [y|N]y

Agora precisamos somente a instalação terminar.

********************************************************************
* Start iRedMail Configurations
********************************************************************
[ INFO ] Create self-signed SSL certification files (2048 bits).
[ INFO ] Generate a strong, unique Diffie Hellman Group with openssl, please wait.
[ INFO ] Create required system account: vmail, iredadmin, iredapd.
[ INFO ] Configure Nginx web server and uWSGI.
[ INFO ] Configure PHP.
[ INFO ] Configure PostgreSQL database server.
[ INFO ] Setup daily cron job to backup PostgreSQL databases with /var/vmail/backup/backup_pgsql.sh
[ INFO ] Configure Postfix (Message Transfer Agent).
[ INFO ] Configure Dovecot (pop3/imap/managesieve server).
[ INFO ] Configure ClamAV (anti-virus toolkit).
[ INFO ] Configure Amavisd-new (interface between MTA and content checkers).
[ INFO ] Configure SpamAssassin (content-based spam filter).
[ INFO ] Configure iRedAPD (postfix policy daemon).
[ INFO ] Configure iRedAdmin (official web-based admin panel).
[ INFO ] Configure Fail2ban (authentication failure monitor).
[ INFO ] Configure Roundcube webmail.

*************************************************************************
* iRedMail-0.9.4 installation and configuration complete.
*************************************************************************

< Question > Would you like to use firewall rules provided by iRedMail?
< Question > File: /etc/default/iptables, with SSHD port: 2222. [Y|n]y
[ INFO ] Copy firewall sample rules: /etc/default/iptables.
< Question > Restart firewall now (with SSHD port 2222)? [y|N]y
[ INFO ] Restarting firewall ...
[ INFO ] Updating ClamAV database (freshclam), please wait ...
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
********************************************************************
* URLs of installed web applications:
*
* - Roundcube webmail: httpS://iredmail.douglasqsantos.com.br/mail/
*
* - Web admin panel (iRedAdmin): httpS://iredmail.douglasqsantos.com.br/iredadmin/
*
* You can login to above links with below credential:
*
* - Username: postmaster@douglasqsantos.com.br
* - Password: senha_secreta
*
*
********************************************************************
* Congratulations, mail server setup completed successfully. Please
* read below file for more information:
*
*   - /usr/src/iRedMail-0.9.4/iRedMail.tips
*
* And it's sent to your mail account postmaster@douglasqsantos.com.br.
*
********************* WARNING **************************************
*
* Please reboot your system to enable all mail services.
*
********************************************************************

O Erro que temos sobre o clamav é por que já temos um processo trabalhando em background atualizando a base de dados de anti-virus.

Após a Instalação já temos acesso ao painel administrativo em:

Acesso ao webmail em:

Caso precise das senhas geradas pelo iRedMail temos um arquivo chamado config no diretório do iRedMail

cat /usr/src/iRedMail-0.9.4/config
export VMAIL_USER_HOME_DIR='/var/vmail'
export STORAGE_BASE_DIR='/var/vmail'
export STORAGE_MAILBOX_DIR='/var/vmail/vmail1'
export SIEVE_DIR='/var/vmail/sieve'
export BACKUP_DIR='/var/vmail/backup'
export BACKUP_SCRIPT_OPENLDAP='/var/vmail/backup/backup_openldap.sh'
export BACKUP_SCRIPT_MYSQL='/var/vmail/backup/backup_mysql.sh'
export BACKUP_SCRIPT_PGSQL='/var/vmail/backup/backup_pgsql.sh'
export WEB_SERVER_IS_NGINX='YES'
export WEB_SERVER_IS_APACHE='NO'
export BACKEND_ORIG='PGSQL'
export BACKEND='PGSQL'
[...]

Após instalar o iRedMail é bom reiniciar o servidor para que ele recarregue todas as novas confs

reboot

Se tiver problemas de entregas de email referente a IPV6 desabilite ele senão estiver utilizando este protocolo.

Desabilitando o IPV6 no Postfix

vim /etc/postfix/main.cf
[...]
# Enable both IPv4 and IPv6.
#inet_protocols = all
inet_protocols = ipv4

Agora precisamos reiniciar o serviço do Postfix

systemctl restart postfix

Aviso: Precisa estar liberada a porta 25 no ISP e é necessário obter reverso para o servidor trabalhar corretamente.

Logs do Postfix

tail -f /var/log/mail.log

Listando a fila de emails

mailq

Removendo os emails da fila

postsuper -d ALL

Flush os emails da fila

postfix flush

Agora é so ir administrando.

Adicional

Configurando o DKIM no servidor Bind

Precisamos obter o DKIM do Amavis para inserir no Bind

amavisd-new showkeys
; key#1 1024 bits, i=dkim, d=douglasqsantos.com.br, /var/lib/dkim/douglasqsantos.com.br.pem
dkim._domainkey.douglasqsantos.com.br.  3600 TXT (
  "v=DKIM1; p="
  "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAwGpjVKLNd/41twPNGuCfaSAE"
  "5D/h4XPrtQD9MmucUuIOk85oMr3fdbX89YvSO39bI+N8Bwoq9kYA+3nSWQl8dhq5"
  "Dp6CxcLiNSWUL8ayA2zCRfUso+5WPq8cKjc5ykbQpakjVmROTCZCAY4VfUhUQYxd"
  "N6+SrYPeag6M5/ir6wIDAQAB")

Agora precisamos configurar o DNS

vim /var/lib/named/var/cache/bind/master/db.douglasqsantos.com.br-external
$TTL 86400
@ IN SOA  dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. (
                              2016020101  ; Serial
                              3600       ; Refresh
                              1800        ; Retry
                              1209600      ; Expire
                              3600 )     ; Minimum
 
;
@               IN      NS   mcq.com.br.
douglasqsantos.com.br. IN TXT "v=spf1 a mx ip4:177.177.177.177/29 -all"
douglasqsantos.com.br. IN SPF "v=spf1 a mx ip4:177.177.177.177/29 -all"
mail.douglasqsantos.com.br IN TXT "v=spf1 a -all"
mail.douglasqsantos.com.br IN SPF "v=spf1 a -all"
 
mail._domainkey.douglasqsantos.com.br.     3600 TXT (
  "v=DKIM1; p="
  "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDmnmTHBZ5iqiGePhZE6buzqQk1"
  "KBZCTFax52k1va8Gds4PLj+UINmnDxgAeOSyPfvXAJlA5+r0ZNmzKnTtJYd4SBft"
  "YRK9Zrw7E7tK+5mBV9jVCk9Z4/c0wPQD4b04vhi+VgiGeFcMNIfQvFAsHCj4z5w4"
  "CQC5HCYqb6bqFDIiBQIDAQAB")
[...]

Após isso precisamos reiniciar o serviço do bind

systemctl restart bind9

Após isso já podemos testar a nossa chave DKIM

amavisd-new testkeys
TESTING#1: mail._domainkey.douglasqsantos.com.br   => pass

Agora vamos reiniciar o amavis

systemctl restart amavis

Referências