如何在Samba4 AD中集成iRedMail Roundcube
Roundcube 是 Linux 中最常用的 Webmail 用戶代理之一,它為終端用戶提供了一個(gè)現(xiàn)代化的 Web 界面,它可以與所有郵件服務(wù)進(jìn)行交互,以便閱讀、撰寫和發(fā)送電子郵件。Roundcube 支持各種郵件協(xié)議,包括安全的郵件協(xié)議,如IMAPS、POP3S 或者 submission。
在本文中,我們將討論如何在 iRedMail 中使用 IMAPS 以及 submission 安全端口配置 Roundcube,以檢索和發(fā)送 Samba4 AD 帳戶的電子郵件、如何從瀏覽器訪問 iRedMail Roundcube Web 界面,并添加網(wǎng)址別名、如何啟用 Samba4 AD 集成全局 LDAP 地址簿以及如何禁用某些不需要的 iRedMail 服務(wù)。
要求
- 如何在 CentOS 7 上安裝 iRedMail,用于Samba4 AD集成
- 在 CentOS 7 上配置 iRedMail,用于 Samba4 AD 集成
***步:在 Samba4 AD DC 中聲明域帳戶的電子郵件地址
1、 為了發(fā)送和接收 Samba4 AD DC 域賬戶的郵件,您需要編輯每個(gè)用戶帳戶,如下所示,通過從安裝了 RSAT 工具的 Windows 機(jī)器并且已經(jīng)加入 Samba4 AD 中打開 ADUC 工具顯式地在郵箱字段填寫正確的地址。
添加郵箱帳戶來加入 Samba4 AD DC
2、 相似地,要使用郵件列表,你需要在 ADUC 中創(chuàng)建組,為每個(gè)組添加相應(yīng)的電子郵件地址,并分配合適的用戶帳戶作為每個(gè)組的成員。
這步創(chuàng)建了一個(gè)郵件列表,所有 Samba4 AD 組成員的郵箱都會(huì)收到給這個(gè) AD 組郵箱地址的郵件。使用下面的截圖作為指導(dǎo)為 Samba4 組聲明電子郵件字段,并為組添加域成員。
確保所有的域賬戶成員都添加到了聲明了郵件地址的組中。
為 Samba4 AD DC 創(chuàng)建組管理員
將用戶添加到組
在本例中,發(fā)送給 admins@tecmint.lan 的所有郵件地址將被該組的每個(gè)成員郵箱接收,它是 “Domain Admins” 組聲明的電子郵件地址。
3、 你可以聲明 Samba4 AD 帳戶的電子郵件地址的另一種方法是直接從其中一個(gè) AD DC 控制臺(tái)使用 samba-tool 命令行創(chuàng)建一個(gè)用戶或組,并使用 --mail-address 標(biāo)志指定郵件地址。
使用下面其中一個(gè)命令創(chuàng)建一個(gè)指定郵件地址的用戶:
- # samba-tool user add --mail-address=user_email@domain.tld --surname=your_surname --given-name=your_given_name your_ad_user
創(chuàng)建一個(gè)指定郵件地址的組:
- # samba-tool group add --mail-address=group_email@domain.tld your_ad_group
將成員添加到組中:
- # samba-tool group addmembers your_group user1,user2,userX
使用下面的語法列出 samba-tool 中有關(guān)用戶或者組的命令字段:
- # samba-tool user add -h
- # samba-tool group add -h
第二步:安全 Roundcube Webmail
4、 開始修改 Roundcube 配置文件之前,首先使用 netstat 命令管道輸出給 egrep 過濾器來列出 Dovecot 和 Postfix 監(jiān)聽的套接字,并確保安全端口(IMAPS 是 993,submission 是 587 )是活躍的并且已啟用。
- # netstat -tulpn| egrep 'dovecot|master'
5、 要強(qiáng)制郵件的接收和發(fā)送在使用安全的 IMAP 和 SMTP 端口的 Roundcube 以及 iRedMail 服務(wù)之間,打開位于 /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';
這步強(qiáng)烈建議在遠(yuǎn)程主機(jī)中安裝 Roudcube,而不是提供了郵件服務(wù)的主機(jī)中(IMAP、POP3 或者 SMTP 守護(hù)進(jìn)程)。
6、 接下來,不要關(guān)閉配置文件,搜索并做如下小的修改以便 Roundcube 能夠通過 HTTPS 協(xié)議訪問、隱藏版本號以及自動(dòng)為登錄 Web 界面的帳戶追加域名。
- $config['force_https'] = true;
- $config['useragent'] = 'Your Webmail'; // Hide version number
- $config['username_domain'] = 'domain.tld'
7、 同樣,禁用下面的插件:managesieve 和 password,通過在以 $config[‘plugins’] 開頭的行前添加注釋 //。
一旦登錄并驗(yàn)證了域,用戶將從連接到 Samba4 AD DC 的 Windows 或 Linux 機(jī)器上更改密碼。系統(tǒng)管理員將全局管理域帳戶的所有篩選規(guī)則。
- // $config['plugins'] = array('managesieve', 'password');
8、 ***,保存并關(guān)閉配置文件,并打開瀏覽器訪問 Roundcube Webmail,通過 HTTPS 協(xié)議進(jìn)入 iRedMail IP 地址或者 FQDN/mail 位置。
由于瀏覽器使用的是自簽名證書,所以你***訪問 Roundcube 會(huì)在瀏覽器上看到一個(gè)警告。接受證書并用 Samba AD 帳戶憑證登錄。
- https://iredmail-FQDN/mail
Roundcube Webmail 登錄
第三步:在 Roundcube 中啟用 Samba AD 聯(lián)系人
9、 要配置 Samba AD 全局 LDAP 地址簿以在 Roundcube 聯(lián)系人中顯示,再次打開 Roundcube 配置文件,并做如下修改:
到達(dá)文件的底部,并辨認(rèn)以 # Global LDAP Address Book with AD 開頭的部分,刪除到文件底部的所有內(nèi)容,并替換成如下代碼段:
- # 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,
- );
在這段代碼中替換相應(yīng)的 name、hosts、base_dn、bind_dn 和 bind_pass 的值。
10、 做了所需修改后,保存并關(guān)閉文件,登錄 Roundcube webmail 界面,并進(jìn)入地址簿菜單。
所有域名帳戶(用戶和組)與其指定的電子郵件地址的聯(lián)系人列表都將被顯示在全局地址簿上。
Roundcube 用戶聯(lián)系人列表
第四步:為 Roundcube Webmail 界面添加一個(gè)別名
11、 要從 https://webmail.domain.tld 訪問 Roundcube 而不是從 iRedMail 默認(rèn)提供的舊地址,你需要進(jìn)行以下更改。
在已安裝 RSAT 工具的已加入的 Windows 機(jī)器上打開 DNS 管理器,并如下所示,添加一條 iRedMail FQDN、named webmail 的 CNAME 記錄。
DNS Webmail 屬性
12、 接下來,在 iRedMail 機(jī)器中,打開位于 /etc/httpd/conf.d/ssl.conf 的 Apache Web 服務(wù)器的 SSL 配置文件,將 DocumentRoot 指向 /var/www/roundcubemail/。
修改 /etc/httpd/conf.d/ssl.conf 片段:
- DocumentRoot “/var/www/roundcubemail/”
重啟 Apache 使更改生效。
- # systemctl restart httpd
13、 現(xiàn)在打開下面的地址,Roundcube 界面應(yīng)該會(huì)顯示出來。接受自簽名證書錯(cuò)誤以進(jìn)入登錄頁面。用你自己的域名替換例子中的 domain.tld。
- https://webmail.domain.tld
第五步:禁用 iRedMail 未使用的服務(wù)
14、 由于 iRedMail 守護(hù)進(jìn)程配置為查詢 Samba4 AD DC LDAP 服務(wù)器的帳戶信息和其他資源,因此可以通過使用以下命令來安全地停止和禁用 iRedMail 機(jī)器上的某些本地服務(wù),例如 LDAP 數(shù)據(jù)庫服務(wù)器和 iredpad 服務(wù)。
- # systemctl stop slapd iredpad
- # systemctl disable slapd iredpad
15、 另外,如下圖所示,通過在 crontab 文件中的每行之前添加注釋 #,禁用 iRedMail 執(zhí)行的某些計(jì)劃任務(wù),例如 LDAP 數(shù)據(jù)庫備份和 iRedPad 跟蹤記錄。
- # crontab -e
禁用 iRedMail 任務(wù)
第六步:在 Postfix 中使用郵件別名
16、 要將所有本地生成的郵件(發(fā)往 postmaster 并隨后重定向到 root 帳戶)重定向到特定的 Samba4 AD 帳戶,請打開位于 /etc/postfix/aliases 中的 Postfix 別名配置文件,并修改 root 行,如下所示:
- root: your_AD_email_account@domain.tld
17、 應(yīng)用別名配置文件,以便 Postfix 可以通過執(zhí)行 newaliases 命令以其自己的格式讀取它,并測試郵件是否通過發(fā)出以下命令發(fā)送到正確的域電子郵件帳戶。
- # echo “Test mail” | mail -s “This is root’s email” root
18、 郵件發(fā)送完畢后,請使用你為郵件重定向設(shè)置的域帳戶登錄 Roundcube webmail,并驗(yàn)證先前發(fā)送的郵件應(yīng)該在你的帳戶收件箱中。
驗(yàn)證用戶郵件
就是這樣了!現(xiàn)在你已經(jīng)有了一個(gè)完全工作的與 Samba4 AD 集成的郵件服務(wù)器了。域帳戶可以用它們的內(nèi)部或者其他外部域發(fā)送和接收郵件了。
本教程中使用的配置可以成功將 iRedMail 服務(wù)器集成到 Windows Server 2012 R2 或 2016 AD 中。