linux下编译安装perl
在cpan官网上下载perl的安装包:http://www.cpan.org/src
tar zxvf perl-5.14.0.tar.gz
cd perl-5.14.0
./Configure -des -Dprefix=/usr/local/perl
参数-Dprefix指定安装目录为/usr/local/perl
make
make test
make install
接下来替换系统原有的perl
cd /usr/bin
mv perl perl.bak
ln -s /usr/local/perl/bin/perl /usr/bin/perl
perl -v


This is perl, v5.10.0 built for i686-linux

Copyright 1987-2007, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at [url]http://www.perl.org/[/url], the Perl Home Page.

出现上边的结果表示安装成功了


然后先安装需要的perl模块,先安装cpan模块,可以用这个模块在search.cpan.org上下载perl需要的模块:
perl -MCPAN -e shell
第一次执行的话,会提示安装cpan并要求连接网络下载最新的模块列表.然后就可以安装东西了
cpan[1]> install DBI


SpamAssassin安装
首先在spam官网上下载安装包:http://spamassassin.apache.org/
tar zxvf Mail-SpamAssassin-3.3.1.tar.gz
cd Mail-SpamAssassin-3.3.1
perl Makefile.PL
make
make install
标准的安装步骤就是这样了,但是必需要先安装spam所依赖的perl包才可以安装.
所以执行perl Makefile.PL这一步的时候会提示你缺少的安装包的:
Digest::SHA1
HTML::Parser
Net::DNS
Mail::SPF::Query
IP::Country
Razor2
Net::Ident
IO::Socket::INET6
IO::Socket::SSL
Mail::DomainKeys
Mail::DKIM
DBI
LWP::UserAgent
HTTP::Date
Encode::Detect
由于文章的开始已经安装了perl,并安装了cpan模块,所以可以用cpan来安装这些安装包,对于这些安装包
我是费了好大的劲,因为安装这些包的时候有基本上每个包都是需要依赖的包的,他们依赖的包有些安装了
但是(1)版本不对,这个包就不会安装成功,所以要检查报错信息看是哪个被依赖的包版本过低,去search.cpan.org
这个网站下载编译之后,接着重新回来安装这个包。(2)有些被依赖的包根本就没有被安装,这样的话也
需要在cpan的网站上下载所需要的包,编译安装之后,重新用cpan来安装这个包,(3)还有一种情况是被
依赖的包还依赖别的包,cpan安装的时候要看清楚需要的是哪个包,下载之后一个个安装。只有这些安装包
的依赖关系都解决了,spam需要的安装包才可以完成安装,接着才可以编译sapmassassin。安装的时候一定要有耐心。。。。

关于spamassassin安装之后出错的解决:

报错:spamd:child process [16419] exited or timed out
解决:执行命令sa-update之后可以解决