Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Iredmail

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 6

Hace algun tiempo estuve enfocado en integrar el iredmail con mi directorio activo

en samba 4, siempre me daba diferentes problemas hasta que un dia por suerte lo
logre incluso hasta el ultimo detalle que me interesaba. Cuando lo logre escribi
algunos correos con aclaraciones de lo que habia hecho pero nunca un tuto completo
que es lo que me dispongo a hacer hoy para los que le pueda servir incluso para mi
mismo que se que cuando tenga que volver a hacerlo por alguna razón no me voy a
acordar de lo que hice.

Partiendo de un directorio activo de samba 4.

Dominio abtss.co.cu

Maquina domain.abtss.co.cu

IP de la maquina 10.0.0.1

Servidor de correo iredmail 0.9.7.

IP servidor de correo 10.0.0.5

Para iniciar creamos en el dominio un usuario llamado vmail (no tiene que llamarse
asi necesariamente) con permiso de lectura solamente para las consultas que debe
hacer el servidor de correo.

Desabilitamos algunas configuraciones de iredmail.

# postconf -e virtual_alias_maps=''

# postconf -e sender_bcc_maps=''

# postconf -e recipient_bcc_maps=''

# postconf -e relay_domains=''

# postconf -e relay_recipient_maps=''

Agregamos nuestro dominio en "smtpd_sasl_local_domain" y "virtual_mailbox_domains"

# postconf -e smtpd_sasl_local_domain='abtss.co.cu'

# postconf -e virtual_mailbox_domains='abtss.co.cu'

Cambiamos la configuracion del trasport

# postconf -e transport_maps='hash:/etc/postfix/transport'

Verificamos para SMTP.

# postconf -e
smtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf'

Usamos para verificar los usuarios de correo local.

# postconf -e
virtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf'

Usamos para verificar los grupos de correo local.

# postconf -e virtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf'

Creamos y editamos /etc/postfix/transport. (para este fichero al final voy a poner


una marañita si tienes subdominios)

abtss.co.cu dovecot

Creamos y editamos /etc/postfix/ad_sender_login_maps.cf.

server_host = domain.abtss.co.cu

server_port = 389

version = 3

bind = yes

start_tls = no

bind_dn = vmail@abtss.co.cu

bind_pw = Pass123+

search_base = ou=USUARIOS,dc=abtss,dc=co,dc=cu

scope = sub

query_filter = (&(userPrincipalName=%s)(objectClass=person)(!
(userAccountControl:1.2.840.113556.1.4.803:=2)))

result_attribute= userPrincipalName

debuglevel = 0

Creamos y editamos /etc/postfix/ad_virtual_mailbox_maps.cf

server_host = domain.abtss.co.cu
server_port = 389

version = 3

bind = yes

start_tls = no

bind_dn = vmail@abtss.co.cu

bind_pw = Pass123+

search_base = ou=USUARIOS,dc=abtss,dc=co,dc=cu

scope = sub

query_filter = (&(objectclass=person)(userPrincipalName=%s))

result_attribute= userPrincipalName

result_format = %d/%u/Maildir/

debuglevel = 0

Creamos y editamos /etc/postfix/ad_virtual_group_maps.cf

server_host = domain.abtss.co.cu

server_port = 389

version = 3

bind = yes

start_tls = no

bind_dn = vmail@abtss.co.cu

bind_pw = Pass123+

search_base = ou=USUARIOS,dc=abtss,dc=co,dc=cu

scope = sub

query_filter = (&(objectClass=group)(mail=%s))

special_result_attribute = member

leaf_result_attribute = mail

result_attribute= userPrincipalName

debuglevel = 0

Editamos el fichero /etc/postfix/main.cf


Buscamos en el fichero el fragmento de línea donde está check_policy_service
inet:127.0.0.1:7777 y lo eliminamos.

Ahora pasamos a hacer las comprobaciones de que todo lo configrado esta bien.

Comprobando un usuario del dominio. (Aclaro el usuario debe existir)

# postmap -q user@abtss.co.cu ldap:/etc/postfix/ad_virtual_mailbox_maps.cf

Nos debe devolver.

abtss.co.cu/user/Maildir/

Comprobando un usuario para SMTP. (Aclaro el usuario debe existir)

# postmap -q user@abtss.co.cu ldap:/etc/postfix/ad_sender_login_maps.cf

Nos debe devolver.

user@abtss.co.cu

Comprobando un grupo. (Aclaro el grupo debe existir y tener usuarios que formen
parte de él)

# postmap -q testgroup@abtss.co.cu ldap:/etc/postfix/ad_virtual_group_maps.cf

Nos debe devolver.

member01@abtss.co.cu

member02@abtss.co.cu

Ahora necesitamos editar /etc/dovecot/dovecot-ldap.conf

hosts = domain.abtss.co.cu:389

ldap_version = 3

auth_bind = yes

dn = vmail@abtss.co.cu

dnpass = Pass123+

base = ou=USUARIOS,dc=abtss,dc=co,dc=cu

scope = subtree

deref = never

user_filter = (&(userPrincipalName=%u)(objectClass=person)(!
(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_filter = (&(userPrincipalName=%u)(objectClass=person)(!
(userAccountControl:1.2.840.113556.1.4.803:=2)))

pass_attrs = userPassword=password

default_pass_scheme = CRYPT

user_attrs =
=home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/
%Ln/Maildir/

Para concluir hacemos unos cambios en el fichero del rouncube para poder abrir el
correo via web /opt/www/roundcubemail/config/config.inc.php

De Global LDAP address book para abajo eliminamos todo menos el ultimo ); y lo
reemplazamos.

// Global LDAP address book.

$rcmail_config['ldap_public']["abtss.co.cu"] = array(

'name' => 'Global Address Book',

'hosts' => array("domain.abtss.co.cu"), // <- Set AD hostname or


IP address here.

'port' => 389,

'use_tls' => false, // <- Set to true if you want


to use LDAPS. Change port to 636 on above line too.

// ---- Used to search accounts only in the same domain. ----

'user_specific' => false,

'base_dn' => "ou=USUARIOS,dc=abtss,dc=co,dc=cu", // <- Set base dn in AD

'bind_dn' => "vmail@abtss.co.cu", // <- bind dn

'bind_pass' => "Pass123+", // <- bind password

'writable' => false, // <- Do not allow mail user


write data back to AD.

'ldap_version' => "3",

// ---- Search ----

//'search_fields' => array('displayname', 'userprincipalname', 'sn',


'givenname',), // <- fields to search in
'search_fields' => array('mail', 'cn', 'sAMAccountName', 'displayname', 'sn',
'givenName'),

//'name_field' => 'displayname',

'name_field' => 'cn',

//'email_field' => 'userprincipalname',

'email_field' => 'mail',

'surname_field' => 'sn',

//'firstname_field' => 'givenname',

'firstname_field' => 'givenName',

//'sort' => 'displayname',

'sort' => 'cn',

'scope' => 'sub',

//'filter' => "(&(objectclass=person)(!


(userAccountControl:1.2.840.113556.1.4.803:=2)))",

'filter' => "(mail=*@*)",

'fuzzy_search' => true

Hasta aquí esta el servidor de correo funcionando integrado a nuestro dominio.

En el caso que al igual que yo tengan subdominios para las unidades entonces
tenemos que utilizar del RSAT una herramienta llamada (ADSI Edit) está herramienta
navega por el mapa del dominio viajando desde los CN hasta los OU.

Que hacemos abrimos y vamos hasta lo más bajo, el usuario direccion.aseg entonces
clic derecho propiedades y te permite editar algunas de ellas entre las que te
permite editar userPrincipalName que es la que usa iredmail para el correo,
cambieamos direccion.aseg@abtss.co.cu por direccion@aseg.abtss.co.cu y todo OK.
Desde ese momento la cuenta de correo es direccion@aseg.abtss.co.cu . Ya lo otro es
editar el /etc/postfix/transport. Y agregamos cada unos de los subdominios que
utilizaremos.

abtss.co.cu dovecot

aseg.abtss.co.cu dovecot

sub.abtss.co.cu dovecot

Hasta aquí el tuto. Espero que les sirva a todos.

También podría gustarte