设置一个高容量的Linux POP3服务器

身係弎千宠爱他

身係弎千宠爱他

2016-01-29 19:05

设置一个高容量的Linux POP3服务器,设置一个高容量的Linux POP3服务器
  一: 概述 
本文旨在介绍如何使用开放源软件Procmail和Qpopper来配置一台可供大量用户使用的POP3服务器,重点在于如何保持最佳的服务器性能。 
二: 步骤 
软件环境为RedHat Linux 7.1 
1. 下载最新版的Procmail和Qpopper 
Procmail 最新版本现在是3.21 可从
http://www.procmail.org/procmail-3.21.tar.gz下载。 
Qpopper 最新版本现在是4.0 可从
http://www.eudora.com/qpopper_general/下载 
2. 编译Qpopper 
假设下载的文件放在/root
#cd /root 
#tar xvfz qpopper4.0.3.tar.gz 
#cd qpopper4.0.3 
#./configure --enable-hash-spool=2
--enable-log-login
--enable-server-mode
--enable-fast-update
--enable-shy
--enable-spool-dir=/usr/mail
--enable-specialauth 
注释: 
--enable-specialauth 使用/etc/shadow 密码认证 
--enable-hash-spool=2 使用二级hash结构 
--enable-spool-dir=/usr/mail 则用户信箱文件为/usr/mail/j/e/jephe 
--enable-log-login 记录下成功的POP3登录进入syslog 
--enable-server-mode 和 --enable-fast-update
不要让qpopper在用户存取信箱时拷贝信箱文件到临时文件
减少磁盘I/O,增强性能
--enable-shy 让服务器响应时不要显示版本信息,增强安全性 
#make 
#make install 
编辑文件/etc/inetd.conf 
在/etc/xinetd.d下创建文件pop3,包含下面的内容: 
service pop3 

socket_type = stream 
protocol = tcp 
wait = no 
user = root 
server = /usr/local/lib/popper 
server_args = qpopper -F -S -s -c -R -T120 
port = 110 

注释:
-F enable fast update
-S enable server mode (在用户对该服务器没有shell存取时做)
-s 打开LOG功能
-c 忽略用户名的大小写
-R 不对连接进来的IP地址做反向域名检查
-T 设定超时时间
这样设定之后,如果用户jephe收取信件时,则先锁定信箱文件/usr/mail/j/e/jephe创建锁文件.jephe.pop,检查信件数目,退时出更新状态,生成.jephe.cache文件。
否则正常模式下是先把/usr/mail/j/e/jephe拷贝成.jephe.pop,最后用户检查信箱完毕再拷贝回来,增加了I/O处理时间
如果不是redhat 7.1则在/etc/inetd.conf中注释以pop-3开头的行,然后在后面再添加下面的行: pop-3 stream tcp nowait.400 root /usr/local/sbin/popper -F -S -s -c -R -T120
nowait:400中的400是指每分钟最多可接受的连接请求数目 
如果你在/etc/hosts.deny中设置了ALL:ALL,则要在/etc/hosts.allow中输入 
popper:ALL 
3. 编译Procmail 
假设下载的文件放在/root 
#cd /root 
#tar xvfz procmail-3.21.tar.gz 
#cd procmail-3.21 
#vi src/authenticate.c 
改#define MAILSPOOLDIR行后面的/var/spool/mail为 "/usr/mail/" (这里我用的是
/usr/mail) 
改#define MAILSPOOLHASH 后面的0 为 2 (用二级hash目录,改进服务器文件系统性能,特别是有大量用户时)
注:这样的话,如果用户的信箱为jephe@domain.com,则文件应存在
/usr/mail/j/e/jephe 
#mv /var/spool/mail /var/spool/mail.bak 
注:先换名这个目录,因为可能当编译时如果能找到该目录,则优先用该目录及hash层次结构,这样的话将存储用户邮件到文件/var/spool/mail/j/e/jephe.如果你就想用这个目录,就不用改上面的MAILSPOOLDIR行。 
#make 
#make install 
#make install-suid 
然后以root身份运行#procmail -v检查用户的邮件路径确认为/usr/mail/r/o/root。 
4. 创建POP3用户 
你不需要为mail用户分配home目录,也不需要设置其主目录为/usr/mail/j/e (假定用户为jephe),用下面的命令创建用户。 
#useradd jephe -c "Jephe Wu" -g mail -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 
5. FAQ
a. 编译qpopper后,仍需在命令行上使用-F -S参数以启动服务器模式和快速更新,请放-F在-S
展开更多 50%)
分享

猜你喜欢

设置一个高容量的Linux POP3服务器

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
设置一个高容量的Linux POP3服务器

如何使用C#访问POP3服务器

电脑网络
如何使用C#访问POP3服务器

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

一个简单的XML 服务器

Web开发
一个简单的XML 服务器

Foxmail如何设置POP3邮箱

电脑网络
Foxmail如何设置POP3邮箱

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux下Samba服务器的设置

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux下Samba服务器的设置

pop3邮件收取一例

PHP
pop3邮件收取一例

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

正则表达式简介(4)

正则表达式简介(4)

Photoshop教程:神奇分形艺术效果图案的制作

Photoshop教程:神奇分形艺术效果图案的制作
下拉加载更多内容 ↓