设置一个企业级的LinuxPOP3服务器
2009-05-13 01:07:53来源:未知 阅读 ()
一:概述
本文旨在介绍如何使用开放源软件Procmail和Qpopper来设置一台可供企业级客户使用的POP3服务器,同时保证极好的性能和安全性。重点介绍如何设置Procmail和Qpopper利用hashspool目录结构存储用户邮件。
二:步骤
软件环境为RedHatLinux6.2
1.下载最新版的Procmail和Qpopper
Procmail最新版本现在是3.21可从[url=www.procmail.org/procmail-3.21.tar.gz下载。]http://www.procmail.org/procmail-3.21.tar.gz下载。[/url]Qpopper最新版本现在是4.0可从http://www.eudora.com/qpopper_general/下载
2.编译Procmail
假设下载的文件放在/root
#cd/root
#tarxvfzprocmail-3.21.tar.gz
#cdprocmail-3.21
#visrc/authenticate.c
改#defineMAILSPOOLHASH后面的0为2(二级hash目录,改进服务器性能,特别是有大量用户时)
注:这样的话,如果用户的信箱为jephe@domain.com,则文件应存在/usr/mail/j/e/jephe
再改src/autoconf文件,这里我用的mailspool目录为/usr/mail,则
#visrc/autoconf
搜索/usr/mail,改forain/var/spool/mail/usr/spool/mail/var/mail/usr/mail/spool/mail到forain/usr/mail
#make
#makeinstall-suid
然后以root身份运行#procmail-v检查用户的邮件路径是不是/usr/mail/r/o/root。
3.编译Qpopper
假设下载的文件在/root
#cd/root
#tarxvfzqpopper4.0.4.tar.gz
#cdqpopper4.0.4
#vipopper/pop_extend.c
change"IMPLEMENTATION%s%.*s%s-version-%s\r\n"to"IMPLEMENTATION\r\n".
为什么?
因为如果不改的话,用户用telnetserver110命令然后用userusernameandpasspassword命令通过认证后,可以用capa命令得到服务器的qpopper版本号。
##./configure--enable-hash-spool=2 --enable-log-login--enable-server-mode--enable-shy
--enable-spool-dir=/usr/mail--enable-specialauth--enable-temp-drop-dir=/var/spool/cache
--enable-fast-update--disable-check-pw-max--disable-old-spool-loc
note:
你也可以编译成独立运行模式,在上面的编译选项后加上
--enable-standalone即可,这样就不用下面介绍的xinetd中的设置和/etc/inetd.conf中的设置而直接运行了命令行为/usr/local/sbin/popper-S-F-s-c-R-T120
注:--enable-specialauth使用/etc/shadow密码认证
--enable-hash-spool=2用二级hash结构
--enable-spool-dir=/usr/mail则用户信箱文件为/usr/mail/j/e/jephe
关于--enable-fast-update?
如果你的临时spool目录/var/spool/cache所在的分区和mailspool/usr/mail所在的分区不同,则不要用--enable-fast-update,因为不仅你享受不到fast-update模式带来的好处,还会在maillog中留下多余的错误信息。
#make
#makeinstall
你需要在/usr/mail和/var/spool/cache下创建两层hash目录结构,可以写一个script来做。
编辑文件/etc/inetd.conf
注释以pop-3开头的行,然后在后面再添加下面的行:
pop-3streamtcpnowait.400root/usr/local/sbin/popper-F-S-s-c-R-T120
如果是Redhat7.1,则在/etc/xinetd.d下创建文件pop3,包含下面的内容:
servicepop3
{
socket_type=stream
protocol=tcp
wait=no
user=root
server=/usr/local/sbin/popper
server_args=qpopper-S-F-s-c-R-T120
port=110
}
如果你在/etc/hosts.deny中设置了ALL:ALL,则要在/etc/hosts.allow中输入
popper:ALL
另外,在Redhat7中在/etc/xinetd.d下面有个文件ipop3,是默认的pop3服务,你应该删掉这个文件或者注释出该服务。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Linux系统如何设置开机自动运行脚本? 2020-06-11
- awk命令详解 2020-06-10
- 一个骚命令防止你的文件被误删除! 2020-06-08
- 如何监控 Linux 服务器状态? 2020-06-06
- 简单安装配置samba服务器 2020-06-03
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash