Linux中國

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 工具顯式地在郵箱欄位填寫正確的地址。

Add Email Account to Join Samba4 AD DC

添加郵箱帳戶來加入 Samba4 AD DC

2、 相似地,要使用郵件列表,你需要在 ADUC 中創建組,為每個組添加相應的電子郵件地址,並分配合適的用戶帳戶作為每個組的成員。

這步創建了一個郵件列表,所有 Samba4 AD 組成員的郵箱都會收到給這個 AD 組郵箱地址的郵件。使用下面的截圖作為指導為 Samba4 組聲明電子郵件欄位,並為組添加域成員。

確保所有的域賬戶成員都添加到了聲明了郵件地址的組中。

Create Group Admin for Samba4 AD DC

為 Samba4 AD DC 創建組管理員

Add Users to Group

將用戶添加到組

在本例中,發送給 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 Login

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,
);

在這段代碼中替換相應的 namehostsbase_dnbind_dnbind_pass 的值。

10、 做了所需修改後,保存並關閉文件,登錄 Roundcube webmail 界面,並進入地址簿菜單。

所有域名帳戶(用戶和組)與其指定的電子郵件地址的聯繫人列表都將被顯示在全局地址簿上。

Roundcube User Contact List

Roundcube 用戶聯繫人列表

第四步:為 Roundcube Webmail 界面添加一個別名

11、 要從 https://webmail.domain.tld 訪問 Roundcube 而不是從 iRedMail 默認提供的舊地址,你需要進行以下更改。

在已安裝 RSAT 工具的已加入的 Windows 機器上打開 DNS 管理器,並如下所示,添加一條 iRedMail FQDN、named webmail 的 CNAME 記錄。

DNS Webmail Properties

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

Disable iRedMail Tasks

禁用 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,並驗證先前發送的郵件應該在你的帳戶收件箱中。

Verify User Mail

驗證用戶郵件

就是這樣了!現在你已經有了一個完全工作的與 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中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國