You are on page 1of 7

Cmo configurar Cyrus IMAP

Proyecto que dio inicio en 1994, en la Universidad Carnegie Mellon, el servidor Cyrus IMAP se distingue del resto de los equipamientos lgicos con la misma finalidad en que utiliza un formato para los buzones de correo que mejora el rendimiento y escalabilidad del formato Maildir, utilizado por otros equipamientos lgicos como Dovecot. Este formato almacena los datos por partes del sistema de archivos y que solo pueden ser accedidos por el servicio de Cyrus IMAP. Esto permite gestionar grandes cantidades de datos de forma eficiente y con un intrprete de mandatos para su administracin. Incluye soporte para los protocolos IMAP, IMAP, POP3 y POP3S, as como soporte para listas de control de acceso y cuotas en la jerarqua de buzones.

URL: http://asg.web.cmu.edu/cyrus/imapd/

Equipamiento lgico necesario.


cirus-imapd: servidor IMAP, IMAP, POP3 y POP3S. cyrus-imapd-utils: herramientas de administracin. cyrus-sasl: servicio de autenticacin. cyrus-sasl-plain: soporte para autenticacin a travs de texto simple. cyrus-sasl-md5: soporte para autenticacin a travs de mtoos cifrados.

Instalacin a travs de yum.


Si utiliza CentOS 4 o White Box Enterprise Linux 4 y versiones posteriores, solo se necesita realizar lo siguiente para instalar o actualizar el equipamiento lgico necesario:

yum -y install cyrus-imapd cyrus-imapd-utils cyrus-sasl cyrussasl-plain cyrus-sasl-md5

Instalacin a travs de up2date.


Si se utiliza Red Hat Enterprise Linux 4, solo bastar realizar lo siguiente para instalar o actualizar el equipamiento lgico necesario:

up2date -i cyrus-imapd cyrus-imapd-utils cyrus-sasl cyrussasl-plain cyrus-sasl-md5

Procedimientos.
Cyrus IMAP no requiere modificar archivo alguno de configuracin. Los valores predeterminados permiten su funcionamiento normal. Sin embargo, requiere de algunos procedimientos adicionales en relacin a otros equipamientos lgicos.

Se debe asignar una clave de acceso para el usuario administrador de Cyrus IMAP, a fin de impedir accesos no autorizados al intrprete de mandatos para administracin. Esto se realiza a travs del mandato passwd, del siguiente modo:

passwd cyrus

Alta de cuentas de usuario y asignacin de claves de acceso.


El alta de usuarios a travs de este mtodo ser diferente a la manera tradicional, debido a que para utilizar el mtodo de autenticacin para acceder hacia los servicios IMAP, IMAPS, POP3 y POP3S, Cyrus IMAP utilizar SASL. Por tal motivo, el alta de cuentas de usuario de correo deber de seguir el siguiente procedimiento:

1. Alta de la cuenta del usuario en el sistema, la cual se sugiere no deber tener acceso a intrprete de mandato alguno: useradd -s /sbin/nologin fulano

2. Asignacin de claves de acceso en el sistema para permitir autenticar a travs de los mtodos PLAIN y LOGIN para autenticar a travs de los protocolos POP3 e IMAP: passwd usuario

3. Asignacin de claves de acceso para autenticar IMAP, IMAPS, POP3 y POP3S a travs de mtodos cifrados (CRAM-MD5 y DIGEST-MD5) en sistemas con versin de Cyrus IMAP compilada contra SASL-2 (Red Hat Enterprise Linux 4, CentOS 4 o White Box Enterprise Linux 4), requieren utilizar el mandato saslpasswd2 del

siguiente modo: saslpasswd2 usuario

4. Acceder hacia el intrprete de mandatos para administracin de Cyrus IMAPD, cyradm, del siguiente modo: cyradm -user cyrus -auth login localhost

5. Crear los buzones de correo para el usuario a travs del intrprete de mandatos para administracin de Cyrus IMAPD, cyradm, del siguiente modo: createmailbox user.usuario

Para mostrar la lista de buzones existentes, se utiliza el mandato listmailbox. Para salir del intrprete, solo se ingresa el mandato exit 6. La autenticacin para IMAP, IMAPS, POP3 y POP3S a travs de cualquier mecanismo requiere se active e inicie el servicio de saslauthd del siguiente modo: chkconfig saslauthd on service saslauthd start

En el caso en que se haya decidido utilizar mtodos cifrados (CRAM-MD5 y DIGEST-MD5), puede mostrarse la lista de los usuarios con clave de acceso a travs de SASL-2 utilizando el mandato sasldblistusers2. Puede mostrarse la lista de los usuarios con clave de acceso a travs de SASL-1 utilizando el mandato sasldblistusers. Si ya se cuenta con un grupo de claves de acceso de usuarios dados de alta en SASL-1, se pueden convertir hacia SASL-2 con el mandato dbconverter-2.

Iniciar, detener y reiniciar el servicio cyrus-imapd.


Para iniciar por primera vez el servicio cyrus-imapd, utilice: /sbin/service cyrus-imapd start

Para hacer que los cambios hechos a la configuracin del servicio cyrus-imapd surtan efecto, utilice: /sbin/service cyrus-imapd restart

Para detener el servicio cyrus-imapd, utilice: /sbin/service cyrus-imapd stop

Agregar el servicio cyrus-imapd al arranque del sistema.


Para hacer que el servicio de cyrus-imapd est activo con el siguiente inicio del sistema, en todos los niveles de ejecucin (2, 3, 4 y 5), se utiliza lo siguiente: /sbin/chkconfig cyrus-imapd on

Integracin con Sendmail.


Para hacer que el correo que llega a travs de Sendmail sea almacenado en su totalidad en los buzones de Cyrus IMAP a travs de LMTP (Local Mail Transfer Protocol o Protocolo de trasferencia de correo local, descrito en el RFC 2033), es necesario descomentar/agregar las siguientes lneas de configuracin en el archivo /etc/mail/sendmail.mc, justo antes de DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl. define(`confLOCAL_MAILER', `cyrusv2')dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl

Y descomentar/agregar la siguiente lnea al final del archivo /etc/mail/sendmail.mc, justo debajo de MAILER(procmail)dnl. MAILER(cyrusv2)dnl

Tras realizado lo anterior, solo se necesita reiniciar el servicio sendmail. service sendmail restart

Comprobaciones.

Enve un mensaje de correo electrnico utilizando el mandato mail y establezca una conexin entre el cliente y el servidor a travs de POP3, como se ejemplificada a continuacin.

Cliente:

$ telnet 127.0.0.1 110

Servidor: Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK localhost.localdomain Cyrus POP3 v2.2.12-Invoca-RPM-2.2.123.RHEL4.1 server ready. Cliente: USER fulano Servidor: +OK Cliente: PASS clave de accceso Servidor: +OK Logged in. Cliente: STAT Servidor: +OK 1 728 Cliente: LIST Servidor: +OK 1 messages: 1 728 . Cliente: RETR 1 Servidor: +OK 728 octets Return-Path: <fulano@localhost.localdomain> Received: from localhost.localdomain (localhost.localdomain [192.168.1.254]) by localhost.localdomain (8.13.1/8.13.1) with SMTP id k2IM2RjA003987 for <root@localhost.localdomain>; Sat, 18 Mar 2006 16:03:21 0600 Date: Sat, 18 Mar 2006 16:02:27 -0600 Message-Id: <200603182203.k2IM2RjA003987@localhost.localdomain> Subject: Mensaje de prueba From: fulano@localhost.localdomain To: root@localhost.localdomain

Status: O Content-Length: 43 Lines: 2 X-UID: 202 X-Keywords:

Hola. Este es un mensaje de prueba. Adios. . Cliente: QUIT Servidor: +OK Logging out. Connection closed by foreign host.

Repita el procedimiento, esta vez estableciendo conexin entre el cliente y el servidor a travs de IMAP, como se ejemplificada a continuacin.

Cliente:

$ telnet 127.0.0.1 143

Servidor: Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. * OK localhost.localdomain Cyrus IMAP4 v2.2.12-Invoca-RPM2.2.12-3.RHEL4.1 server ready. +OK dovecot ready. Cliente: x LOGIN fulano clave de acceso Servidor: x OK Logged in. Cliente: x SELECT inbox Servidor: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted. * 1 EXISTS * 0 RECENT * OK [UNSEEN 1] First unseen. * OK [UIDVALIDITY 1100569382] UIDs valid

* OK [UIDNEXT 203] Predicted next UID x OK [READ-WRITE] Select completed. Cliente: x FETCH 1 (flags body[header.fields (subject)]) Servidor: * 1 FETCH (FLAGS (\Seen) BODY[HEADER.FIELDS (SUBJECT)] {30} Subject: Mensaje de prueba

) x OK Fetch completed. . Cliente: x FETCH 1 (body[text]) Servidor: * 1 FETCH (BODY[TEXT] {45} Hola. Este es un mensaje de prueba. Adios. ) x OK Fetch completed. Cliente: x LOGOUT Servidor: * BYE Logging out x OK Logout completed. Connection closed by foreign host.

You might also like