Samba 系列(十二):如何在 Samba4 AD 中集成 iRedMail Roundcube

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

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

要求

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

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

1、 为了发送和接收 Samba4 AD DC 域账户的邮件,您需要编辑每个用户帐户,如下所示,通过从安装了 RSAT 工具的 Windows 机器并且已经加入 Samba4 AD 中打开 ADUC 工具显式地在邮箱字段填写正确的地址。

添加邮箱帐户来加入 Samba4 AD DC

2、 相似地,要使用邮件列表,你需要在 ADUC 中创建组,为每个组添加相应的电子邮件地址,并分配合适的用户帐户作为每个组的成员。

这步创建了一个邮件列表,所有 Samba4 AD 组成员的邮箱都会收到给这个 AD 组邮箱地址的邮件。使用下面的截图作为指导为 Samba4 组声明电子邮件字段,并为组添加域成员。

确保所有的域账户成员都添加到了声明了邮件地址的组中。

为 Samba4 AD DC 创建组管理员

将用户添加到组

在本例中,发送给 [email protected] 的所有邮件地址将被该组的每个成员邮箱接收,它是 “Domain Admins” 组声明的电子邮件地址。

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

使用下面其中一个命令创建一个指定邮件地址的用户:

# samba-tool user add  [email protected]  --surname=your_surname  --given-name=your_given_name  your_ad_user

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

# samba-tool group add  [email protected]  your_ad_group

将成员添加到组中:

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

使用下面的语法列出 samba-tool 中有关用户或者组的命令字段:

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

第二步:安全 Roundcube Webmail

4、 开始修改 Roundcube 配置文件之前,首先使用 netstat 命令管道输出给 egrep 过滤器来列出 Dovecot 和 Postfix 监听的套接字,并确保安全端口(IMAPS 是 993,submission 是 587 )是活跃的并且已启用。

# netstat -tulpn| egrep 'dovecot|master'

5、 要强制邮件的接收和发送在使用安全的 IMAP 和 SMTP 端口的 Roundcube 以及 iRedMail 服务之间,打开位于 /var/www/roundcubemail/config/config.inc.php 的 Roundcube 配置文件并确保你修改过了下面的行,本例中是 localhost,如下片段所示:

// 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、 接下来,不要关闭配置文件,搜索并做如下小的修改以便 Roundcube 能够通过 HTTPS 协议访问、隐藏版本号以及自动为登录 Web 界面的帐户追加域名。

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

7、 同样,禁用下面的插件:managesieve 和 password,通过在以 $config[‘plugins’] 开头的行前添加注释 //

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

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

8、 最后,保存并关闭配置文件,并打开浏览器访问 Roundcube Webmail,通过 HTTPS 协议进入 iRedMail IP 地址或者 FQDN/mail 位置。

由于浏览器使用的是自签名证书,所以你首次访问 Roundcube 会在浏览器上看到一个警告。接受证书并用 Samba AD 帐户凭证登录。

https://iredmail-FQDN/mail

Roundcube Webmail 登录

第三步:在 Roundcube 中启用 Samba AD 联系人

9、 要配置 Samba AD 全局 LDAP 地址簿以在 Roundcube 联系人中显示,再次打开 Roundcube 配置文件,并做如下修改:

到达文件的底部,并辨认以 # Global LDAP Address Book with AD 开头的部分,删除到文件底部的所有内容,并替换成如下代码段:

# Global LDAP Address Book with AD.
#
$config['ldap_public']["global_ldap_abook"] = array(
  'name'          => 'tecmint.lan',
  'hosts'         => array("tecmint.lan"),
  'port'          => 389,
  'use_tls'       => false,
  'ldap_version'  => '3',
  'network_timeout' => 10,
  'user_specific' => false,
  'base_dn'       => "dc=tecmint,dc=lan",
  'bind_dn'       => "[email protected]",
  'bind_pass'     => "your_password",
  'writable'      => false,
  'search_fields' => array('mail', 'cn', 'sAMAccountName', 'displayname', 'sn', 'givenName'),
  '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,
  'sizelimit'     => '0',
  'timelimit'     => '0',
  'referrals'     => false,
);

在这段代码中替换相应的 namehostsbase_dnbind_dn 和 bind_pass 的值。

10、 做了所需修改后,保存并关闭文件,登录 Roundcube webmail 界面,并进入地址簿菜单。

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

Roundcube 用户联系人列表

第四步:为 Roundcube Webmail 界面添加一个别名

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

在已安装 RSAT 工具的已加入的 Windows 机器上打开 DNS 管理器,并如下所示,添加一条 iRedMail FQDN、named webmail 的 CNAME 记录。

DNS Webmail 属性

12、 接下来,在 iRedMail 机器中,打开位于 /etc/httpd/conf.d/ssl.conf 的 Apache Web 服务器的 SSL 配置文件,将 DocumentRoot 指向 /var/www/roundcubemail/

修改 /etc/httpd/conf.d/ssl.conf 片段:

DocumentRoot “/var/www/roundcubemail/”

重启 Apache 使更改生效。

# systemctl restart httpd

13、 现在打开下面的地址,Roundcube 界面应该会显示出来。接受自签名证书错误以进入登录页面。用你自己的域名替换例子中的 domain.tld。

https://webmail.domain.tld

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

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

# systemctl stop slapd iredpad
# systemctl disable slapd iredpad

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

# crontab -e

禁用 iRedMail 任务

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

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

root:   [email protected]

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

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

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

验证用户邮件

就是这样了!现在你已经有了一个完全工作的与 Samba4 AD 集成的邮件服务器了。域帐户可以用它们的内部或者其他外部域发送和接收邮件了。

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


我是一个电脑上瘾的家伙,开源和基于 linux 的系统软件的粉丝,在 Linux 发行版桌面、服务器和 bash 脚本方面拥有大约4年的经验。


文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/211445.html<

(0)
管理的头像管理
上一篇2025-04-10 09:51
下一篇 2025-04-10 09:52

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注