萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux IMP Webmail 安裝與常見問題彙整:附件檔名亂碼、並發連線、PHP3/Apache/MySQL 整合

附件檔名亂碼修正 (2000/07/28)

IMP 2.0.11 處理 Outlook 寄出的附件時,下載檔名缺少解碼動作。修正 imp/view.php3:

case DOWNLOAD_ATTACH:
  $mime = new mime_part_data;
  $mime->parse($part);
  // 新增此行:解碼 MIME 編碼的檔名
  $mime->name = chop(decode_mime_string($mime->name));
  header("Content-type: application/RFC822");
  break;

快速安裝步驟

  1. 先裝好 Apache、PHP3、IMAP。
  2. 下載 horde-1.0.10.tar.gz、imp-2.0.11.tar.gz。
  3. tar zxvf horde-1.0.10.tar.gz
    tar zxvf imp-2.0.11.tar.gz
  4. mv horde-1.0.10 /home/httpd/html/horde
    mv imp-2.0.11 /home/httpd/html/horde/imp
  5. cd /home/httpd/html/horde
  6. sh install.sh
  7. 瀏覽器執行 https://your.web.site/horde/setup.php3,按 Next 完成設定。
  8. sh secure.sh 鎖定權限。
  9. 檔案下載鏡結:cnpa.yzu.edu.tw/~stylon/software/imp/

增加 IMAP 並發連線數

編輯 /etc/inetd.conf 的 imap 行:

imap stream tcp nowait.300 ...   # 原 nowait 改為 nowait.300
# 重啟 inetd

實測 45 人同時上線無問題。

Apache 啟用 PHP3

  1. 安裝 mod_php3-3.0.12-1cc.i386.rpm、mod_php3-imap-3.0.12-1cc.i386.rpm(若用 MySQL 再裝 mod_php3-mysql)。
  2. 修改 /etc/httpd/conf/httpd.conf:
    LoadModule php3_module modules/libphp3.so(取消註解)
    AddModule mod_php3.c(取消註解)
  3. 修改 /etc/httpd/conf/srm.conf:
    DirectoryIndex index.html index.shtml index.cgi index.php3
    AddType application/x-httpd-php3 .php3
    AddType application/x-httpd-php3-source .phps
  4. /etc/rc.d/init.d/httpd restart

IMP 使用 MySQL 資料庫(地址簿、簽名檔等)

# 1. 以 root 登入 MySQL
mysql -uroot -p

# 2. 建立資料庫與資料表
CREATE DATABASE imp;
USE imp;
CREATE TABLE imp_addr (user text, address text, nickname text, fullname text);
CREATE TABLE imp_pref (user text, sig text, fullname text, replyto text, lang text);

# 3. 建立專用帳號授權
GRANT ALL ON imp.* TO impuser@localhost IDENTIFIED BY 'your_password';
exit

# 4. 重新執行 setup.php3,第 5-6 步驟啟用資料庫:
# true, mysql, impuser, your_password

# 5. sh secure.sh
# 6. 設定預設語言:編輯 /home/httpd/html/horde/imp/config/defaults.php3
$default->language = 'big5';

重建資料庫

DROP DATABASE imp;
# 再依上述步驟重建

移除語言選擇下拉選單

編輯 imp/config/defaults.php3:

$default->user_change_language = false;
$default->language = 'big5';

/var/tmp 空間不足導致 imapd crash

症狀:IMAP toolkit crash: Out of free storage。
原因:IMP 處理附件使用 /var/tmp,多人同時操作耗盡分區空間。
解決:將 /var/tmp 連結到大分區:

rm -rf /var/tmp   # 確認無其他程式使用
mkdir /home/tmp
cd /var
ln -s /home/tmp tmp
# /tmp 同理可操作

常見安裝失敗排查

  • Fatal error: WebClient is not a class:
    ① 確認 /home/httpd/html/horde/imp 擁有者為 root:root(chown -R root.root)。
    ② 避免使用 imp-2.0.11-big5.tar.gz 等非官方修改版,改用官方版本並自行設定語言。
IMP 安裝關鍵:Apache+PHP3+IMAP 基礎環境、Horde/IMP 目錄結構、setup.php3 逐步設定、secure.sh 權限鎖定、MySQL 整合、語言與暫存目錄調教。
copyright © 萬盛學電腦網 all rights reserved