从CentOS 5.2安装ClamAV 0.93.3(+ Sendmail集成)
作者:Ioan Ungureanu
server@ro-design.net
注意:此操作是指在运行CentOS 5.2和sendmail的Linux服务器上安装和配置Clamav 0.93.3(来源)。
我们假设您从发行版的rpm包中安装了sendmail和sendmail-devel
如果不只是运行命令:
yum install sendmail sendmail-devel
因为我们需要libmilter,所以sendmail-devel包不是可选的。 如果我们不安装sendmail-devel,我们必须处理错误消息libmilter不foud,所以我们避免启动这样一个停止错误。
从源安装ClamAV-0.93.3
我们首先需要创建用户和组:
groupadd clamav
useradd -g clamav clamav
我们将更改用户clamav
的密码; 出于安全考虑,这不是真的必要的,但建议选择一个复杂的密码,安装后就不需要记住了; 作为一个安全规则,假设在/ etc / passwd
用户clamav中
有/ sbin / nologin
作为shell环境,如下所示,其中uid和gid是为clamav用户分配的用户标识和组ID。
cat /etc/passwd |grep 'clamav'
clamav:x:uid:gid::/home/clamav:/sbin/nologin
passwd clamav
我们为守护进程和存储的日志创建下一个工作目录:
mkdir /var/clamav
chown clamav:root /var/clamav
mkdir /var/log/clamav/
chown clamav:root /var/log/clamav/
mkdir /usr/local/share/clamav
chown clamav:clamav /usr/local/share/clamav
现在从镜像下载ClamAV 0.93.3源代码(我们使用heatnet作为镜像,如果缓慢或没有响应,您可以从中选择另一个镜像):
wget http://dl.sourceforge.net/sourceforge/clamav/clamav-0.93.3.tar.gz
tar xzvf clamav-0.93.3.tar.gz
cd clamav-0.93.3
./configure –disable-clamuko –enable-milter –with-dbdir=/usr/local/share/clamav
基本上,在Red Hat基础上,当尝试编译clamav时,我们看到与zlib不兼容的错误。 您有选择安装zlib和zlib-devel包
yum install zlib zlib-devel
如果有错误,如configure:error:安装的zlib版本可能包含一个安全漏洞。 请升级到1.2.2或更高版本: http : //www.zlib.net 。 您可以使用-disable-zlib-vcheck省略此检查,但请不要报告任何稳定性问题!
我们写命令:
yum update zlib zlib-devel
获取错误的机会仍然存在,因此可以安全运行:
./configure –disable-clamuko –enable-milter –with-dbdir=/usr/local/share/clamav –disable-zlib-vcheck
运行后,对于这两种情况:
make
make install
我们需要一个名为clamav.conf的文件。 我们在/ etc中
编辑它:
vi /etc/clamav.conf
写下列几行:
#/etc/clamav.conf LogTime LogSyslog LogFile /var/log/clam/clamd.log PidFile /var/run/clam/clamd.pid LocalSocket /var/run/clam/clamd.sock FixStaleSocket MaxThreads 50 ThreadTimeout 600 MaxDirectoryRecursion 15 FollowFileSymlinks SelfCheck 600 User clamav ScanMail ScanArchive ArchiveMaxFileSize 10M #file max size in Megabytes for archived scaned files.You can modify this to suit your purposes ArchiveMaxRecursion 5 ArchiveMaxFiles 1000
保存并关闭文件。
现在告诉你的启动脚本来加载ClamAV守护进程:
echo “/usr/local/sbin/clamd” >> /etc/rc.d/rc.local
echo “/usr/local/sbin/clamav-milter -l -o -q /var/milter/clmilter.sock” >> /etc/rc.d/rc.local
cp /etc/clamav.conf /usr/local/etc/
touch /var/log/clam-update.log
chown clamav:clamav /var/log/clam-update.log
touch /tmp/clamd.log
chown clamav:root /tmp/clamd.log
mkdir /var/milter
chown clamav:root /var/milter/
cd /usr/local/etc/
我们在目录/ etc中
修改一些配置文件[你可以下载/使用我使用的文件]
cd /etc
wget ftp://ftp.ro-design.net/pub/clamd.conf
wget ftp://ftp.ro-design.net/pub/freshclam.conf
mkdir /var/lib/clamav
chown clamav:root /var/lib/clamav/
/usr/local/bin/freshclam -l /var/log/clam-update.log
cp /usr/local/sbin/clamd /etc/init.d/
/etc/init.d/clamd restart
在文件/etc/mail/sendmail.mc中
添加行:
INPUT_MAIL_FILTER(`clmilter’,`S=local:/var/milter/clmilter.sock, F=, T=S:4m;R:4m’) dnl define(`confINPUT_MAIL_FILTERS’, `clmilter’) m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
/etc/init.d/sendmail restart
crontab -e
添加以下行:
# we will update the database used by Clamav antivirus daily, twice 0 2,13 * * * /usr/local/bin/freshclam –quiet -l /var/log/clam-update.log
最后:
/etc/rc.d/rc.local
对于任何问题或麻烦,您可以联系我: server@ro-design.net