Squirrelmail webmail 安裝設定

目前 Open Source 上的 webmail 種類不少,而商業版本的也不在少數,而筆者選擇了 squirrelmail 這個 webmail ,一來它的架構單純、系統回複快速、容易架設與維護、無須 SQL server 、與標準的 mail server 相容度高,mail 系統轉移上快速單純、操作簡便直覺、有為數不少的 modules 可供使用,多國語系、 另外一個大重點就是其架構單純程式碼十分容易閱讀,維護修改起來十分方便。squirrelmail 採 apache + PHP 模組,移植性高且 PHP 開發者為數眾多,十分有利於日後的發展。

目前 debian 收錄的 squirrelmail 版本序號為 1.2.5-1 ,目前發行版本的 squirrelmail 在中文上還有一些 小毛邊有待修正,幸好 squirrelmail 架構簡潔,筆者簡單的閱讀了 source code 花費了約四個小時的工作時數, 將部份的中文問題解決,剩下的只是翻譯上的問題,十分容易處理。這個部份就期待有心人士自行處理了。 以下開始筆者將一步一步的帶領大家安裝這小巧可愛的 squirrelmail。

Figure 25-16. squirrelmail webmail 快照

squirrelmail 安裝

############################################
#
# 簡單的安裝與初步的體驗
# 設定 squirrelmail 連接遠端的 mail server 
# 英文介面
# 
############################################
$ apt-get install poppassd      # 安裝 poppassd
$ apt-get install squirrelmail  # 安裝 squirrelmail
$ /etc/squirrelmail/conf.pl    # 設定 squirrelmail
2-2 IMAP Server : rmote-IP
2-6 SMTP Server : rmote-IP
輸入 R 回到主畫面
輸入 S 存檔
輸入 Q 離開
$ mozilla http://127.0.0.1/squirrelmail/  # 啟動 mozilla 看信


############################################
#
# 設定 squirrelmail 以 local 機器為 mail server
# 設定語系為 zh_TW 與 Big5 (繁體中文與大五碼) 
# 你將發現部份有中文部份英文,未完全中文化
# 
############################################
$ /etc/squirrelmail/conf.pl    # 設定 squirrelmail
1-5 Default Language zh_TW
輸入 R 回到主畫面
2-1 Domain  local-domain # 填寫主機名稱
2-2 IMAP Server local-IP # 127.0.0.1
2-6 SMTP Server local-IP # 127.0.0.1
輸入 R 回到主畫面
4-1 Default Charset big5
輸入 R 回到主畫面
6-2 Use Javascript Address Book Search : true
輸入 R 回到主畫面
8 Installed Plugins (ALL)
輸入 R 回到主畫面
輸入 S 存檔
輸入 Q 離開
$ mozilla http://127.0.0.1/squirrelmail/  # 如果你已經開啟了 mozila 直接登出登入就可以了
                                          # 無須再次執行 mozilla 

############################################
#
# 修正翻譯檔,編輯翻譯檔,轉換 PO 成為 MO 檔案
# 你將會發現,大部份都正確,少部份還是有問題如左上角「星?」
# 日曆部份中文有問題
# 
############################################
$ cd /usr/share/squirrelmail/locale/zh_TW/LC_MESSAGES
$ mkdir bak ; cp * bak
$ cat squirrelmail.po  | grep -v '#, fuzzy' > tmp.po
$ msgfmt -o tmp.mo tmp.po ; cp tmp.mo squirrelmail.mo
$ mozilla http://127.0.0.1/squirrelmail/  # 如果你已經開啟了 mozila 直接登出登入就可以了
                                          # 無須再次執行 mozilla 


############################################
#
# 修正左上角「星?」=>「星期日」
# 
############################################
$ cd /usr/share/squirrelmail/
$ edit src/left_main.php                   
# $clk = substr( getDayName( date( 'w', time() ) ), 0, 6 ) . date( ', ' . $hr, time() );
# 第 267 行 將 3 改成 6
# 在 mozilla 直接登入登出,看看是否修正成功

############################################
#
# 修正日曆下方,月份的下拉式選單 「十?」
# 
############################################
$ cd /usr/share/squirrelmail/
$ edit plugins/calendar/functions.php      
# $is = substr( _( date('F',mktime(0,0,0,$i,1,1)) ), 0, 6 );
# 第 125 行將 3 改成 6
# 在 mozilla 直接重複點選日曆,看看是否修正成功


############################################
#
# 修正日曆上方,左右兩側月份將英文改成中文
# 
############################################
$ cd /usr/share/squirrelmail/
$ edit plugins/calendar/calendar.php line 42 46
#         date_intl( 'F', $prev_date). "</a></th>\n".
# 第 42 行將 M 改成 F
#         date_intl( 'F', $next_date) . "&nbsp;&gt;</a></th>".
# 第 46 行將 M 改成 F
# 在 mozilla 直接重複點選日曆,看看是否修正成功


############################################
#
# 修正日曆模組當日行事曆中文問題
# 
############################################
$ cd /usr/share/squirrelmail/
$ edit plugins/calendar/day.php
#"         <TR><TH WIDTH=\"12%\" ALIGN=LEFT><A HREF=\"day.php?yea
# 第 30 行將 5 改成 12 拉大行寬

#          date_intl('l',$prev_date)."</A></TH>\n" .
# 第 31 行將 D 改成 l , 將上方左側英文改成中文

#          date_intl('l',$next_date)."&nbsp;&gt;</A></TH></TR>\n";
# 第 35 行將 D 改成 l , 將上方右側英文改成中文
# 在 mozilla 直接重複點選日曆的日期部份,看看是否修正成功


############################################
#
# 修正 mail box 與 mail 檔頭,星期部份錯誤
# 
############################################
$ cd /usr/share/squirrelmail/
$ edit functions/date.php line 167
# $ret = str_replace( '$1', substr( getDayName( date( 'w', $stamp ) ), 0, 6 ), $ret );
# 第 167 行將 3 改成 6
# 在 mozilla 直接重複點選收夾件夾部份,看看是否修正成功


############################################
#
# 安裝提供使用者自行更改密碼的 plugins
#
############################################
$ cd /usr/share/squirrelmail/plugins
$ wget ftp://IP/pub/webmail/change_pass.1.3-1.0.1.tar.gz  # 下載 change_pass.1.3-1.0.1.tar.gz   
$ tar xvfz change_pass.1.3-1.0.1.tar.gz                   # 解壓縮 
$ /etc/squirrelmail/conf.pl                               # 重新設定 squirrelmail
8-1 13. change_pass                                       # 將 change_pass 加入模組
# 在 mozilla 下直接點選個人化設定,在網頁的最下方你將會看到更改個人密碼的選項,請自行測試看看


############################################
#
# 已知問題
#
############################################
如果你想利用現成的 mail server 幫忙寄信,而將 squirrelmail 純粹當成 outlook 使用,
則你要留心對方 mail server 要幫你作信件 relay 。另外可能無法使用 change_pass 這個
功能。