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 服务。

要求

如何在 CentOS 7 上安装 iRedMail,用于Samba4 AD集成

在 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 创建组管理员

将用户添加到组

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

3、 你可以声明 Samba4 AD 帐户的电子邮件地址的另一种方法是直接从其中一个 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

第二步:安全 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'      => "vmail@tecmint.lan",

  '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,

);

在这段代码中替换相应的name、hosts、base_dn、bind_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:  your_AD_email_account@domain.tld

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年的经验。

via:https://www.tecmint.com/integrate-iredmail-roundcube-with-samba4-ad-dc/

作者:Matei Cezar译者:geekpi校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容