由於最近在策畫變更內部的 Mail Server,進行一連串的 LAB 測試
Webmail 原本由 OpenWebmail 進行擔任,但 openwebmail 在 2006 年最後一次更新後就不在進行維護,所以希望把他換掉,經過這一陣子的評選搜尋後發現近期 roundcubemail 很紅,並且介面非常的親民,符合內部需求。
簡單介紹一下優選 Roundcube 的幾個優缺點
Roundcube 其實算是很完善的一個 Webmail,本身加入了 Ajax 可以讓滑鼠搬移信件,安裝簡單,並且畫面做得不錯,雖然是 OpenSouree 但開發團隊非常的用心在經營。
有幾點是 MIS 必須要特別注意的,Roundcube 僅支援 IMAP + SMTP
支援的Database : mssql、mysql、mysql5、postgres、sqllite
執行效能 ? 這點還未從網路上的搜尋找到實例上的分享,之後若是有機會上線後再跟大家分享。
再來就是環境需求,Roundcube 對 Server 的需求是比較高的,可以參考 Howto_Requirements
在這之前你可能必須要先了解一下這篇文章的執行環境
套件: Postfix + Dovecot + Roundcube + mysql + httpd
Protocol : smtp + sasl + TLS (25) / pop3s (995) / imaps (995)
Auth : ldap + file
以下示範的設定請自行斟酌調整
安裝 Roundcube
step.1 下載 roundcube 可以有兩種方式
1). 到 Roundcube 官網下載 最新版本,但其他所需套件必須自行安裝。
2). 使用 epel repo 來 yum install roundcubemail,這會連帶將所有相依性的套件都進行安裝。
安裝方式看自己的需求為準,epel 有可能會為你安裝許多不需要的套件如 ldap、sasl .. 等等,可以按照自己的環境所需選擇
因為 epel 裝的套件比較符合小弟的環境需求,所以直接執行 epel 安裝
shell# yum install --enablerepo=epel roundcubemail
epel install Roundcube list
====================================================================
Package Arch Version Repository Size
====================================================================
Installing:
roundcubemail noarch 1.0.3-1.el6 epel 3.4 M
Installing for dependencies:
aspell x86_64 12:0.60.6-12.el6 base 648 k
libicu x86_64 4.2.1-9.1.el6_2 base 4.9 M
libmcrypt x86_64 2.5.8-9.el6 epel 96 k
php-intl x86_64 5.3.3-40.el6_6 updates 73 k
php-ldap x86_64 5.3.3-40.el6_6 updates 41 k
php-mcrypt x86_64 5.3.3-3.el6 epel 19 k
php-pear-Auth-SASL noarch 1.0.6-1.el6 epel 16 k
php-pear-Mail-Mime noarch 1.8.4-1.el6 epel 40 k
php-pear-Mail-mimeDecode noarch 1.5.5-1.el6 epel 17 k
php-pear-Net-IDNA2 noarch 0.1.1-3.el6 epel 24 k
php-pear-Net-SMTP noarch 1.6.1-1.el6 epel 22 k
php-pear-Net-Sieve noarch 1.3.3-1.el6 epel 19 k
php-pear-Net-Socket noarch 1.0.10-1.el6 epel 12 k
php-pspell x86_64 5.3.3-40.el6_6 updates 31 k
Updating for dependencies:
php x86_64 5.3.3-40.el6_6 updates 1.1 M
php-cli x86_64 5.3.3-40.el6_6 updates 2.2 M
php-common x86_64 5.3.3-40.el6_6 updates 527 k
php-gd x86_64 5.3.3-40.el6_6 updates 109 k
php-mbstring x86_64 5.3.3-40.el6_6 updates 458 k
php-mysql x86_64 5.3.3-40.el6_6 updates 84 k
php-pdo x86_64 5.3.3-40.el6_6 updates 78 k
php-process x86_64 5.3.3-40.el6_6 updates 42 k
php-xml x86_64 5.3.3-40.el6_6 updates 106 k
step.2 預設裝起來 roundcubemail 的路徑是在 /usr/share/roundcubemail,小弟習慣將程式都放在 home 內
shell# mv /usr/share/roundcubemail /home/roundcube 先把權限搞定,wiki有提到temp、logs必須要有 w 的權限 shell# chown apache.apache -R /home/roundcube shell# chmod 700 /home/roundcube/logs /home/roundcube/temp
step.3 再來建立 roundcube 資料庫
shell# mysql -u root -p sql> CREATE DATABASE roundcube; sql> GRANT ALL PRIVILEGES ON roundcube.* TO roundcube_USER@localhost IDENTIFIED BY 'roundcube_PWD'; sql> FLUSH PRIVILEGES;
step.4 安裝好後 roundcube 會自動建立 httpd 設定檔 /etc/httpd/conf.d/roundcubemail.conf
這邊可以自行調整,預設頁面是 http://ServerName/roundcube
檢查 roundcubemail.conf 設定 shell# vim /etc/httpd/conf.d/roundcubemail.conf 重啟 httpd 服務 shell# service httpd restart
step.5 到這裡 Roundcube 的環境就已經建立好了,再來用內建的 installer 來一步一步完成設定吧!
網頁 installer : http://ServerName/roundcube/installer
installer 會幫助你進行一連串的測試,測試的範圍包含他所有可能支援的套件,同一類型的套件可以只選擇一種即可,如 MySQL
在下一步後,針對幾個細項設定介紹
product_name 這個 webmail 的名稱 support_url 技術支援頁面,可有可無,會有一個 Link 幫你連結 skin_logo 預設是 roundcube Logo temp_dir temp的位置,記得要有 w 權限 log_dir logs的位置,記得要有 w 權限 -----Database settings----- (這邊必須預先建立好資料庫再讓 roundcube 去建 table) Database type: 選擇你資料庫的種類 Database server: 資料庫的IP位置 Database name: 資料庫名稱 Database user name: 資料庫使用者 Database password: 資料庫密碼 db_prefix: table的表頭命名 -----IMAP Settings----- default_host: SSL://mailserver.com (IMAP IP,範例有使用SSL加密) default_port: 993 (SSL port 993) username_domain: 這是提供驗證使用, ldap不需要所以為空 ex:登入帳號eric, 會自動幫你帶eric@domain, 適合需要加domain的帳號 -----SMTP Settings----- smtp_server: TLS://mailserver.com (SMTP IP,範例使用TLS加密) smtp_port: 25 smtp_user/smtp_pass: (如果必須驗證請輸入帳密,也可勾選與IMAP相同帳密)
step.6 Next 後會按照你剛剛給的設定建立設定檔 roundcube/config/config.inc.php
按 CONTINUE 後開始建立
step.7 再來請點選 Database initializer 開始初始化資料庫建立 table
並且看到提示
DB Schema: OK
DB Write: OK
DB Time: OK
step.8 在各項都測試OK之後,最後兩項最重要的測試,就是 SMTP & IMAP Test,這邊可以幫你驗證設定是否正確,是一個很棒的測試工具。
step.9 測試都 OK 之後,打開 webmail 網址確認可不可以登入
登入頁 http://ServerName/roundcubemail
登入後
到這邊 roundcube 建立已經大功告成。
這邊在小弟的環境中還必須調整 domain,因為在 default_host 這一格預設會變成使用者 sender address
舉例:
default_host = mail.sz.com
eric 登入後預設 address = eric@mail.sz.com
但 … mail.sz.com 並不是我的 domain 呀!! 這只是我 mail server 的位置
我要的 domain 應該是 sz.com
好了,這在預設的 config.inc.php 是不會幫你進行設定的
但你可以看到 default.inc.php 有一項 $config[‘mail_domain’] 是有 support 的唷!!
但預設這個設定是空值,所以會帶入 default_host
只要在 config.inc.php 或 default.inc.php 加入以下
$config[‘mail_domain’] = ‘sz.com’;
這樣之後登入的就會預設帶入 eric@sz.com 囉 (在設定 mail_domain 之前的只好到設定裡面手動更改啦!! )
這篇主要為安裝的部分,roundcube 還支援 ldap 通訊錄、多domain 等等功能。
參考資料:
其他資料:
CentOS 6.5 -LDAP PAM 整合驗證 Postfix + Dovecot
Postfix SMTP + Dovecot 加密 SSL / TLS