Genial ,gracias por compartir .

 

Saludos.

De: Arnel González Rodríguez [mailto:dir.informat...@abtss.co.cu] 
Enviado el: jueves, 11 de julio de 2019 10:42 a.m.
Para: 'Lista cubana de soporte técnico en Tecnologias Libres'
Asunto: [Gutl-l] Integrar Iredmail a Samba4 (Tuto completo)

 

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 detalleque 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         = vm...@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.11
3556.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         = vm...@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         = vm...@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 u...@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 u...@abtss.co.cu ldap:/etc/postfix/ad_sender_login_maps.cf 
Nos debe devolver.
u...@abtss.co.cu

 

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

# postmap -q testgr...@abtss.co.cu
ldap:/etc/postfix/ad_virtual_group_maps.cf 
Nos debe devolver.
membe...@abtss.co.cu
membe...@abtss.co.cu

 

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

hosts           = domain.abtss.co.cu:389

ldap_version    = 3

auth_bind       = yes

dn              = vm...@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.11
3556.1.4.803:=2)))

pass_filter     =
(&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.11
3556.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'       => "vm...@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.a...@abtss.co.cu por
direcc...@aseg.abtss.co.cu y todo OK. Desde ese momento la cuenta de correo
es direcc...@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.

 

 

 

_______________________________________________
Gutl-l mailing list -- gutl-l@listas.jovenclub.cu
To unsubscribe send an email to gutl-l-le...@listas.jovenclub.cu

Reply via email to