在CentOS 7下建立RoundCube Webmail的環境

roundcube

在前一篇「在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的目錄中。

config

在此選用download的方案,然後把檔案copy到 /etc/roundcubemail 的目錄中:

#scp config.inc.php root@xxx.xxx.xxx.xxx:/etc/roundcubemail (輸入root密碼)

copy完config.inc.php後,接下來在同一個畫面按下「CONTINUE」繼續,會進到下一個初始化資料庫的畫面,如下圖:

init

如圖,請按下「Initialize database」的鍵繼續,若字變成綠色,就代表完成初始化動作,代表已經完成了roundcubemail的安裝動作囉!請連結到你的程式主頁,在還沒設定apache的Virtualhost前,位置為:http://yourip/roundcubemail

roundcubemail

輸入你的帳號密碼,成功登入!

login

最後請記得砍掉安裝目錄!

#rm -rf /usr/share/roundcubemail/installer

並且將/etc/httpd/conf.d/roundcubemail.conf內的install那段mark起來,並重新啟動httpd,即大功告成!

P.S:如果你在登入 Roundcube 後出現了以下的訊息,這是 dovecot 的bug。

bg

請將你的/var/mail目錄中的所有mailbox都chmod 600 *,指令如下:

#chmod 600 /var/mail/*

好了,這樣子就完成初步的Webmail建置,理論上應該可以用囉了!這陣子使用下來發現 Roundcubemail 真的非常好用!後續再來介紹它強大的 Plugin 功能~

 

2 thoughts on “在CentOS 7下建立RoundCube Webmail的環境

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *