如何将iRedMail Roundcube与Samba4 AD DC集成 - 第12部分

Roundcube是Linux中最常用的Webmail用户代理之一,为最终用户提供了一个现代化的Web界面,可与所有邮件服务进行交互,以便阅读,撰写和发送电子邮件。 Roundcube支持各种邮件协议,包括安全的邮件协议,如IMAPS,POP3S或提交。

在本主题中,我们将讨论如何在iRedMail中使用IMAPS和提交安全端口配置Roundcube,以检索和发送Samba4 AD帐户的电子邮件,如何从浏览器访问iRedMail Roundcube Web界面,并添加网址别名,如何启用Samba4 AD集成全局LDAP通讯簿以及如何禁用某些不需要的iRedMail服务。

要求

  1. 如何在CentOS 7上安装iRedMail,用于Samba4 AD集成
  2. 在CentOS 7上为Samba4 AD集成配置iRedMail

第1步:在Samba4 AD DC中声明域帐户的电子邮件地址

1.为了发送和接收Samba4 AD DC域帐户的邮件,您需要编辑每个用户帐户,并通过从安装了RSAT工具Windows机器打开ADUC工具并将其加入Samba4 ,从而明确地设置邮件归档到正确的电子邮件地址AD如下图所示。

添加电子邮件帐户加入Samba4 AD DC

2.同样,要使用邮件列表,您需要在ADUC中创建组,为每个组添加相应的电子邮件地址,并将适当的用户帐户分配给该组的成员。

将此安装程序创建为邮件列表,Samba4 AD组的所有成员邮箱将接收发往AD组电子邮件地址的邮件。 使用以下屏幕截图作为向Samba4组帐户申报电子邮件的指南,并添加域用户作为组的成员。

确保添加到组中的所有帐户成员都已声明其电子邮件地址。

为Samba4 AD DC创建组管理

将用户添加到组

在此示例中,发送给admins@youcl.lan的所有邮件地址将被该组的每个成员邮箱接收,为“ 域管理员 ”组声明的电子邮件地址。

3.您可以用来声明Samba4AD帐户的电子邮件地址的另一种方法是直接从AD DC控制台中创建一个用户或一组samba-tool命令行,并指定电子邮件地址与--mail-address标志。

使用以下命令语法之一创建指定电子邮件地址的用户:

# samba-tool user add  --mail-address=user_email@domain.tld  --surname=your_surname  --given-name=your_given_name  your_ad_user

创建一个指定电子邮件地址的组:

# samba-tool group add  --mail-address=group_email@domain.tld  your_ad_group

将成员添加到组中:

# samba-tool group addmembers your_group user1,user2,userX

要列出用户或组的所有可用的samba-tool命令字段,请使用以下语法:

# samba-tool user add -h
# samba-tool group add -h

第3步:安全Roundcube Webmail

在修改Roundcube配置文件之前,首先,使用通过egrep过滤器管理的netstat命令列出Dovecot和Postfix收听的套接字,并确保正确安全的端口(适用于IMAPS的993和提交的587)都处于活动状态并启用。

# netstat -tulpn| egrep 'dovecot|master'

5.要在安全的IMAP和SMTP端口上执行Roundcube和iRedMail服务之间的邮件接收和传输,请打开位于/var/www/roundcubemail/config/config.inc.php中的Roundcube配置文件,并确保更改以下行在这种情况下,本地主机,如下面摘录所示:

// For IMAPS
$config['default_host'] = 'ssl://127.0.0.1';
$config['default_port'] = 993;
$config['imap_auth_type'] = 'LOGIN';
// For SMTP
$config['smtp_server'] = 'tls://127.0.0.1';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['smtp_auth_type'] = 'LOGIN';

如果Roudcube安装在远程主机上而不是提供邮件服务(IMAP,POP3或SMTP守护程序)的情况下,强烈建议使用此设置。

6.接下来,不要关闭配置文件,搜索并进行以下小的更改,以便仅通过HTTPS协议访问Roundcube,以隐藏版本号,并自动附加登录网络的帐户的域名接口。

$config['force_https'] = true;
$config['useragent'] = 'Your Webmail'; // Hide version number
$config['username_domain'] = 'domain.tld'

另外,禁用以下插件:通过在以$ config ['plugins']开头的行前添加注释(//)管理密码

一旦登录并验证到域,用户将从连接到Samba4 AD DC的Windows或Linux机器更改其密码。 系统管理员将全局管理域帐户的所有筛选规则。

// $config['plugins'] = array('managesieve', 'password');

8.最后,保存并关闭配置文件,打开浏览器访问Roundcube Webmail,并通过HTTPS协议导航到iRedMail IP地址或FQDN /邮件位置。

第一次访问Roundcube时,由于Web服务器使用的自签名证书,浏览器上应该会显示警报。 接受证书并使用Samba AD帐户凭据登录。

https://iredmail-FQDN/mail

Roundcube Webmail登录

第3步:在Roundcube中启用Samba AD Contacts

9.要将Samba AD Global LD​​AP通讯录配置为出现Roundcube Contacts,请再次打开Roundcube配置文件进行编辑,并进行以下更改:

导航到文件的底部,并标识以“ #全局LDAP通讯簿与AD ”开头的部分,删除其所有内容,直到文件结尾,并将其替换为以下代码块:

# Global LDAP Address Book with AD.
#
$config['ldap_public']["global_ldap_abook"] = array(
'name'          => 'youcl.lan',
'hosts'         => array("youcl.lan"), //  389,
'use_tls'       => false,   //  '3',
'network_timeout' => 10,
'user_specific' => false,
'base_dn'       => "dc=youcl,dc=lan", //    Set base dn in AD
'bind_dn'       => "vmail@youcl.lan",             //  "linux", //  false,               //  array('mail', 'cn', 'sAMAccountName', 'displayname', 'sn', 'givenName'),
// mapping of contact fields to directory attributes
'fieldmap' => array(
'name'        => 'cn',
'surname'     => 'sn',
'firstname'   => 'givenName',
'title'       => 'title',
'email'       => 'mail:*',
'phone:work'  => 'telephoneNumber',
'phone:mobile' => 'mobile',
'department'  => 'departmentNumber',
'notes'       => 'description',
),
'sort'          => 'cn',
'scope'         => 'sub',
'filter' => '(&(mail=*)(|(&(objectClass=user)(!(objectClass=computer)))(objectClass=group)))',
'fuzzy_search'  => true,
'vlv'           => false,   // Enable Virtual List View to more
// efficiently fetch paginated data
// (if server supports it)
'sizelimit'     => '0',     // Enables you to limit the count of
// entries fetched. Setting this to 0
// means no limit.
'timelimit'     => '0',     // Sets the number of seconds how long
// is spend on the search. Setting this
// to 0 means no limit.
'referrals'     => false,   // Sets the LDAP_OPT_REFERRALS option.
// Mostly used in multi-domain Active
// Directory setups
);

在此代码块上替换名称主机base_dnbind_dnbind_pass值。

10.完成所有必要的更改后,保存并关闭文件,登录到Roundcube webmail界面,然后转到通讯录菜单。

所有域名帐户(用户和组)与其指定的电子邮件地址的联系人列表都将被显示在全局通讯簿上。

Roundcube用户联系人列表

第4步:为Roundcube Webmail界面添加别名

11.要访问Roundcube,网址为https://webmail.domain.tld,而不是iRedMail默认提供的旧地址,您需要进行以下更改。

从安装了RSAT工具的加入的Windows机器中,打开DNS管理器,并为iRedMail FQDN添加一个名为webmail的新CNAME记录,如下图所示。

DNS Webmail属性

12.接下来,在iRedMail机器上,打开位于/etc/httpd/conf.d/ssl.conf中的Apache Web服务器SSL配置文件,并更改DocumentRoot指令以指向/ var / www / roundcubemail / system路径。

文件/etc/httpd/conf.d/ssl.conf摘录:

DocumentRoot “/var/www/roundcubemail/”

重新启动Apache守护程序以应用更改。

# systemctl restart httpd

现在,将浏览器指向以下地址,并显示Roundcube界面。 接受自签名证书错误继续登录页面。 从此示例中使用您自己的域名替换domain.tld。

https://webmail.domain.tld

第5步:禁用iRedMail未使用的服务

14.由于iRedMail守护进程配置为查询Samba4 AD DC LDAP服务器的帐户信息和其他资源,因此可以通过发出以下命令来安全地停止和禁用iRedMail机器上的某些本地服务,例如LDAP数据库服务器和iredpad服务。

# systemctl stop slapd iredpad
# systemctl disable slapd iredpad

另外,如下图所示,通过在crontab文件中的每行之前添加注释(#) ,禁用iRedMail执行的某些计划任务,例如LDAP数据库备份和iRedPad跟踪记录。

# crontab -e

禁用iRedMail任务

第6步:在Postfix中使用邮件别名

16.要将所有本地生成的邮件(发往postmaster并随后重定向到root帐户)重定向到特定的Samba4 AD帐户,请打开位于/ etc / postfix / aliases中的Postfix别名配置文件,并修改root行,如下所示:

root: 	your_AD_email_account@domain.tld

17.应用别名配置文件,以便Postfix可以通过执行newaliases命令以其自己的格式读取它,并测试邮件是否通过发出以下命令发送到正确的域电子邮件帐户。

# echo “Test mail” | mail -s “This is root’s email” root

18.邮件发送完毕后,请使用您为邮件重定向设置的域帐户登录Roundcube webmail,并验证先前发送的邮件应该在您的帐户收件箱中收到。

验证用户邮件

That'all! 现在,您有一个完整的邮件服务器与Samba4 Active Directory集成。 域帐户可以为其内部域或其他外部域发送和接收邮件。

本教程中使用的配置可以成功应用于将iRedMail服务器集成到Windows Server 2012 R2或2016 Active Directory。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏