在CentOS 7下建立RoundCube Webmail的環境
2014-11-05 kevinlinul 宅男天地, 資訊系統
在前一篇「在CentOS 7下建立基本的postfix及dovecot服務」的內容中,並沒有提供讓使用者從自已電腦中寄收郵件的機制~這是因為目前已經很少有人將 email 直接收到自已的電腦中,而是將信件保留在郵件伺服器上,然後用 imap 的協定讀取即可,而 Webmail 的模式又是最多人使用的方式,因為不需要在 Client 端安裝軟體,減少 License 的支出,同時又可減少電腦中毒的問題,所以慢慢有許多人都開始採用 Webmail 的方式收信,而本次介紹的 Roundcube 就是一套以 PHP 開發的 Webmail 套件,並同時支援許多第三方的套件,詳細的訊息可以參考官網:http://roundcube.net/
如果您的主機有安裝 epel repo 來源的話(請參考這篇:【伺服器】安裝完 CentOS 7 的 7 項基本工作),可以直接安裝 Roundcube 的套件,系統會自動將所有相依的 PHP 套件都補上,安裝指令如下:
# yum install -y roundcubemail
預設主程式安裝的位置在 /usr/share/roundcubemail 中,而設定檔是置於 /etc/roundcubemail 目錄中。
採用RPM的安裝版本,預設的安裝路徑是 http://yourip/roundcubemail/installer,而為了安全理由,系統會限制只能從本機上用瀏覽器去執行安裝畫面,所以請先設定 /etc/httpd/conf.d/roundcubemail.conf,設定內容說明如下:
請先將以下兩段內容以#符號註解起來:
#<Directory /usr/share/roundcubemail/> # <IfModule mod_authz_core.c> # # Apache 2.4 # Require local # </IfModule> # <IfModule !mod_authz_core.c> # # Apache 2.2 # Order Deny,Allow # Deny from all # Allow from 127.0.0.1 # Allow from ::1 # </IfModule> #</Directory>
#<Directory /usr/share/roundcubemail/installer/> # <IfModule mod_authz_core.c> # # Apache 2.4 # Require local # </IfModule> # <IfModule !mod_authz_core.c> # # Apache 2.2 # Order Deny,Allow # Deny from all # Allow from 127.0.0.1 # Allow from ::1 # </IfModule> #</Directory>
然後再加入以下兩段的內容,開放讓外部的網路連線進安裝畫面及安裝完成後的主畫面:
<Directory /usr/share/roundcubemail/> Options none AllowOverride Limit Require all granted </Directory>
<Directory /usr/share/roundcubemail/installer> Options none AllowOverride Limit Require all granted </Directory>
install的目錄,官方為了安全的因素,預設是限制只能透過本機端進行安裝,記得安裝完後要把installer的目錄給移除,並且把這段設定檔回復。
儲存後重新啟動您的httpd service:
# systemctl restart httpd.service
然後開啟瀏覽器連結 http://yourip/roundcubemail/installer,畫面如下,一開始是檢查Server的環境:
一般來說通常是php、MySQL的套件及設定沒有問題後就 OK,把畫面拉到最下方,按下「Next」鍵繼續安裝畫面。
接下來的畫面因為都是設定,在此不貼出畫面,改用條列式說明哪些設定參數是必要的。
- product_name:請填寫您自已單位的名稱,中英文都行
- skin_logo:請填入自已單位的logo路徑,這部份是要看系統採用哪一個佈景,預設是larry,/usr/share/roundcubemail/skins/larry/images目錄中,如果是logo.jpg,因為目前沒有設定Apache的Virtualhost,那麼這裡就要填入skins/larry/images/logo.jpg
- Database setup:這裡就是要填入自已資料庫的資訊,請先用phpmyadmin新增一個資料庫,名稱請自行定義,在此範例為:rouncubemailbox,編碼為utf8_unicode_ci
- Database type:請選擇MySQL
- Database server:預設為localhost,如果您的環境都在同一台,就沿用預設值
- Database name:請用剛剛新增的資料庫名稱:roundcubemailbox
- Database username:你可以用phpmyadmin新增一組具有write權限的使用者,在此是demo,所以可以填root
- Database password:資料庫帳號的密碼
- IMAP Settings:IMAP的相關設定
- default_host:填入你這台mail Server的hostname,如果不填的話,預設會是localhost,也可以設定多筆資料,按下「+」即可新增。
這些就是最基本的設定值,完成後將畫面拉到最下方,按下「CREATE CONFIG」鍵後,系統就會生成config的檔案,如下圖所示,但是Roundcubemail比較討厭不會自動生成,所以需要把設定檔下載,或是copy&past到Server的目錄中。
在此選用download的方案,然後把檔案copy到 /etc/roundcubemail 的目錄中:
#scp config.inc.php root@xxx.xxx.xxx.xxx:/etc/roundcubemail (輸入root密碼)
copy完config.inc.php後,接下來在同一個畫面按下「CONTINUE」繼續,會進到下一個初始化資料庫的畫面,如下圖:
如圖,請按下「Initialize database」的鍵繼續,若字變成綠色,就代表完成初始化動作,代表已經完成了roundcubemail的安裝動作囉!請連結到你的程式主頁,在還沒設定apache的Virtualhost前,位置為:http://yourip/roundcubemail
輸入你的帳號密碼,成功登入!
最後請記得砍掉安裝目錄!
#rm -rf /usr/share/roundcubemail/installer
並且將/etc/httpd/conf.d/roundcubemail.conf內的install那段mark起來,並重新啟動httpd,即大功告成!
P.S:如果你在登入 Roundcube 後出現了以下的訊息,這是 dovecot 的bug。
請將你的/var/mail目錄中的所有mailbox都chmod 600 *,指令如下:
#chmod 600 /var/mail/*
好了,這樣子就完成初步的Webmail建置,理論上應該可以用囉了!這陣子使用下來發現 Roundcubemail 真的非常好用!後續再來介紹它強大的 Plugin 功能~