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