Dovecot es un servidor IMAP y POP ligero y rápido. Vamos a ver como instalarlo en un servidor qmail con vpopmail.
Desde site oficial de dovecot se puede descargar el paquete, una vez descomprimido lo configuramos según el siguiente configure:
./configure --disable-ipv6 --with-mysql \
--with-sql=yes --with-sql-drivers
Al finalizar el configure tenemos que asegurarnos que ha detectado el vpopmail en las lineas de “user database modules” y “password lookup modules“:
Install prefix …………………. : /usr/local
File offsets …………………… : 64bit
I/O loop method ………………… : epoll
File change notification method ….. : inotify
Building with SSL support ……….. : yes (OpenSSL)
Building with IPv6 support ………. : no
Building with pop3 server ……….. : yes
Building with mail delivery agent .. : yes
Building with GSSAPI support …….. : no
Building with user database modules . : static prefetch passwd passwd-file sql vpopmail nss
Building with password lookup modules : passwd passwd-file shadow checkpassword sql vpopmail
Building with SQL drivers …………: mysql
Continuamos compilando e instalando:
make && make install
Añadimos un usuario para el daemon:
useradd dovecot
A continuación passamos a configurar el daemon con los siguientes ficheros:
- /usr/local/etc/dovecot.conf:
mail_location = maildir:/home/vpopmail/domains/%d/%n/Maildir
ssl_disable=yes
disable_plaintext_auth=no
verbose_proctitle = yes
first_valid_uid = 89
last_valid_uid = 89
protocol imap {
listen = *:143
}
auth default {
passdb vpopmail {
}
userdb vpopmail {
}
}
- /usr/local/etc/dovecot-sql.conf
No aparecen los correos
dovecot: IMAP(ejemplo@systemsadmins.es): mkdir(/home/systemsadmins.es/ejemplo/Maildir/cur) failed: Permission denied
Esto puede ser debido a que dovecot lo busca en un path incorrecto. Comprueba que /home/systemsadmins.es/ejemplo/Maildir/cur exista, y si no es así, modifica el parametro mail_location según corresponda.
Fallo de autenticación
dovecot: auth(default): vmysql: sql error[3]: MySQL server has gone away
Este error aparece quando se ha reiniciado el mysql. Debes reiniciar el dovecot
driver=mysql
connect = host=/tmp/mysql.sock user=vpopmail password=vpopmailpassword dbname=vpopmail
default_pass_scheme = PLAIN
password_query = SELECT CONCAT(pw_name, '@', pw_domain) AS user, pw_clear_passwd AS password FROM vpopmail WHERE pw_name = '%n' AND pw_domain = '%d'
user_query = SELECT pw_dir as home, 64020 AS uid, 64020 AS gid FROM vpopmail WHERE pw_name = '%n' AND pw_domain = '%d'
Para iniciar el daemon sólo hace falta ejecutar «dovecot» sin parámetros, peró recomendamos su uso combinado con las daemontools. Su fichero runsupervise sería: para el
#!/bin/bash
exec /usr/local/sbin/dovecot -F
Problemas freqüentes de dovecot
Algunos de sus problemas freqüentes són:
No aparecen los correos
dovecot: IMAP(ejemplo@systemsadmins.es): mkdir(/home/systemsadmins.es/ejemplo/Maildir/cur) failed: Permission denied
Esto puede ser debido a que dovecot lo busca en un path incorrecto. Comprueba que /home/systemsadmins.es/ejemplo/Maildir/cur exista, y si no es así, modifica el parametro mail_location según corresponda.
Fallo de autenticación
dovecot: auth(default): vmysql: sql error[3]: MySQL server has gone away
Este error aparece quando se ha reiniciado el mysql. Debes reiniciar el dovecot
Fuente: http://systemadmin.es