Vous êtes sur la page 1sur 45

SERVIDOR DE CORREO EN LINUX VERSIN 2

TECNOLOGIA EN GESTIN DE REDES DE DATOS CENTRO DE SERVICIOS Y GESTIN EMPRESARIAL SENA, MEDELLN

NOTAS PRELIMINARES: Este tutorial describe el proceso de instalacin y administracin de un servidor de correo en una mquina con Sistema Operativo Red Hat 6.0. Antes de seguir este tutorial se recomienda seguir paso a paso el manual de administracin de openLDAP 2.4 disponible en http://cursos.redsena.net

1. CONFIGURACIN DEL SERVIDOR OPENLDAP


En un manual anterior (manual de administracin de openLDAP 2.4) se realiz la configuracin de openLDAP, sin embargo no tenemos un esquema que defina clases y atributos para una cuenta de correo: mailbox, maildrop, mailenable, quota, etc. 1.1 Crear o descargar el esquema mail.schema En esta URL se define un esquema: http://mds.mandriva.org/svn/mmc-projects/mmc-core/trunk/agent/contrib/ldap/mail.schema Debe crearse un nuevo archivo llamado mail.schema y guardarse en /etc/openldap/schema/. Luego debe copiarse el contenido del archivo como se muestra a continuacin:
# nano /etc/openldap/schema/mail.schema
## ## ## ## ## ## ## ##

Needed attributes for MMC Mail Plugin Version 02 - 29/11/06 Cdric Delfosse (cdelfosse@mandriva.com) Matthieu Vogelweith (mvogelweith@mandriva.com)

# Attributes attributetype ( 1.3.6.1.4.1.21103.1.1.13.1 NAME 'maildrop' DESC 'Mail addresses where mails are forwarded -- ie forwards' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{512}) attributetype ( 1.3.6.1.4.1.21103.1.1.13.2 NAME 'mailalias' DESC 'Mail addresses accepted by this account -- ie aliases' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{512}) attributetype ( 1.3.6.1.4.1.21103.1.1.13.3 NAME 'mailenable' DESC 'Mail Account / Virtual alias validity' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{8}) attributetype ( 1.3.6.1.4.1.21103.1.1.13.4 NAME 'mailbox' DESC 'Mailbox path where mails are delivered' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{512}) attributetype ( 1.3.6.1.4.1.21103.1.1.13.5 NAME 'virtualdomain' DESC 'A mail domain name' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{512}) attributetype ( 1.3.6.1.4.1.21103.1.1.13.6 NAME 'virtualdomaindescription' DESC 'Virtual domain description'

EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{512}) attributetype ( 1.3.6.1.4.1.21103.1.1.13.7 NAME 'mailuserquota' DESC 'Mailbox quota for a user in kilo-bytes' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.21103.1.1.13.8 NAME 'mailhost' DESC 'The mail server IP address or FQDN for a user' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.21103.1.1.13.9 NAME 'mailaliasmember' DESC 'Member of a virtual alias' SUP distinguishedName ) # Mail Account Objectclass objectclass ( 1.3.6.1.4.1.21103.1.2.13.1 NAME 'mailAccount' DESC 'Mail Account' SUP top AUXILIARY MUST ( mail ) MAY ( mailalias $ maildrop $ mailenable $ mailbox $ mailuserquota $ mailhost ) ) # Mail Domain Objectclass objectclass ( 1.3.6.1.4.1.21103.1.2.13.2 NAME 'mailDomain' DESC 'Domain mail entry' SUP top STRUCTURAL MUST ( virtualdomain ) MAY ( virtualdomaindescription $ mailuserquota ) ) # Mail Group Objectclass objectclass ( 1.3.6.1.4.1.21103.1.2.13.3 NAME 'mailGroup' SUP top AUXILIARY DESC 'Mail Group' MUST ( mail ) ) # Virtual Alias Objectclass objectclass ( 1.3.6.1.4.1.21103.1.2.13.4 NAME 'mailAlias' DESC 'Mail Alias' SUP top STRUCTURAL MUST ( mailalias ) MAY ( mail $ mailaliasmember $ mailenable ) )

1.2 Conversin de mail.schema a mail.ldif

En el manual de administracin de openLDAP 2.4 se explic que esta versin de openLDAP trabaja la configuracin directamente con archivos de extensin LDIF y no con archivos de extensin schema. Para visualizar los esquemas actuales usados en openldap podemos usar el comando tree.
# tree /etc/openldap/slapd.d

Crear el archivo misesquemas.conf:


# cd /root/ # nano misesquemas.conf
include include include include include include include include include include include include /etc/openldap/schema/core.schema /etc/openldap/schema/collective.schema /etc/openldap/schema/corba.schema /etc/openldap/schema/cosine.schema /etc/openldap/schema/duaconf.schema /etc/openldap/schema/dyngroup.schema /etc/openldap/schema/inetorgperson.schema /etc/openldap/schema/java.schema /etc/openldap/schema/nis.schema /etc/openldap/schema/openldap.schema /etc/openldap/schema/ppolicy.schema /etc/openldap/schema/mail.schema

Crear un directorio para la creacin de los esquemas en formato LDIF


# mkdir conf/

Ejecutar el comando slaptest para realizar la conversin:

# slaptest f miesquemas.conf F conf/

NOTA: El comando slaptest cre el siguiente rbol a partir del directorio conf que se cre previamente:

Hacemos una copia del archivo cn={11}mail.ldif y la editamos:


# cp conf/cn\=config/cn\=schema/cn\=\{11\}mail.ldif # nano mail.ldif mail.ldif

Editar las lneas:


dn: cn={11}mail objectClass: olcSchemaConfig cn: {11}mail

Por lo siguiente:
dn: cn=mail,cn=schema,cn=config objectClass: olcSchemaConfig cn: mail

NOTA: Not que se borraron los nmeros y sus llaves y se agreg cn=schema,cn=config Luego, debemos borrar las siguientes lneas:
structuralObjectClass: olcSchemaConfig entryUUID: 007940a2-0289-1031-873b-89615207f42d creatorsName: cn=config createTimestamp: 20120315012157Z entryCSN: 20120315012157.547939Z#000000#000#000000 modifiersName: cn=config modifyTimestamp: 20120315012157Z

Por ltimo se importa el esquema al LDAP:

# ldapadd x D cn=admin,cn=config W f mail.ldif Enter LDAP Password: adding new entry "cn=mail,cn=schema,cn=config "

Verificacin:

1.3 Crear usuarios para que sean usuarios de correo electrnico Para este procedimiento se usar el cliente grfico Apache Directory Studio. En primer lugar se crear una nueva entrada en el directorio como se muestra en la figura:

Luego le diremos que la nueva entrada se crear desde cero y no a partir de otra entrada como plantilla:

Se crea la entrada con las siguientes clases: inetOrgPerson, mailAccount (Las dems clases se agregan automticamente)

El RDN (Nombr distinguido relativo de cada usuario de correo) ser el uid. En muchos casos se usa cn como el RDN. En este caso el uid ser Elvis, ya que se pretende crear un usuario que a su vez ser usuario de correo: elvis@abc.com

Luego, se pedir que se ingresen los atributos obligatorios: cn, mail y sn. Sin embargo usaremos otros atributos adicionales. Para esto presionamos el botn New Attribute, como se muestra en la siguiente figura:

La bsqueda de atributos es una labor sencilla. Se ingresan los siguientes atributos adicionales: mailbox y mailenable. Ver las siguientes dos figuras:

NOTA: El atributo mail ser usado para indicarle al servidor de correo el e-mail del usuario. NOTA: El atributo mailbox ser usado para indicarle al servidor de correo cual ser la ruta (path) del buzn del usuario. Por ejemplo si se almacenan los correos en /var/mail, el buzn de Elvis estar en la ruta /var/mail/elvis/Maildir/.

NOTA: El atributo mailenable ser usado para indicarle al servidor de correo que la cuenta se encuentra activa o inactiva. 1.4 Modificar usuarios para que sean usuarios de correo electrnico En el manual de administracin de openLDAP 2.4 se crearon varios usuarios con diferentes clases y atributos, sin embargo no estaban pensados para ser usuarios de correo sino ms bien usuarios que pudieran autenticarse en sistemas UNIX (posixAccount) o usuarios con informacin personal (inetOrgPerson). A continuacin se muestra el proceso de modificacin de un objeto (Usuario) existente, para convertirlo tambin en usuario de correo electrnico. En el siguiente pantallazo se muestra un usuario de LDAP que fue creado a partir de las clases posixAccount e inetOrgPerson. Para que este usuario, sea usado como usuario de correo simplemente ubicamos el cursor del mouse sobre cualquiera de las objectClass y luego presionamos el botn New Value.

Buscamos la clase mailAccount y luego la agregamos y damos clic en Next:

Para la clase mailAccount el atributo obligatorio es mail:

Finalmente se agregan los atributos mailenable y mailbox, como se mostr en pasos anteriores

2. INSTALACIN Y CONFIGURACIN DE POSTFIX (MTA y MDA)


Postfix es un servidor de correo Open Source, que acta como agente de transporte de correo (MTA). A continuacin se describe el proceso de instalacin y configuracin de Postfix como MTA y como agente de entrega de correo (MDA). En procesos anteriores se instal el servidor de directorio openLDAP 2.4. Los usuarios de correo electrnico sern los mismos usuarios definidos en el LDAP. En otras palabras se usar LDAP como backend del Postfix. La implementacin supone que los correos sern entregados a los buzones de los usuarios dentro del dominio abc.com Antes de instalar y configurar POSTFIX responda las siguientes preguntas, ya que sus respuestas son la base de la configuracin: Qu nombre de dominio usar para el correo saliente? Respuesta: abc.com De cules dominios recibir correos? Respuesta: Cualquier dominio puede enviarme correos electrnicos. Qu clientes podrn enviar correo electrnico desde su servidor? Respuesta: Solo los usuarios dentro de la red local 192.168.40.0/24 A qu destinos desea enviar correos electrnicos? Respuesta: A cualquier destino, incluyendo dominios en internet Cul ser el formato usado para almacenar los buzones de los usuarios: mbox o maildir? Respuesta: Se usar Maildir Qu mtodo de envo de correo usara: directo o indirecto? Respuesta: El servidor Postfix enviar correo directamente, sin necesidad
de usar un relay de retransmisin de correo.

Cul ser la base de datos de usuarios? Respuesta: El servidor Postfix enviar correo solo a usuarios del directorio
openLDAP. No se usaran los usuarios del sistema.

Procedimiento para la instalacin y configuracin de Postfix: 2.1 Instalacin de Postfix En las distribuciones basadas en RHEL 6.0 (Red Hat Enterprise Linux 6.0) Postfix es el agente de transporte por omisin (Preinstalado). Sin embargo, si este no es el caso solo ser necesario instalarlo:
# yum install postfix

2.2 Configuracin inicial de Postfix con base en las necesidades: Editar el archivo main.cf con los parmetros de configuracin. A continuacin se muestran las lneas que se deben editar:
# nano /etc/postfix/main.cf

myhostname = mail.abc.com mydomain = abc.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 192.168.40.0/24, 127.0.0.0/8 home_mailbox = Maildir/

myhostname: Corresponde al nombre del servidor de correo (Hostname). Debe existir un registro en el servidor DNS. mydomain: Es el nombre de dominio que se usar para los correos salientes. myorigin: Es el nombre de dominio que se usar para los correos salientes. Si el usuario usersena enva un correo electrnico, postfix pondr como remitente usersena@abc.com. Para la configuracin mostrada en la figura myorigin sera abc.com (mydomain). inet_interfaces: interfaces (subredes) que estarn a la escucha de peticiones de clientes de correo electrnico. En este caso, el servidor escuchar por todas las interfaces de red. Por ejemplo si el servidor tiene 2 interfaces de red escuchar por cada una de estas interfaces. mydestination: El parmetro mydestination especifica que dominios entregar localmente, en vez de enviarlo a otras maquinas. En este caso, todo correo @abc.com ($mydomain) ser entregado de manera local por el mismo servidor y no se usar otro MTA. mynetworks: La directiva mynetworks permite que una red se considere local para Postfix. Esto es, distinguir entre maquinas dentro de la red local que tienen permitido el uso del servidor de correo. En el ejemplo de configuracin solo los equipos de la red 192.168.40.0/24 y el host local pueden usar Postfix como agente de transporte de correo. home_mailbox: Este parmetro define el formato en que sern almacenados los buzones. Existen dos tipos de formatos mbox y maildir. El elegido ser Maildir que es un formato que usa varios directorios y evita los bloqueos. Con la configuracin mostrada los usuarios tendrn sus buzones en el directorio /home/username/Maildir/ NOTA: Con la configuracin mostrada ya pueden hacerse pruebas y enviar correos a los usuarios locales (Unix users) o a dominios en Internet. Cada correo es almacenado en el home de cada

usuario. Aunque se mostrar la prueba de esto, no podemos olvidar que no queremos trabajar con usuarios locales sino que nuestros usuarios de correo estarn definidos en el directorio LDAP, por lo cual ser necesario cambiar nuevamente la configuracin de

2.3 Prueba del servidor de correo con usuarios locales usando un MUA

Para realizar la prueba podemos usar un cliente de correo electrnico (MUA) de lnea de comandos llamado mail o podemos usar algn cliente de correo (MUA) grfico. En el servidor RHEL existen solo dos usuarios: root y usersena. Las dos pruebas que se realizarn sern: Enviar un correo electrnico del usuario root@abc.com al usuario usersena@abc.com
$ su # echo "Este es el cuerpo del mensaje" | mail s "Este es el asunto" usersena@abc.com

Enviar un correo electrnico del usuario root@abc.com al usuario felipelondon@gmail.com


$ su # echo "Cuerpo del mensaje" | mail s "Este es el asunto" felipelondon@gmail.com

Verificacin:
# su - usersena $ cat Maildir/new/1331681220.XXXXXX.ldap.abc.com Return-Path: <root@abc.com> X-Original-To: usersena@abc.com Delivered-To: usersena@abc.com Received: by ldap.abc.com (Postfix, from userid 0) id 8218D649EA; Tue, 13 Mar 2012 18:27:00 -0500 (COT) Date: Tue, 13 Mar 2012 18:27:00 -0500 To: usersena@abc.com Subject: Asunto del mensaje User-Agent: Heirloom mailx 12.4 7/29/08 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20120313232700.8218D649EA@ldap.abc.com> From: root@abc.com (root) Este es el cuerpo del mensaje

El Segundo correo se encuentra en la carpeta SPAM de la bandeja de GMAIL:

2.4 Configuracin de postfix usando LDAP como backend

En el paso anterior se realiz una prueba exitosa de postfix, usando los usuarios UNIX. Ahora cambiaremos los parmetros necesarios para que postfix trabaje con los usuarios del directorio (Usuarios virtuales). Lo primero ser consultar la documentacin oficial de postfix para la configuracin de dominios y usuarios virtuales LDAP (Bsqueda en google: virtual domains postfix ldap). En los resultados buscamos el de la documentacin oficial en la seccin Postfix virtual MAILBOX example: separate domains, non-UNIX accounts: http://www.postfix.org/VIRTUAL_README.html#virtual_mailbox Con base en el ejemplo, adaptaremos la configuracin de Postfix a nuestras necesidades. Borre $mydomain de la lnea mostrada en rojo y agregue las dems lneas al final del archivo main.cf
mydestination = $myhostname, localhost.$mydomain, localhost virtual_mailbox_domains = $mydomain virtual_mailbox_base = /var/vmail/ virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf virtual_minimum_uid = 100 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000

virtual_mailbox_domains le dice a Postfix que abc.com es un dominio de correo virtual. Si se incluye $mydomain en virtual_mailbox_domains no puede incluirse en mydestination. El parmetro virtual_mailbox_base especifica un prefijo para todas las rutas de acceso de buzn virtual. En este directorio se crearn varios subdirectorios, uno por cada usuario del LDAP que sea tambin usuario de correo electrnico. Por ejemplo, para el usuario uid=elvis,dc=abc,dc=com, postfix crear los directorios /var/vmail/elvis y /var/vmail/elvis/Maildir. NOTA: El directorio /var/vmail debe existir, por eso lo crearemos un usuario a partir del cual se crearn los buzones y el cual tendr como directorio personal /var/vmail y su uid ser 5000:
# adduser -d /var/vmail -u 5000 vmail

El parmetro virtual_mailbox_maps especifica la tabla de bsqueda de los buzones. Este parmetro lo pasaremos usando LDAP, a travs del atributo mailbox. Por ejemplo: cuando postfix recibe un correo electrnico para el usuario elvis@abc.com necesita saber dnde almacenarlo, entonces realiza una consulta al servidor LDAP del atributo mailbox, del usuario elvis. El servidor LDAP responder que el atributo mailbox ser elvis/Maildir/. El archivo /etc/postfix/ldap-accounts.cf debe tener la informacin necesaria para la conexin con el servidor LDAP y el atributo de respuesta para la consulta:
# nano /etc/postfix/ldap-accounts.cf server_host = 127.0.0.1 search_base = dc=abc, dc=com query_filter = (&(objectClass=mailAccount)(mail=%s)(mailenable=ok))

result_attribute = mailbox

NOTA: La configuracin variar dependiendo de si el servidor se encuentra en una mquina local o en una mquina remota. Yo recomiendo usar un FQDN (Por ejemplo ldap.abc.com). NOTA: Como puede verse la bsqueda en el LDAP se realizar primero una verificacin de todas las entradas que sean mailAccount, luego se buscar la direccin de correo (%s) y por ltimo se verificar que el atributo mailenable tenga el valor OK, en otra palabras, que la cuenta de correo est habilitada. NOTA: El atributo resultante es mailbox. A continuacin se comprobar con el usuario elvis que existe en el directorio:
# postmap -q elvis@abc.com ldap:/etc/postfix/ldap-accounts.cf elvis/Maildir/

Por ltimo reiniciamos el servicio:


# service postfix restart

2.5 Prueba del servidor de correo con usuarios del directorio (LDAP) Se usar el cliente de lnea de comandos mail:
# echo "Hola Mortiz" | mail -s "mensaje del root para mortiz" mortiz@abc.com

De acuerdo a la configuracin que se ha realizado hasta el momento, este correo debe estar almacenado en el mailbox del usuario mortiz, que es el directorio /var/vmail/mortiz/Maildir/
[root@ldap usersena]# tree /var/vmail/mortiz/ /var/vmail/mortiz/ Maildir cur new 1332201296.Vfd01I8354eM985430.ldap.abc.com tmp

NOTA: Recuerde que el comando tree es usado para visualizar el rbol de directorios y subdirectorios. Como puede verse, postfix a travs del MDA, cre el directorio mortiz, a partir de /var/vmail y los dems subdirectorios. Ahora leeremos el mail usando el comando cat:
# cat /var/vmail/mortiz/Maildir/new/1332201296.Vfd01I8354eM985430.ldap.abc.com Return-Path: <root@abc.com> X-Original-To: mortiz@abc.com Delivered-To: mortiz@abc.com Received: by ldap.abc.com (Postfix, from userid 0) id EA95664AA4; Mon, 19 Mar 2012 18:54:53 -0500 (COT)

Date: Mon, 19 Mar 2012 18:54:53 -0500 To: mortiz@abc.com Subject: mensaje del root para mortiz User-Agent: Heirloom mailx 12.4 7/29/08 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20120319235453.EA95664AA4@ldap.abc.com> From: root@abc.com (root) Hola Mortiz

NOTA: Ms adelante se usarn dos clientes grficos (MUA) para la revisin de correo: Outlook y Thunderbird. Lo nico que nos hace falta es configurar el servidor POP/IMAP.

3. INSTALACIN Y CONFIGURACIN DE DOVECOT (MAA)


Dovecot es un servidor de IMAP y POP3 Open Source para sistemas GNU/Linux o Unix en general Dovecot puede trabajar con el estndar MBOX y MAILDIR y es completamente compatible con clientes MUA que accedan directamente a los buzones de correo. Dovecot tambin incluye un Agente de Entrega de Correo llamado Local Delivery Agent (agente de entrega local o LDA). Por el momento, el agente de entrega de correo es virtual, a travs de postfix, pero ms adelante tendremos que configurar dovecot como MDA (o en trminos de Dovecot, LDA). Esto con el fin de que se impida la entrega de correos cuando los usuarios hayan excedido la cuota.

3.1 Instalacin de dovecot


# yum install dovecot

Una vez instalado dovecot, se configurar para que el servicio sea iniciado cuando el sistema arranque:
# chkconfig dovecot on

Es importante saber qu versin de dovecot se est usando para luego buscar la documentacin apropiada en la Wiki de dovecot. El siguiente comando muestra la versin de dovecot (2.0.9):
# dovecot --version

2.0.9

3.2 Configuracin de dovecot Dovecot tiene varios archivos de configuracin. A continuacin se explican los que sern usados para nuestra configuracin: /etc/dovecot/dovecot.conf: Configuraciones bsicas de protocolos (IMAP, POP o ambos), redes de confianza, etc. Adems se incluyen los archivos del directorio /etc/dovecot/conf.d/ /etc/dovecot/conf.d/10-mail.conf: En este archivo se le indicar a dovecot la ruta en la que debe buscar el buzn de los usuarios y, el UID y GID del usuario local a travs del cual se accede al mail (En nuestro caso el usuario vmail). /etc/dovecot/conf.d/10-auth.conf: Antes de que un usuario pueda acceder a su buzn desde el MUA, debe pasar por un proceso de autenticacin con el servidor POP/IMAP. Este archivo permite configurar configurar qu tipo de backends se usarn para usuarios y contraseas. En nuestro caso usaremos LDAP. /etc/dovecot/conf.d/auth-ldap.conf.ext: En este archivo se le indicar a dovecot los parmetros para la bsqueda de usuarios y contraseas en LDAP.

Lo primero que haremos ser usar nicamente los protocolos IMAP y POP. Sin embargo si usted desea solo usar uno de los dos no hay problema.
# nano /etc/dovecot/dovecot.conf

Se descomenta la siguiente lnea y se habilitan nicamente los protocolos IMAP y POP:


... # Protocols we want to be serving. protocols = imap pop3
...

Luego, se configurar la ruta de los buzones de los usuarios y se le indicar a dovecot el usuario del sistema para acceder al correo. Para esto se editar el archivo /etc/dovecot/conf.d/10mail.conf
# nano /etc/dovecot/conf.d/10-mail.conf

Se descomentan y se configuran las siguientes directivas (En color rojo):


... # There are a few special variables you can use, eg.: # # %u - username # %n - user part in user@domain, same as %u if there's no domain # %d - domain part in user@domain, empty if there's no domain # %h - home directory # # See doc/wiki/Variables.txt for full list. Some examples: # # mail_location = maildir:~/Maildir # mail_location = mbox:~/mail:INBOX=/var/mail/%u # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n # # <doc/wiki/MailLocation.txt> # mail_location = maildir:/var/vmail/%n/Maildir ... # System user and group used to access mails. If you use multiple, userdb # can override these by returning uid or gid fields. You can use either numbers # or names. <doc/wiki/UserIds.txt> mail_uid = vmail mail_gid = vmail ...

Explicacin: Cuando un usuario use un cliente (MUA) y se autentique, se buscar su buzn en /var/vmail/%n/Maildir donde %n se reemplaza por el nombre de usuario que compone la direccin de correo electrnico. Por ejemplo, para el usuario elvis (Con direccin de correo elvis@abc.com), DOVECOT buscar su buzn en /var/vmail/elvis/Maildir de esta manera, el usuario puede ver la bandeja de entrada y los dems mensajes de su buzn. El uid y gid es usado para que DOVECOT tenga permisos tanto de lectura como escritura en los buzones de los usuarios. El permiso de lectura es obvio, pero, Para qu necesita DOVECOT tener permisos de escritura sobre el directorio? Sencillo: En caso de que el usuario no tenga creado un buzn, DOVECOT lo crear de manera automtica.

Luego se habilitar el uso de LDAP para la autenticacin de usuarios y se deshabilitar el uso de usuarios locales. Busque el final del archivo y comente la lnea de autenticacin usando usuarios locales y descomente la lnea de autenticacin LDAP.
# nano /etc/dovecot/conf.d/10-auth.conf
# Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. you're connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. disable_plaintext_auth = no ... #!include auth-system.conf.ext #!include auth-sql.conf.ext !include auth-ldap.conf.ext #!include auth-passwdfile.conf.ext #!include auth-checkpassword.conf.ext #!include auth-vpopmail.conf.ext #!include auth-static.conf.ext

En el archivo /etc/dovecot/conf.d/auth-ldap.conf.ext se hace referencia a otro archivo de configuracin que debe crearse /etc/dovecot/dovecot-ldap.conf.ext. Este archivo est en la documentacin de dovecot como ejemplo. Se realiza la bsqueda del archivo y luego se copia en el directorio /etc/dovecot:
# find / -iname "dovecot-ldap.conf.ext" /usr/share/doc/dovecot-2.0.9/example-config/dovecot-ldap.conf.ext # cp /usr/share/doc/dovecot-2.0.9/example-config/dovecot-ldap.conf.ext /etc/dovecot # nano /etc/dovecot/dovecot-ldap.conf.ext ... # Space separated list of LDAP hosts to use. host:port is allowed too. hosts = 127.0.0.1 ... sasl_bind = no ... # Use TLS to connect to the LDAP server. tls = no ... # Use authentication binding for verifying password's validity. This works by # logging into LDAP server using the username and password given by client. # The pass_filter is used to find the DN for the user. Note that the pass_attrs # is still used, only the password field is ignored in it. Before doing any # search, the binding is switched back to the default DN. auth_bind = no ... # LDAP protocol version to use. Likely 2 or 3. ldap_version = 3 ... # LDAP base. %variables can be used here. # For example: dc=mail, dc=example, dc=org base = dc=abc,dc=com

... # Search scope: base, onelevel, subtree scope = subtree ... # User attributes are given in LDAP-name=dovecot-internal-name list. The # internal names are: # uid - System UID # gid - System GID # home - Home directory # mail - Mail location # # There are also other special fields which can be returned, see # http://wiki.dovecot.org/UserDatabase/ExtraFields user_attrs = # Filter for user lookup. Some variables can be used (see # http://wiki.dovecot.org/Variables for full list): # %u - username # %n - user part in user@domain, same as %u if there's no domain # %d - domain part in user@domain, empty if user there's no domain user_filter = (&(objectClass=mailAccount)(mailenable=OK)(uid=%n)) ... # Password checking attributes: # user: Virtual user name (user@domain), if you wish to change the # user-given username to something else # password: Password, may optionally start with {type}, eg. {crypt} # There are also other special fields which can be returned, see # http://wiki.dovecot.org/PasswordDatabase/ExtraFields pass_attrs = uid=user,userPassword=password ... # Filter for password lookups pass_filter = (&(objectClass=mailAcoount)(mailenable=OK)(uid=%n))

Explicacin: El servidor LDAP est en la misma mquina del servidor de correo (127.0.0.1) No se usar SASL ni TLS. La directiva scope subtree indica que la bsqueda de usuarios se realizar a partir la base dentro de todos los contenedores y sub-contenedores. Las bsquedas son annimas, no se requerir la autenticacin con el servidor LDAP (auth_bind) La directiva base indica la base de bsqueda para los usuarios, en este caso ser dc=abc,dc=com. Como muchos de los usuarios que hemos creado son instancias de la clase posixAccount ser necesario borrar los dems atributos de respuesta para dovecot (user_attrs). Ms adelante usaremos el atributa quota. user_filter y pass_filter son las directivas que permiten filtrar las bsquedas de usuarios y passwords, respectivamente. En otras palabras, los usuarios para DOVECOT sern aquellas entradas del directorio que sean instancias de la clase mailAccount, que el correo est habilitado (mailenable=OK) y cuyo uid sea la parte de username del correo electrnico (%n). pass_attrs especifica cules sern las credenciales para autenticarse en el servidor POP/IMAP. En este caso se usar el atributo uid como el login y el atributo userPassword como contrasea.

Por ltimo reiniciamos el servicio para aplicar los cambios:


# service dovecot restart

3.3 Prueba del servidor POP desde la lnea de comandos Para realizar esta prueba ser necesario instalar el cliente telnet.
# yum install telnet

Hacemos un telnet al puerto 110 (POP3). Esto abre una conexin con DOVECOT a travs del puerto 110:
# telnet 127.0.0.1 110 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. +OK Dovecot ready. user mortiz +OK pass BBBbbb111 +OK Logged in.

Como puede verse, el login fue exitoso. Ahora, si queremos revisar los correos podemos usar los comandos del protocolo. Como podemos ver solo se tiene un mensaje sin leer (#1) de 528 bytes. Se usa retr para leer el correo nmero 1.
+OK Dovecot ready. user mortiz +OK pass BBBbbb111 +OK Logged in. list +OK 1 messages: 1 528 retr 1 +OK 528 octets Return-Path: <root@abc.com> X-Original-To: mortiz@abc.com Delivered-To: mortiz@abc.com Received: by ldap.abc.com (Postfix, from userid 0) id EA95664AA4; Mon, 19 Mar 2012 18:54:53 -0500 (COT) Date: Mon, 19 Mar 2012 18:54:53 -0500 To: mortiz@abc.com Subject: mensaje del root para mortiz User-Agent: Heirloom mailx 12.4 7/29/08 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20120319235453.EA95664AA4@ldap.abc.com> From: root@abc.com (root) Hola Mortiz .

Para borrar el primer correo use el comando:


dele 1 +OK Marked to be deleted.

3.4 Prueba del servidor IMAP desde la lnea de comandos Hacemos un telnet al puerto 143 (IMAP). Esto abre una conexin con DOVECOT a travs del puerto 143:
# telnet 127.0.0.1 143 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] Dovecot ready.

Ahora ejecutamos los comandos del protocolo IMAP que se muestran a continuacin:
. login mortiz@abc.com BBBbbb111 . OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in . list "" "*" * LIST (\HasNoChildren) "." "INBOX" . OK List completed. . status INBOX (messages) * STATUS "INBOX" (MESSAGES 2) . OK Status completed. . select INBOX * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted. * 2 EXISTS * 2 RECENT * OK [UNSEEN 1] First unseen. * OK [UIDVALIDITY 1332209614] UIDs valid * OK [UIDNEXT 4] Predicted next UID * OK [HIGHESTMODSEQ 1] Highest . OK [READ-WRITE] Select completed. . fetch 1 (body[header.fields (subject)]) * 1 FETCH (FLAGS (\Seen \Recent) BODY[HEADER.FIELDS (SUBJECT)] {43} Subject: mensaje 1 del root para mortiz ) . OK Fetch completed. . FETCH 3 rfc822.text . BAD Error in IMAP command FETCH: Invalid messageset . fetch 1 rfc822.text * 1 FETCH (RFC822.TEXT {13} Hola Mortiz ) . OK Fetch completed.

. logout

NOTA: Existen muchos ms comandos pero es cuestin del lector indagar sobre ellos, ya que uno de los propsitos de este manual es usar herramientas grficas.

4. CONFIGURACIN DEL CLIENTE DE CORREO GRFICO (MUA)


Ahora que tenemos instalados tres de los agentes de correo electrnico: Postfix (MTA y MDA) y Dovecot (MAA: Servidor POP e IMAP), podemos instalar el cliente de correo (MUA). El MUA que se instalar ser Thunderbird y posteriormente se usar Outlook que viene integrado en la suite ofimtica Microsoft Office. Desde la pgina oficial de Thunderbird se descarg el paquete y luego se instal. Configuracin de Thunderbird:

Como no tenemos servidor DNS configurado, es recomendable realizar la configuracin manual:

El protocolo Entrante usado ser IMAP, que hasta el momento no usar SSL y la autenticacin se realizar en texto plano. La direccin IP de mi servidor IMAP es 192.168.40.103 El protocolo Saliente ser SMTP, que hasta el momento no usar SSL y no se usar autenticacin. Por ltimo se crea la cuenta:

Ya con esto podemos revisar el buzn del usuario mortiz. RECUERDE: Cuando quieres escribir un mensaje, se usa el servidor SMTP para enviarlo. Cuando quiere revisar su correo electrnico (Bandeja de entrada y dems directorios) est usando el protocolo IMAP.

5. CONFIGURACIN DEL SERVIDOR DNS


NOTA: Aunque este es un paso que debe realizarse antes de configurar el cliente, he decidido instalarlo despus solo para que el lector aprenda a configurar el cliente de correo en caso de no tener servidor un DNS.

5.1 Instalacin del servidor DNS Instalar el servidor DNS BIND9 en modo chroot:
# yum install bind-chroot

5.2 Configuracin del servidor DNS Se edita el archivo /etc/named.conf como se muestra a continuacin:
# nano /etc/named.conf
// // // // // // // //

named.conf Provided by Red Hat bind package to configure the ISC BIND named(8) DNS server as a caching only nameserver (as a localhost DNS resolver only). See /usr/share/doc/bind*/sample/ for example named configuration files.

options { listen-on port 53 { 192.168.40.103; }; directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "abc.com"{ type master; file "abc.db"; }; zone "40.168.192.in-addr.arpa"{ type master; file "inversa.db"; }; include "/etc/named.rfc1912.zones";

Todos los archivos (named.ca, abc.db, inversa.db y los de la zona localhost) deben estar en la ruta /var/named/chroot/var/named.
# cd /var/named/ # cp named.ca named.localhost named.loopback named.empty # chown -R named:named * /var/named/chroot/var/named/

Crear los archivos abc.db e inversa.db en el directorio /var/named/chroot/var/named/


# cd /var/named/chroot/var/named/ # nano abc.db $TTL 1D @ IN SOA dns.abc.com hostmaster.abc.com ( 1 ; Serial 10800 ; Refresh despus de tres horas 3600 ; Reintentar despus de una hora 604800 ; Expirar despus de una semana 86400 ) ; TTL(Time to Live) mnimo de un da @ @ @ dns smtp atmail mail ldap imap IN IN IN IN IN IN IN IN IN NS MX 10 A A A CNAME CNAME CNAME CNAME dns.abc.com. smtp.abc.com. 192.168.40.103 192.168.40.103 192.168.40.103 dns dns dns dns

NOTA: Los registros tipo A, atmail y mail, sern usados para los Virtual Hosts que se crearn en el captulo 7, para el acceso a los Webmails.
# nano inversa.db $TTL 1D @ IN SOA dns.abc.com hostmaster.abc.com ( 1 ; Serial 10800 ; Refresh despus de tres horas 3600 ; Reintentar despus de una hora 604800 ; Expirar despus de una semana 86400 ) ; TTL(Time to Live) mnimo de un da @ @ 103 103 103 103 IN IN IN IN IN IN NS MX 10 PTR PTR PTR PTR dns.abc.com. smtp.abc.com. dns.abc.com. smtp.abc.com. atmail.abc.com. mail.abc.com.

Se reinicia el servicio
# service named restart # chkconfig named on

5.3 Prueba del servidor DNS Se configure la mquina para que use nuestro servidor DNS
# nano /etc/resolv.conf domain abc.com

search abc.com nameserver 192.168.40.103

Por ltimo realizamos una prueba con el cliente host:


# host abc.com abc.com has address 192.168.40.103 abc.com mail is handled by 10 smtp.abc.com. # host smtp.abc.com abc.com has address 192.168.40.103 # host smtp.abc.com abc.com has address 192.168.40.103

5.4 Crear una cuenta en thuderbird despus de instalar el servidor DNS La mquina en la que est instalado Thunderbird debe tener como DNS la direccin IP del servidor DNS que acabamos de instalar.

Creacin de la cuenta:

El protocolo Entrante usado ser IMAP, que hasta el momento no usar SSL y la autenticacin se realizar en texto plano. La direccin IP de mi servidor IMAP es 192.168.40.103 El protocolo Saliente ser SMTP, que hasta el momento no usar SSL y no se usar autenticacin. Ya con esto podemos revisar el buzn del usuario mortiz.

Ahora intentemos enviar un correo electrnico de un usuario a otro:

Cuando intento enviar el correo me sale un error:

He querido poner este error en evidencia porque es importante saber identificar los errores en el servidor de correo. Por defecto los registros (logs) de estos errores se guardan en el archivo
/var/log/maillog
# tail /var/log/maillog
Mar 20 15:49:11 srv-centos Mar 20 15:49:12 srv-centos 15238 exit status 1 Mar 20 15:49:12 srv-centos startup -- throttling Mar 20 15:49:12 srv-centos 15247 exit status 1 Mar 20 15:49:12 srv-centos 15250 exit status 1 Mar 20 15:49:12 srv-centos 15252 exit status 1 Mar 20 15:57:51 srv-centos Mar 20 15:57:51 srv-centos Mar 20 15:57:52 srv-centos 15291 exit status 1 Mar 20 15:57:52 srv-centos startup -- throttling postfix/smtpd[15252]: fatal: bad net/mask pattern: "192.168.40.0.0/28" postfix/master[5275]: warning: process /usr/libexec/postfix/smtpd pid postfix/master[5275]: warning: /usr/libexec/postfix/smtpd: bad command postfix/master[5275]: warning: process /usr/libexec/postfix/smtpd pid postfix/master[5275]: warning: process /usr/libexec/postfix/smtpd pid postfix/master[5275]: warning: process /usr/libexec/postfix/smtpd pid postfix/smtpd[15291]: connect from unknown[192.168.40.101] postfix/smtpd[15291]: fatal: bad net/mask pattern: "192.168.40.0.0/28" postfix/master[5275]: warning: process /usr/libexec/postfix/smtpd pid postfix/master[5275]: warning: /usr/libexec/postfix/smtpd: bad command

La lnea indica que comet un error al postfix (mynetworks). En primer lugar no es una direccin IP vlida (5 octetos) y en segundo lugar el prefijo de red debera ser 24 para la configuracin de mi red local.

# nano /etc/postfix/main.cf mynetworks = 192.168.40.0/24, 127.0.0.0/8

Reiniciamos el servicio:
# service postfix restart

Despus de esto s permite enviar el correo:

6. CONFIGURACIN DE LISTAS DE DISTRIBUCIN DE CORREO ELECTRNICO


Las listas de distribucin permiten enviar correos a grupos de usuarios con caractersticas en comn,

por ejemplo: sistemas@abc.com. Cuando un correo electrnico es enviado a esta direccin, el servidor SMTP lo reenva a un grupo de usuarios. La configuracin de listas de correo es una tarea muy sencilla y solo necesitamos crear un nuevo objeto del LDAP y habilitar los alias de correo en Postfix.

6.1 Creacin de objetos mailAlias en LDAP En primer lugar se crear una nueva unidad organizativa llamada listas de correo. Luego dentro de esta unidad organizativa se crear una entrada que sea instancia de las clases mailAlias y mailAccount

El RDN ser el atributo mail=sistemas@abc.com

Luego hacemos uso del atributo maildrop por cada cuenta de correo que queremos que pertenezca a la lista de distribucin. En la siguiente imagen se muestra que existen solo dos cuentas de correo mortiz@abc.com y elvis@abc.com

6.2 Configuracin de listas de correo en postfix Agregar la siguiente lnea al final del archivo main.cf
# nano /etc/postfix/main.cf virtual_alias_maps = ldap:/etc/postfix/maillist.cf

Luego crearemos el archivo maillist.cf


# nano /etc/postfix/maillist.cf server_host = 127.0.0.1 search_base = dc=abc, dc=com query_filter = (&(objectClass=mailAlias)(mail=%s)) result_attribute = maildrop

NOTA: El atributo resultante de la bsqueda ser maildrop, es decir, todas las direcciones de correo pertenecientes a la lista de correo. Una forma rpida de probar es a travs del comando postmap:
# postmap -q sistemas@abc.com ldap:/etc/postfix/maillist.cf mortiz@abc.com,elvis@abc.com

6.2 Prueba de listas de correo desde un cliente (MUA) grfico

Bandeja de entrada de Elvis:

Bandeja de entrada de Mortiz:

7. CONFIGURACIN DE UN WEBMAIL
Un Webmail es un cliente de correo electrnico, que provee una interfaz web para el acceso al correo electrnico. Existen dos Webmails open source muy populares: Roundcube y AtMail Open (sin embargo existen ms). Para este tutorial instalaremos ambos. 7.1 Instalacin y configuracin del servidor Web Apache
# yum install y httpd

Se realizar la configuracin de Virtual Hosting basado en nombres en el servidor apache, ya que existir ms de un sitio Web (Con diferentes nombres de dominio) pero una sola direccin IP. Como repaso, recuerde que para crear un host virtual en distribuciones Red Hat solo es necesario crear un archivo con extensin .conf en el directorio /etc/httpd/conf.d Creamos el host virtual para la aplicacin AtMail Open:
# nano /etc/httpd/conf.d/atmail.conf NameVirtualHost 192.168.40.103:80 <VirtualHost 192.168.40.103:80> ServerName atmail.abc.com DocumentRoot /var/www/html/atmailopen <Directory /var/www/html/atmailopen> AllowOverride none Order allow,deny allow from all </Directory> </VirtualHost>

NOTA DE REPASO: La directiva NameVirtuaHost es usada cada vez que exista ms de un sitio virtual por direccin IP, pero solo debe usarse una vez. Para este ejemplo de configuracin la direccin IP que alojar ms dos sitios ser la interfaz con direccin IP 192.168.40.103, que es una de las direcciones IP del servidor. El otro Host Virtual estar reservado para el Webmail Roundcube. Creamos el host virtual para la aplicacin RoundCube:
# nano /etc/httpd/conf.d/roundcube.conf <VirtualHost 192.168.40.103:80> ServerName mail.abc.com DocumentRoot /var/www/html/roundcube <Directory /var/www/html/roundcube > AllowOverride none Order allow,deny allow from all </Directory>

</VirtualHost>

Se inicia el servicio y se configura para que inicie automticamente luego de que el sistema operativo inicie:
# service httpd start # chkconfig httpd on

NOTA: Ignoramos los warnings, ya que ms adelante crearemos los DocumentRoots

7.2 Instalacin y configuracin de AtMail Open Se descargaron los paquetes estndar para la instalacin de AtMail Open, luego de un bsqueda en google. Para la fecha de creacin de este manual la URL de descarga es: http://atmail.org/download.php AtMail Open est escrito en PHP y se instala como cualquier aplicacin Web que se ha instalado previamente: Se necesita un servidor Web con soporte para PHP. Lo primero ser copiar el archivo comprimido en el DocumentRoot del servidor Web y descomprimir el paquete.
# cp /root/Descargas/atmailopen.tgz /var/www/html # cd /var/www/html # tar xvzf atmailopen.tgz # ls atmailopen/ atmailopen.tgz

Antes de instalarlo leemos las instrucciones de instalacin y los requerimientos previos


# more /var/www/html/atmailopen/README ... Requirements -----------* * * * PHP 5.X recommended ( PHP 4.X supported ) MySQL database server Access to the php.ini to set runtime configuration IMAP4 server to access accounts

Vamos entonces a instalar lo necesario, luego reiniciamos el servidor Web e iniciamos el servidor MySQL:
# yum install php php-mysql mysql mysql-server # service httpd restart # service mysqld start

Nos hace falta algo ms: Configurar el servidor MySQL para que inicie automticamente y correr el script de configuracin inicial de MySQL:
# chkconfig mysqld on

# mysql_secure_installation Enter current password for root (enter for none): ENTER Set root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y

Se crear una base de datos (atmail) y un usuario (atmailuser) que sea el propietario de dicha base de datos:
# mysql u root p Enter password: mysql> CREATE DATABASE atmail; Query OK, 1 row affected (0.00 sec) mysql> CREATE USER atmailuser@'localhost' IDENTIFIED BY 'BBBbbb111'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL ON atmail.* TO atmailuser@localhost; Query OK, 0 rows affected (0.00 sec) mysql> quit

El ltimo paso antes de comenzar la instalacin es configurar al usuario apache como propietario del directorio /var/www/html/atmailopen (Como lo dice el archivo README)
# chown -R apache /var/www/html/atmailopen

Ahora podemos comenzar con la instalacin. Para esto abrimos el navegador y digitamos la URL con el NameServer que hayamos configurado en el VirtualHost para atmailOpen (atmail.abc.com)

Falta instalar las extensiones mbstring y ldap:


# yum install php-mbstring php-ldap

Y editamos el archivo php.ini:


# nano /etc/php.ini ; Maximum allowed size for uploaded files. ; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize upload_max_filesize = 16M ; Maximum size of POST data that PHP will accept. ; http://www.php.net/manual/en/ini.core.php#ini.post-max-size post_max_size = 16M

Cada que se haga un cambio en la configuracin de PHP debe reiniciarse el apache:


# service httpd restart

Nuevamente probamos la instalacin de AtMail y aceptamos los trminos de licencia, hasta que lleguemos a este punto:

Ya lo dems es cuestin de seguir el proceso de instalacin.

7.3 Instalacin y configuracin de Roundcube Se descargaron los paquetes estndar para la instalacin de Roundcube, luego de un bsqueda en google. Para la fecha de creacin de este manual la URL de descarga es:
http://sourceforge.net/projects/roundcubemail/files/roundcubemail/0.7.2/roundcubemail-0.7.2.tar.gz/download

Lo primero ser copiar el archivo comprimido en el DocumentRoot del servidor Web y descomprimir el paquete.
# cp /root/Descargas/roundcubemail-0.7.2.tar.gz /var/www/html # cd /var/www/html # tar xvzf roundcubemail-0.7.2.tar.gz # mv roundcubemail-0.7.2 roundcube # ls atmailopen atmailopen.tgz roundcube roundcubemail-0.7.2.tar.gz

Se crear una base de datos (roundcube) y un usuario (roundcubeuser) que sea el propietario de dicha base de datos:
# mysql -u root -p Enter password: mysql> CREATE DATABASE roundcube; Query OK, 1 row affected (0.00 sec) mysql> CREATE USER roundcubeuser@'localhost' IDENTIFIED BY 'BBBbbb111'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL ON roundcube.* TO roundcubeuser@localhost; Query OK, 0 rows affected (0.00 sec) mysql> quit

El ltimo paso antes de comenzar la instalacin es configurar al usuario apache como propietario del directorio /var/www/html/roundcube (Como lo dice el archivo README)
# chown -R apache /var/www/html/roundcube

Ahora podemos comenzar con la instalacin. Para esto abrimos el navegador y digitamos la URL http://mail.abc.com/installer y luego se instalan las extensiones de PHP necesarias y se edita el archivo PHP.ini Falta instalar la extensin DOM:
# yum install -y php-xml php-mcrypt php-intl

Y editamos el archivo php.ini:


# nano /etc/php.ini [Date] ; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone = America/Bogota

Debe reiniciarse el apache:


# service httpd restart

Existen varias opciones de configuracin que el lector debe estar en capacidad de comprender. Aqu muestro solo las opciones ms relevantes:

Luego se nos pedir que copiemos o descarguemos los archivos main.inc.php y db.inc.php y los peguemos en el directorio /var/www/html/roundcube/config

# cd /root/Descargas/ # cp main.inc.php db.inc.php /var/www/html/roundcube/config

Luego inicializamos la base de datos:

Por el momento no voy a realizar pruebas de conexin con los servidores SMTP e IMAP, entonces procedemos a finalizar la instalacin movisndo el directorio installer:
# mv /var/www/html/roundcube/installer/ /root

Finalmente accedemos con la URL http://mail.abc.com/

Elaborada por: Luis Felipe Londoo Muoz Ajustada por: Luis Felipe Londoo Muoz

Fecha Fecha

18 21

03 03

2011 2012

Vous aimerez peut-être aussi