1.
若是在dspam 的 web ui retrain 無效的話
記得檢查 /usr/local/bin/dspam 的權限是不是 4555
2.
若是 dspam 的 web ui 出現 500 的話
檢查一下
apache error 看是不是也出現 Premature end of script headers: dspam.cgi
然後檢查一下
dspam web ui 的資料夾是不是放在
/usr/local/www/data/dspam
dspam 預設會放在 /usr/local/www/dspam
但是suexec 是跑 /usr/local/www/data ( 可以下 suexec -V 去檢查路徑 )
所以請將 dspam web ui 放在 /usr/local/www/data 就會動了
要是還是不行的話, 請檢查 /usr/local/lib/perl5/{your_perl_version}/ctime.pl 是不是存在
不在的話就弄一份放到上述位置就行了 ( 主要是因為之前的 dspam.cgi 有 require ctime.pl, 但ctime.pl 忘了在那一版的 perl 已經 deprecated 了. 新的 dspam.cgi 應該不會有這個問題 )
3.
若是發生
Statistical SPAM Protection for 沒有用戶的話
檢查一下 /usr/local/etc/dspam.conf 是不是 644
改成 644 應該就會出現 dspam 了
不然就是 check dspam db 中的 dspam_stats 這個表
是否有 uid 不在系統中的 ~~ 將他刪掉就行了
4.
再不行的話看一下
/var/log/httpd-suexec.log
確認是什麼問題
如果是
cannot run as forbidden uid
就用 suexec -V 看一下
AP_UID_MIN / AP_GID_MIN ( FreeBSD 預設 1000/1000 )
這兩個 ID 是多少
指定的用戶和組要高於上面兩個值
5.
沒有出現圖的話 ~~
確認一下 perl 的版本
要是 5.22 以上的話
因為 cgi.pm 已經被從 core 移除了
所以請裝 /usr/ports/www/p5-CGI.pm
就行了
ref.
http://jianzi0307.blog.163.com/blog/static/20812002007101482635431
安装extmail邮件系统的时候,如果使用/var/www目录,不会出现问题。因为系统默认的apache的suexec的docroot目录是/var/www;
那么,当我们需要修改extmail目录的时候,就要重新编译apache 修改–with-suexec-docroot=/your/path
如果使用自己安装或者lamp套件的时候,例如使用lampp,它suexec的docroot目录是/opt/lampp/htdocs
使用 /opt/lampp/bin/suexec -V 来查看
所以如果修改extmail的目录,还是挺麻烦的:
尽量使用自己编译的apache,编译的时候就要事先指定suexec的docroot目录到你要放置的目录。
而 且还要注意suexec的执行用户,配置虚拟主机SuexecUserGroup的时候,用户和组的UIP和GID要高于suexec默认的 –with-suexec-uidmin –with-suexec-gidmin的UID和GID,不然suexec将被限制使用。
下面摘自张微波的 suexec FAQ
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
关于suexec的FAQ
apache编译支持suexec功能
./configure –enable-suexec –with-suexec-logfile=/www/logs/suexec.log –with-suexec-uidmin=500 –with-suexec-gidmin=100 –with-suexec-caller=daemon –with-suexec-docroot=/www
关于suexec的FAQ
1.出现以下错误 command not in docroot
编译的时候加入–with-suexec-docroot 以后虚拟主机运行suexec的目录必须包含指定的目录里,通过suexec -V 可以察看docroot目录是哪儿
2.出现以下错误 user mismatch (daemon instead of www)
编译的时候加入–with-suexec-caller=daemon 默认是www,但一般apache的运行用户是nobody或者daemon,这里我们是httpd2.2.2,用户是daemon,所以指定这个参数,否则suexec不能被运行。
3.出现以下错误 cannot run as forbidden uid (1001/index.cgi)
在虚拟主机配置SuexecUserGroup时,指定的用户和组,必须高于–with-suexec-uidmin –with-suexec-gidmin 指定的用户uid和gid,否则被限制使用。