dspam安装

使用dspam-3.9.1-RC1

参考修改自http://hi.baidu.com/delphiss/blog/item/24da4611395c33fac3ce79c3.html
mysql模式
./configure \
--prefix=/usr/local/dspam \
--with-dspam-home=/var/dspam \
--with-dspam-home-owner=vmail \
--with-dspam-home-group=postdrop \
--with-dspam-mode=2510 \
--with-dspam-owner=vmail \
--with-dspam-group=postfix \
--with-delivery-agent=/usr/sbin/sendmail \
--with-storage-driver=mysql_drv \
--with-mysql-includes=/usr/include/mysql \
--with-mysql-libraries=/usr/lib64/mysql \
--enable-preferences-extension \
--enable-virtual-users \
--enable-daemon \
--enable-debug \
--enable-syslog \
--enable-clamav \
--with-logdir=/var/log/dspam 

注意64为系统用--with-mysql-libraries=/usr/lib64/mysql
最好指定一下prefix,要不文件都飞了找不到
---------------
创建mysql的库和表。

# cd src/tools.mysql_drv
# mysql -u root -p -e "create database dspam"
# mysql -u root -p -e "grant all on dspam.* to dspam@localhost identified by 'passwd123456'"

给 mysql_objects-4.1.sql 和 virtual_users.sql 增加一行内容到最上面:
use dspam;

# mysql -u dspam -p < mysql_objects-4.1.sql
# mysql -u dspam -p < virtual_users.sql

配置----

安装后dspam的配置文件为 /usr/local/etc/dspam.conf,修改之

TrustedDeliveryAgent    /usr/sbin/sendmail
Trust root
Trust vmail
Trust postfix

# spamAction 表示识别为垃圾邮件后的处理,quarantine:扔到隔离区,tag:给邮件Subject增加标记,deliver:直接投递
# quarantine 需要设置 QuarantineAgent
Preference "spamAction=tag"
# spamSubject tag操作的时候给邮件Subject前面增加的字符
Preference "spamSubject=SPAM"
#signatureLocation: dspam给每个识别后的邮件编个号码,将来可以用作重新训练
#'message': 把signature加在邮件正文后面,'headers':把signature加在邮件头里
Preference "signatureLocation=headers" # 'message' or 'headers'
Preference "showFactors=on"

# mysql的设置
MySQLServer             /var/lib/mysql/mysql.sock
MySQLUser               dspam
MySQLPass               passwd123456
MySQLDb                 dspam
MySQLCompress           true

启动 dspam 后台进程:
#/usr/local/dspam/bin/dspam --daemon &
-----------------------------
cat spam01.eml | /usr/local/dspam/bin/dspam --mode=teft --source=corpus --class=spam --feature=noise --user mydspam

训练垃圾邮件
-class=spam 表示训练识别垃圾邮件,训练识别非垃圾邮件则用参数 --class=innocent
--source=corpus 与 --source=error 对应的设置
--user mydspam 训练的user,dspam会自动创建。

dspam提供了一个批量训练邮件的命令:

dspam_train [username] [spam_dir] [nonspam_dir]

username 是训练用的user,spam_dir 和 nonspam_dir 是垃圾邮件和非垃圾邮件存储的目录

操作之后进入mysql
可以看到
select * from dspam_stats;
select * from dspam_token_data;
select * from dspam_virtual_uids;
有数据了



--------------管理页面太麻烦了--------
http://192.168.229.129/dspam/dspam.cgi
一下是注意的地方,具体参考http://hi.baidu.com/delphiss/blog/item/24da4611395c33fac3ce79c3.html
吧,对3.9的版本好使
yum install postfix
cd /etc/postfix
vim master.cf
dspam     unix  -       n       n       -       10      pipe
  flags=Rhqu    user=vmail      argv=/usr/local/dspam/bin/dspam --deliver=innocent --user mydspam -i -f $sender -- $recipient



yum install postfix
yum install pcre
yum install *perl*         perl的html图形等

cp webui/htdocs/dspam-logo-small.gif /var/www/html/
cp webui/htdocs/base.css /var/www/html/
/etc/httpd/conf.d/welcome.conf注释掉里面所有
否则httpd找不到/


----------web配置----------
mkdir /var/www/cgi-bin/dspam
cp -R /opt/backup/open_club_spam_filter/dspam-3.9.1-RC1/webui/cgi-bin/* /var/www/cgi-bin/dspam

vim /etc/httpd/conf.d/welcome.conf
全注释掉
vim /etc/httpd/conf/httpd.conf
#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAlias /dspam "/var/www/cgi-bin/dspam"

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
<Directory "/var/www/cgi-bin/dspam">
Options ExecCGI
Options -Indexes
DirectoryIndex dspam.cgi
AllowOverride All
   Order deny,allow
   Deny from all
   AuthType Basic
   AuthName "DSPAM Control Center"
   AuthUserFile /usr/local/apache2/dspam.pass
   Require valid-user
   Satisfy Any
</Directory>



htpasswd -c /usr/local/apache2/dspam.pass mydspam


dspam_stats -H mydspam

你可能感兴趣的:(nginx,dspam)