当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 设置一个企业级的LinuxPOP3服务器

Linux服务器
Linux Samba Server的配置详解
Linux系统下配置功能完善的Web服务器
Linux终端代理的设置方法介绍
Fodera Core 7系统下构建CVS服务器的方法
Linux进入系统时自动设置环境变量的方法
介绍GPG命令加密文件的方法
如何清理Linux系统中不需要的文件
Linux系统中两种替代“花生壳”的办法
Linux下配置 Tomcat+JDK+MySQL应用平台
Linux操作系统下RPM软件包的使用技巧
linux知识:htaccess
linux:.htaccess文件使用教程
Apache [forbidden 403]错误的解决办法
FreeBSD6.1快速安装配置Bugzilla2.22
访问网站403错误 Forbidden解决方法
httpd.conf文件配置详解
Apache中禁止IP段,在httpd.conf中的写法
apache禁止使用IP访问的实现方法
Apache中禁止以目录方式访问的设置
.htaccess学习笔记

Linux服务器 中的 设置一个企业级的LinuxPOP3服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 33 ::
收藏到网摘: n/a


一:概述
本文旨在介绍如何使用开放源软件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目录,改进服务器性能,特别是有大量用户时)

注:这样的话,如果用户的信箱为[email protected],则文件应存在/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服务,你应该删掉这个文件或者注释出该服务。

3.创建POP3用户

你不需要为mail用户分配home目录,也不需要设置其主目录为/usr/mail/j/e(假定用户为jephe),用下面的命令创建用户。

#useraddmailuser1-c"MailUser1"-gmail-d/dev/null-s/bin/false

再可以写一个批命令用chpasswd给每个用户以同样的password.

a.首先用passwd为mailuser1设置密码,假定为"abc123",检查/etc/shadow中的密码,我的机器上"abc123"为$1$G22Plicn$r5.bSe0U7DbaHN7tCevTR/

b.创建一个新文件/tmp/password,每行包括一个用户名:密码,可从/etc/passwd用下面的命令取得cat/etc/passwd|awk-F:'{print$1}'|sed-e's/$/:$$1$G22Plicn$r5.bSe0U7DbaHN7tCevTR\//g'

c.然后运行chpasswd</tmp/password