May 042012
 
Artículo Postfix

El servidor de correo postfix que hemos comentado en otro artículo carece de la funcionalidad para permitir que usuarios remotos se puedan conectar al servidor para enviar y recibir mensajes. El software Dovecot implementa los protocolos IMAP2 y POP3, y se integra con Postfix para ofrecer esta funcionalidad.

En este artículo presentamos la manera de instalar y configurar Dovecot junto con Postfix y Postfixadmin en un servidor con sistema operativo Debian.

Instalación

La instalación propiamente dicha es sencilla, ya que tenemos disponible en la distribución Debian los paquetes dovecot-imapd y dovecot-pop3d:

# apt-get install dovecot-imapd dovecot-pop3d
....
# dovecot --version
1.2.15
#

Como vemos, la versión que se ha instalado es la 1.2.15. Es importante conocer la versión, ya que los procedimientos para integrar dovecot con postfix y postfixadmin que explicaremos más adelante dependen de la misma.

Configuración de dovecot

/etc/dovecot/dovecot.conf

El siguiente paso es editar el fichero de configuración de dovecot, que se encuentra en /etc/dovecot/dovecot.conf. Indicamos los protocolos que queremos utilizar:

# Protocols we want to be serving: imap imaps pop3 pop3s managesieve
# If you only want to use dovecot-auth, you can set this to "none".
#protocols = imap imaps
protocols = imap pop3

En el mismo fichero, debemos indicar en la variable ‘mail_location’ la ubicación de los ficheros (mailboxes) que van a contener los mensajes de los usuarios:

mail_location = /home/vmail/%d/%n

Por otra parte, hay que indicar a dovecot la ubicación de la lista de usuarios que pueden conectarse, y sus contraseñas. Dovecot permite utilizar para ello distintos mecanismos, entre los cuales se encuentra el uso de una base de datos mysql. Por su parte, Postfixadmin realiza el mantenimiento de la base de datos mysql ‘postfix’, que contiene una tabla ‘mailbox’ que incluye los campos ‘username’ y ‘password’:

mysql> use postfix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show columns in mailbox;
+------------+--------------+------+-----+---------------------+-------+
| Field      | Type         | Null | Key | Default             | Extra |
+------------+--------------+------+-----+---------------------+-------+
| username   | varchar(255) | NO   | PRI | NULL                |       |
| password   | varchar(255) | NO   |     | NULL                |       |
| name       | varchar(255) | NO   |     | NULL                |       |
| maildir    | varchar(255) | NO   |     | NULL                |       |
| quota      | bigint(20)   | NO   |     | 0                   |       |
| local_part | varchar(255) | NO   |     | NULL                |       |
| domain     | varchar(255) | NO   | MUL | NULL                |       |
| created    | datetime     | NO   |     | 0000-00-00 00:00:00 |       |
| modified   | datetime     | NO   |     | 0000-00-00 00:00:00 |       |
| active     | tinyint(1)   | NO   |     | 1                   |       |
+------------+--------------+------+-----+---------------------+-------+
10 rows in set (0.01 sec)

mysql>

Por lo tanto, vamos a editar /etc/dovecot/dovecot.conf para que haga uso de esta base de datos. descomentamos en dicho fichero las entradas “userdb sql” y “passdb sql”:

# SQL database </usr/share/doc/dovecot-common/wiki/AuthDatabase.SQL.txt>
 userdb sql {
 # Path for SQL configuration file
 args = /etc/dovecot/dovecot-sql.conf
 }
...
# SQL database </usr/share/doc/dovecot-common/wiki/AuthDatabase.SQL.txt>
 passdb sql {
 # Path for SQL configuration file
 args = /etc/dovecot/dovecot-sql.conf
 }

/etc/dovecot/dovecot-sql.conf

Y editamos el fichero /etc/dovecot/dovecot-sql.conf para que haga uso de nuestra base de datos postfixadmin. Localizamos, descomentamos y editamos las líneas:

driver = mysql

connect = host=localhost dbname=postfix user=postfix password=clave_de_acceso

user_query = 
  SELECT maildir, 5000 as uid, 5000 as gid 
  FROM mailbox WHERE username = '%u'

password_query = 
 SELECT username AS user, password, 
 maildir AS userdb_home, 5000 AS userdb_uid, 5000 AS userdb_gid 
 FROM mailbox WHERE username = '%u'

Configuración de PostfixAdmin

/usr/share/postfixadmin/config.inc.php

Atención: Para que las contraseñas que genera Postfixadmin sean compatibles con las que utiliza dovecot, debemos editar también el fichero de configuración de Postfixadmin (por defecto, este fichero se encuentra en /usr/share/postfixadmin/config.inc.php). Localizamos y editamos las líneas:

$CONF['encrypt'] = 'dovecot:CRAM-MD5';
$CONF['dovecotpw'] = "/usr/sbin/dovecotpw";

Nota: Más adelante vamos a ver como implementar cuotas de disco. En el fichero de configuración de PostfixAdmin debemos también configurar el uso de cuotas con dovecot, dependiendo de la versión de dovecot instalada:

// Si usted utiliza dovecot >= 1.2, establecer el valor YES para esta variable.
// Nota acerca de la configuración de dovecot: la tabla "quota" es para las versiones
// 1.0 y 1.1, la tabla "quota2" es para dovecot 1.2 y posteriores
$CONF['new_quota_table'] = 'YES';

Como vemos, asignamos el valor ‘YES’ a la variable de configuración ‘new_quota_table’, porque nuestra versión de dovecot es la 1.2.15.

Y con esto ya está configurado nuestro servicio de correo con IMAP y POP3!

 

 Publicado por en 6:55 pm

 Deja un comentario

(requerido)

(requerido)