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