- 浏览: 4335094 次
- 性别:
- 来自: 湛江
博客专栏
-
SQLite源码剖析
浏览量:79439
-
WIN32汇编语言学习应用...
浏览量:68419
-
神奇的perl
浏览量:101543
-
lucene等搜索引擎解析...
浏览量:281288
-
深入lucene3.5源码...
浏览量:14620
-
VB.NET并行与分布式编...
浏览量:65620
-
silverlight 5...
浏览量:31339
-
算法下午茶系列
浏览量:45234
文章分类
最新评论
-
yoyo837:
counters15 写道目前只支持IE吗?插件的东西是跨浏览 ...
Silverlight 5 轻松开启绚丽的网页3D世界 -
shuiyunbing:
直接在前台导出方式:excel中的单元格样式怎么处理,比如某行 ...
Flex导出Excel -
di1984HIT:
写的很好~
lucene入门-索引网页 -
rjguanwen:
在win7 64位操作系统下,pygtk的Entry无法输入怎 ...
pygtk-entry -
ldl_xz:
http://www.9958.pw/post/php_exc ...
PHPExcel常用方法汇总(转载)
一、简介
Qmail的特点
- 安全性 为了验证Qmail的安全性,Qmail的支持者甚至出资$1000悬赏寻找Qmail的安全漏洞,一年以后,该奖金没有被领取,而被捐献给自由软件基金会。目前,Qmail的作者也出资$500来寻求Qmail的安全漏洞。
- 速度:Qmail在一个中等规模的系统可以投递大约百万封邮件,甚至在一台486一天上能处理超过10万封邮件,起支持并行投递。Qmail支持邮件的并行投递,同时可以投递大约20封邮件。目前邮件投递的瓶颈在于SMTP协议,通过STMP向另外一台互联网主机投递一封电子邮件大约需要花费10 多秒钟。Qmail的作者提出了QMTP(Quick Mail Transfer Protocol)来加速邮件的投递,并且在Qmail中得到支持。Qmail的设计目标是在一台16M的机器上最终达到每天可以投递大约百万级数目的邮件。
- 可靠性:为了保证可靠性,Qmail只有在邮件被正确地写入到磁盘才返回处理成功的结果,这样即使在磁盘写入中发生系统崩溃或断电等情况,也可以保证邮件不被丢失,而是重新投递。
- 特别简单的虚拟域管理,甚至有一个第三方开发的称为vpopmail的add-on来支持虚拟POP域。使用这个软件包,POP3用户不需要具有系统的正式帐户。
- 使用ezmlm支持用户自控制的邮件列表功能。
- 邮件用户和系统帐户隔离,为用户提供邮件帐户不需要为其设置系统帐户,从而增加了安全性。
Qmail是一种可以完全替代Sendmail-binmail体系的新一代Unix邮件系统.Qmail与Sendmail比起来有很多特性,包括:
安全----Qmail将Mail处理过程分为多个过程,尽力避免用root用户运行.同时Qmail禁止对特权用户(root,deamon等)直接发 信.
可靠----Qmail的直接投递保证Email在投递过程中不会丢失.Qmail同时支持新的更可靠的信箱格式Maildir,保证系统在 突然崩溃情况下不至破坏整个信箱.
高效----在运行于奔腾的BSD/OS上,Qmail每天可以轻松的投递200000封信件.
简单----Qmail要比其他的Internet Mail系统小得多.Qmail通过统一的向前机制完成forwarding,alias和maillist等功能,Qmail使用简单高效队列来处理投递.Qmail-smtpd可以由inetd启动,节省了一定资源.
Qmail支持: host and user masquerading
full host hiding
virtual domains
null clients
list-owner rewriting
relay control
double-bounce recording
arbitrary RFC 822 address lists
cross-host mailing list loop detection
2.2 所需资源
2.2.1 所需包
qmail-1.03.tar.gz Qmail基本系统包
ucspi-tcp-0.88.tar.gz tcpserver等服务程序
daemontools-0.70.tar.gz 监视工具
checkpassword-0.90.tar.gz pop3验证用户程序
vpopmail-4.9.8.tar.gz 虚拟域用户pop3支持
vqsignup-0.4 web方式用户注册
sqwebmail-1.2.4.tar.gz webmail
qmailadmin-0.42.tar.gz 虚拟域web方式管理
ezmlm-0.53.tar.gz 邮件列表管理
autorespond-1.0.0.tar.gz 自动回复程序
2.2.2 下载网址
http://www.qmail.org
http://www.inter7.com/qmail
二、下载qmail
root@ubuntu-sdp:/opt# wget http://cr.yp.to/software/qmail-1.03.tar.gz
--2010-02-10 09:13:06-- http://cr.yp.to/software/qmail-1.03.tar.gz
Resolving cr.yp.to... 131.193.36.21
Connecting to cr.yp.to|131.193.36.21|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 220668 (215K) [application/x-gzip]
Saving to: `qmail-1.03.tar.gz'
100%[===================================================================================>] 220,668 115K/s in 1.9s
2010-02-10 09:13:09 (115 KB/s) - `qmail-1.03.tar.gz' saved [220668/220668]
root@ubuntu-sdp:/opt# tar -xf qmail-1.03.tar.gz
三、查看glibc版本号
root@ubuntu-sdp:/opt# cd qmail-1.03
root@ubuntu-sdp:/opt/qmail-1.03# dpkg -l|grep libc6
ii libc6 2.10.1-0ubuntu16 GNU C Library: Shared libraries
ii libc6-dev 2.10.1-0ubuntu16 GNU C Library: Development Libraries and Hea
ii libc6-i686 2.10.1-0ubuntu16 GNU C Library: Shared libraries [i686 optimi
大于2.3.1因此必须下载补丁
root@ubuntu-sdp:/opt/qmail-1.03# cd ..
root@ubuntu-sdp:/opt# wget http://djbware.csi.hu/patches/qmail-1.03.errno.patch
--2010-02-10 09:18:51-- http://djbware.csi.hu/patches/qmail-1.03.errno.patch
Resolving djbware.csi.hu... 141.225.8.55
Connecting to djbware.csi.hu|141.225.8.55|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1303 (1.3K) [text/plain]
Saving to: `qmail-1.03.errno.patch'
100%[===================================================================================>] 1,303 --.-K/s in 0.005s
2010-02-10 09:18:52 (261 KB/s) - `qmail-1.03.errno.patch' saved [1303/1303]
安装补丁
root@ubuntu-sdp:/opt# patch -p0 < qmail-1.03.errno.patch
patching file qmail-1.03/cdb_seek.c
patching file qmail-1.03/dns.c
patching file qmail-1.03/error.3
patching file qmail-1.03/error.h
root@ubuntu-sdp:/opt#
四、下载0.0.0.0补丁
root@ubuntu-sdp:/opt# wget http://suspectclass.com/~sgifford/qmail/qmail-0.0.0.0.patch
--2010-02-10 09:35:39-- http://suspectclass.com/~sgifford/qmail/qmail-0.0.0.0.patch
Resolving suspectclass.com... 208.20.225.101
Connecting to suspectclass.com|208.20.225.101|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.suspectclass.com/~sgifford/qmail/qmail-0.0.0.0.patch [following]
--2010-02-10 09:35:40-- http://www.suspectclass.com/~sgifford/qmail/qmail-0.0.0.0.patch
Resolving www.suspectclass.com... 208.20.225.101
Connecting to www.suspectclass.com|208.20.225.101|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: /sgifford/qmail/qmail-0.0.0.0.patch [following]
--2010-02-10 09:35:42-- http://www.suspectclass.com/sgifford/qmail/qmail-0.0.0.0.patch
Connecting to www.suspectclass.com|208.20.225.101|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 450 [text/plain]
Saving to: `qmail-0.0.0.0.patch'
100%[===================================================================================>] 450 --.-K/s in 0.002s
2010-02-10 09:35:43 (283 KB/s) - `qmail-0.0.0.0.patch' saved [450/450]
安装补丁
root@ubuntu-sdp:/opt# patch -p0 <qmail-0.0.0.0.patch
patching file qmail-1.03/ipme.c
root@ubuntu-sdp:/opt#
五、SMTP认证补丁
root@ubuntu-sdp:/opt# wget http://members.elysium.pl/brush/qmail-smtpd-auth/dist/qmail-smtpd-auth-0.31.tar.gz
--2010-02-10 09:39:20-- http://members.elysium.pl/brush/qmail-smtpd-auth/dist/qmail-smtpd-auth-0.31.tar.gz
Resolving members.elysium.pl... 212.106.4.50
Connecting to members.elysium.pl|212.106.4.50|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8798 (8.6K) [application/x-gzip]
Saving to: `qmail-smtpd-auth-0.31.tar.gz'
100%[===================================================================================>] 8,798 12.9K/s in 0.7s
2010-02-10 09:39:22 (12.9 KB/s) - `qmail-smtpd-auth-0.31.tar.gz' saved [8798/8798]
deepfuture@ubuntu-sdp:/opt$ sudo tar -xf qmail-smtpd-auth-0.31.tar.gz
[sudo] password for deepfuture:
deepfuture@ubuntu-sdp:/opt$ cd qmail-smtpd-auth-0.31
deepfuture@ubuntu-sdp:/opt/qmail-smtpd-auth-0.31$ ls
auth.patch base64.c base64.h CHANGES README.auth
deepfuture@ubuntu-sdp:/opt/qmail-smtpd-auth-0.31$ sudo cp base64.h base64.c auth.patch ../qmail-1.03/
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo patch <auth.patch
patching file Makefile
patching file TARGETS
patching file qmail-smtpd.8
patching file qmail-smtpd.c
六、qmail-queue队列补丁
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ cd ..
deepfuture@ubuntu-sdp:/opt$ sudo wget http://www.qmail.org/qmailqueue-patch
--2010-02-10 10:39:23-- http://www.qmail.org/qmailqueue-patch
Resolving www.qmail.org... 192.203.178.37
Connecting to www.qmail.org|192.203.178.37|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2510 (2.5K) [message/rfc822]
Saving to: `qmailqueue-patch'
100%[===================================================================================>] 2,510 --.-K/s in 0s
2010-02-10 10:39:26 (89.8 MB/s) - `qmailqueue-patch' saved [2510/2510]
deepfuture@ubuntu-sdp:/opt$ cd qmail-1.03
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo patch -p1 <../qmailqueue-patch
patching file Makefile
Hunk #1 succeeded at 1487 (offset 4 lines).
patching file qmail.c
七、建立qmail安装目录
deepfuture@ubuntu-sdp:/opt$ sudo mkdir /var/qmail
八、进入源代码目录,增加用户,进行安装并配置域名
deepfuture@ubuntu-sdp:/var$ cd /opt/qmail-1.03
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ ls
addresses.5 coe.3 fd_move.3 maildir.c qmail-inject.8 remoteinfo.c subfdouts.c
alloc.3 coe.c fd_move.c maildir.h qmail-inject.c remoteinfo.h subgetopt.3
alloc.c coe.h fifo.c maildirmake.1 qmail-limits.9 REMOVE.binmail subgetopt.c
alloc.h commands.c fifo.h maildirmake.c qmail-local.8 REMOVE.sendmail subgetopt.h
alloc_re.c commands.h fifo_make.3 maildirwatch.1 qmail-local.c scan_8long.c substdi.c
auth.patch condredirect.1 FILES maildirwatch.c qmail-log.5 scan.h substdio.c
auto_break.h condredirect.c find-systype.sh mailsubj.1 qmail-lspawn.8 scan_ulong.c substdio_copy.c
auto-gid.c conf-break fmt.h mailsubj.sh qmail-lspawn.c SECURITY substdio.h
auto-int8.c conf-cc fmtqfn.c make-compile.sh qmail-newmrh.9 seek_cur.c substdo.c
auto-int.c conf-groups fmtqfn.h Makefile qmail-newmrh.c seek_end.c SYSDEPS
auto_patrn.h config-fast.sh fmt_str.c Makefile.orig qmail-newu.9 seek.h TARGETS
auto_qmail.h config.sh fmt_strn.c make-load.sh qmail-newu.c seek_set.c tcp-env.1
auto_spawn.h conf-ld fmt_uint0.c make-makelib.sh qmail-pop3d.8 seek_trunc.c tcp-env.c
auto_split.h conf-patrn fmt_uint.c mbox.5 qmail-pop3d.c select.h1 tcp-environ.5
auto-str.c conf-qmail fmt_ulong.c myctime.c qmail-popup.8 select.h2 tcpto.c
auto-uid.c conf-spawn forgeries.7 myctime.h qmail-popup.c SENDMAIL tcpto_clean.c
auto_uids.h conf-split fork.h1 ndelay.c qmail-pw2u.9 sendmail.c tcpto.h
auto_usera.h conf-users fork.h2 ndelay.h qmail-pw2u.c sgetopt.3 TEST.deliver
base64.c constmap.c forward.1 ndelay_off.c qmail-qmqpc.8 sgetopt.c TEST.receive
base64.h constmap.h forward.c newfield.c qmail-qmqpc.c sgetopt.h THANKS
binm1+df.sh control.c gen_allocdefs.h newfield.h qmail-qmqpd.8 sig_alarm.c THOUGHTS
binm1.sh control.h gen_alloc.h now.3 qmail-qmqpd.c sig_block.c timeoutconn.c
binm2+df.sh date822fmt.c getln2.3 now.c qmail-qmtpd.8 sig_bug.c timeoutconn.h
binm2.sh date822fmt.h getln2.c now.h qmail-qmtpd.c sig_catch.c timeoutread.c
binm3+df.sh datemail.sh getln.3 open_append.c qmail-qread.8 sig_child.c timeoutread.h
binm3.sh datetime.3 getln.c open_excl.c qmail-qread.c sig.h timeoutwrite.c
BIN.Makefile datetime.c getln.h open.h qmail-qstat.8 sig_hup.c timeoutwrite.h
BIN.README datetime.h gfrom.c open_read.c qmail-qstat.sh sig_misc.c TODO
BLURB datetime_un.c gfrom.h open_trunc.c qmail-queue.8 sig_pause.c token822.c
BLURB2 direntry.3 headerbody.c open_write.c qmail-queue.c sig_pipe.c token822.h
BLURB3 direntry.h1 headerbody.h PIC.local2alias qmail-remote.8 sig_term.c trigger.c
BLURB4 direntry.h2 hfield.c PIC.local2ext qmail-remote.c slurpclose.c trigger.h
bouncesaying.1 dns.c hfield.h PIC.local2local qmail-rspawn.8 slurpclose.h triggerpull.c
bouncesaying.c dnscname.c hier.c PIC.local2rem qmail-rspawn.c spawn.c triggerpull.h
byte_chr.c dnsdoe.c home+df.sh PIC.local2virt qmail-send.9 splogger.8 trycpp.c
byte_copy.c dnsdoe.h home.sh PIC.nullclient qmail-send.c splogger.c trydrent.c
byte_cr.c dnsfq.c hostname.c PIC.relaybad qmail-showctl.8 stralloc.3 tryflock.c
byte_diff.c dns.h idedit.c PIC.relaygood qmail-showctl.c stralloc_arts.c trylsock.c
byte.h dnsip.c INSTALL PIC.rem2local qmail-smtpd.8 stralloc_catb.c trymkffo.c
byte_rchr.c dnsmxip.c INSTALL.alias pinq.sh qmail-smtpd.c stralloc_cat.c trynpbg1.c
byte_zero.c dnsptr.c install-big.c predate.c qmail-start.9 stralloc_cats.c tryrsolv.c
case.3 dot-qmail.9 install.c preline.1 qmail-start.c stralloc_copy.c trysalen.c
case_diffb.c elq.sh INSTALL.ctl preline.c qmail-tcpok.8 stralloc_eady.c trysgact.c
case_diffs.c env.3 INSTALL.ids prioq.c qmail-tcpok.c stralloc.h trysgprm.c
case.h env.c INSTALL.maildir prioq.h qmail-tcpto.8 stralloc_opyb.c tryshsgr.c
case_lowerb.c envelopes.5 INSTALL.mbox proc+df.sh qmail-tcpto.c stralloc_opys.c trysysel.c
case_lowers.c env.h INSTALL.vsm proc.sh qmail-upq.sh stralloc_pend.c trysyslog.c
case_starts.c envread.c instcheck.c prot.c qmail-users.9 str_chr.c tryulong32.c
cdb.3 error.3 INTERNALS prot.h qreceipt.1 str_cpy.c tryvfork.c
cdb.h error.c ipalloc.c qail.sh qreceipt.c str_diff.c trywaitp.c
cdb_hash.c error.h ipalloc.h qbiff.1 qsmhook.c str_diffn.c uint32.h1
cdbmake_add.c error_str.3 ip.c qbiff.c qsutil.c strerr_die.c uint32.h2
cdbmake.h error_str.c ip.h qlx.h qsutil.h strerr.h UPGRADE
cdbmake_hash.c error_temp.3 ipme.c qmail.7 quote.c strerr_sys.c VERSION
cdbmake_pack.c error_temp.c ipme.h qmail.c quote.h str.h wait.3
cdbmss.c except.1 ipmeprint.c qmail-clean.8 rcpthosts.c str_len.c wait.h
cdbmss.h except.c lock_ex.c qmail-clean.c rcpthosts.h str_rchr.c wait_nohang.c
cdb_seek.c exit.h lock_exnb.c qmail-command.8 README str_start.c wait_pid.c
cdb_seek.c.rej extra.h lock.h qmail-control.9 readsubdir.c subfderr.c warn-auto.sh
cdb_unpack.c FAQ lock_un.c qmail-getpw.9 readsubdir.h subfd.h warn-shsgr
CHANGES fd_copy.3 maildir2mbox.1 qmail-getpw.c readwrite.h subfdin.c
chkshsgr.c fd_copy.c maildir2mbox.c qmail.h received.c subfdins.c
chkspawn.c fd.h maildir.5 qmail-header.5 received.h subfdout.c
打开install.ids,查看创建用户和组的命令
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ ls -l|grep *.ids
-rw-r--r-- 1 root daemon 2912 1998-06-15 18:53 INSTALL.ids
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo nano INSTALL.ids
可以看到 linux系统的如下:
Here's how to set up the qmail groups and the qmail users.
On some systems there are commands that make this easy. Solaris and
Linux:
# groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias alias
# useradd -g nofiles -d /var/qmail qmaild
# useradd -g nofiles -d /var/qmail qmaill
# useradd -g nofiles -d /var/qmail qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail qmailq
# useradd -g qmail -d /var/qmail qmailr
# useradd -g qmail -d /var/qmail qmails
输入以上命令
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo groupadd nofiles
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo useradd -g nofiles -d /var/qmail/alias alias
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo useradd -g nofiles -d /var/qmail qmaild
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo useradd -g nofiles -d /var/qmail qmaill
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo useradd -g nofiles -d /var/qmail qmailp
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo groupadd qmail
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo useradd -g qmail -d /var/qmail qmailq
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo useradd -g qmail -d /var/qmail qmailr
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo useradd -g qmail -d /var/qmail qmails
编译并安装(请确保第三步成功完成,否则编译会出错)
deepfuture@ubuntu-sdp:/opt/qmail-1.03$make setup check
......
......
......
......
nroff -man maildirwatch.1 > maildirwatch.0
nroff -man qmail.7 > qmail.0
cat qmail-limits.9 \
| sed s}QMAILHOME}"`head -1 conf-qmail`"}g \
| sed s}BREAK}"`head -1 conf-break`"}g \
| sed s}SPAWN}"`head -1 conf-spawn`"}g \
> qmail-limits.7
nroff -man qmail-limits.7 > qmail-limits.0
nroff -man qmail-log.5 > qmail-log.0
cat qmail-control.9 \
| sed s}QMAILHOME}"`head -1 conf-qmail`"}g \
| sed s}BREAK}"`head -1 conf-break`"}g \
| sed s}SPAWN}"`head -1 conf-spawn`"}g \
> qmail-control.5
nroff -man qmail-control.5 > qmail-control.0
nroff -man qmail-header.5 > qmail-header.0
cat qmail-users.9 \
| sed s}QMAILHOME}"`head -1 conf-qmail`"}g \
| sed s}BREAK}"`head -1 conf-break`"}g \
| sed s}SPAWN}"`head -1 conf-spawn`"}g \
> qmail-users.5
nroff -man qmail-users.5 > qmail-users.0
cat dot-qmail.9 \
| sed s}QMAILHOME}"`head -1 conf-qmail`"}g \
| sed s}BREAK}"`head -1 conf-break`"}g \
| sed s}SPAWN}"`head -1 conf-spawn`"}g \
> dot-qmail.5
nroff -man dot-qmail.5 > dot-qmail.0
nroff -man qmail-command.8 > qmail-command.0
nroff -man tcp-environ.5 > tcp-environ.0
nroff -man maildir.5 > maildir.0
nroff -man mbox.5 > mbox.0
nroff -man addresses.5 > addresses.0
nroff -man envelopes.5 > envelopes.0
nroff -man forgeries.7 > forgeries.0
./install
./instcheck
配置服务器域名,笔者的服务器域名是deepfuture.imwork.net
deepfuture@ubuntu-sdp:/opt/qmail-1.03$ sudo ./config-fast deepfuture.imwork.net
Your fully qualified host name is deepfuture.imwork.net.
Putting deepfuture.imwork.net into control/me...
Putting imwork.net into control/defaultdomain...
Putting imwork.net into control/plusdomain...
Putting deepfuture.imwork.net into control/locals...
Putting deepfuture.imwork.net into control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to deepfuture.imwork.net.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
deepfuture@ubuntu-sdp:/opt/qmail-1.03$
九、安装认证程序和下载认证errno补丁
注意当前目录必须在/usr下的一个子目录,笔者建立一个tmp目录。因为认识程序的安装路径是../bin
deepfuture@ubuntu-sdp:/opt$ cd /usr
deepfuture@ubuntu-sdp:/usr$ ls
bin games include lib local sbin share src
deepfuture@ubuntu-sdp:/usr$ sudo mkdir tmp
deepfuture@ubuntu-sdp:/usr$ cd tmp
deepfuture@ubuntu-sdp:/usr/tmp$ sudo wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
--2010-02-10 11:30:02-- http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
Resolving cr.yp.to... 131.193.36.21
Connecting to cr.yp.to|131.193.36.21|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15631 (15K) [application/x-gzip]
Saving to: `checkpassword-0.90.tar.gz'
100%[===================================================================================>] 15,631 27.4K/s in 0.6s
deepfuture@ubuntu-sdp:/usr/tmp$ sudo wget http://djbware.csi.hu/patches/checkpassword-0.90.errno.patch
--2010-02-10 11:36:43-- http://djbware.csi.hu/patches/checkpassword-0.90.errno.patch
Resolving djbware.csi.hu... 141.225.8.55
Connecting to djbware.csi.hu|141.225.8.55|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 346 [text/plain]
Saving to: `checkpassword-0.90.errno.patch'
100%[===================================================================================>] 346 --.-K/s in 0s
2010-02-10 11:36:44 (14.1 MB/s) - `checkpassword-0.90.errno.patch' saved [346/346]
deepfuture@ubuntu-sdp:/usr/tmp$ sudo tar xvfz checkpassword-0.90.tar.gz
checkpassword-0.90
checkpassword-0.90/README
checkpassword-0.90/TODO
checkpassword-0.90/CHANGES
checkpassword-0.90/VERSION
checkpassword-0.90/FILES
checkpassword-0.90/SYSDEPS
checkpassword-0.90/TARGETS
checkpassword-0.90/Makefile
checkpassword-0.90/alloc.c
checkpassword-0.90/alloc.h
checkpassword-0.90/alloc_re.c
checkpassword-0.90/auto-str.c
checkpassword-0.90/auto_home.h
checkpassword-0.90/buffer.c
checkpassword-0.90/buffer.h
checkpassword-0.90/buffer_2.c
checkpassword-0.90/buffer_copy.c
checkpassword-0.90/buffer_get.c
checkpassword-0.90/buffer_put.c
checkpassword-0.90/byte.h
checkpassword-0.90/byte_copy.c
checkpassword-0.90/byte_cr.c
checkpassword-0.90/byte_diff.c
checkpassword-0.90/checkpassword.c
checkpassword-0.90/chkshsgr.c
checkpassword-0.90/choose.sh
checkpassword-0.90/conf-cc
checkpassword-0.90/conf-home
checkpassword-0.90/conf-ld
checkpassword-0.90/env.c
checkpassword-0.90/env.h
checkpassword-0.90/error.c
checkpassword-0.90/error.h
checkpassword-0.90/error_str.c
checkpassword-0.90/exit.h
checkpassword-0.90/find-systype.sh
checkpassword-0.90/gen_alloc.h
checkpassword-0.90/gen_allocdefs.h
checkpassword-0.90/hasshsgr.h1
checkpassword-0.90/hasshsgr.h2
checkpassword-0.90/hier.c
checkpassword-0.90/install.c
checkpassword-0.90/instcheck.c
checkpassword-0.90/open.h
checkpassword-0.90/open_read.c
checkpassword-0.90/open_trunc.c
checkpassword-0.90/pathexec.h
checkpassword-0.90/pathexec_env.c
checkpassword-0.90/pathexec_run.c
checkpassword-0.90/print-cc.sh
checkpassword-0.90/prot.c
checkpassword-0.90/prot.h
checkpassword-0.90/readwrite.h
checkpassword-0.90/str.h
checkpassword-0.90/str_chr.c
checkpassword-0.90/str_len.c
checkpassword-0.90/str_start.c
checkpassword-0.90/stralloc.h
checkpassword-0.90/stralloc_cat.c
checkpassword-0.90/stralloc_catb.c
checkpassword-0.90/stralloc_cats.c
checkpassword-0.90/stralloc_eady.c
checkpassword-0.90/stralloc_opyb.c
checkpassword-0.90/stralloc_opys.c
checkpassword-0.90/stralloc_pend.c
checkpassword-0.90/strerr.h
checkpassword-0.90/strerr_die.c
checkpassword-0.90/strerr_sys.c
checkpassword-0.90/trycpp.c
checkpassword-0.90/trycrypt.c
checkpassword-0.90/tryshadow.c
checkpassword-0.90/tryshsgr.c
checkpassword-0.90/tryslib.c
checkpassword-0.90/tryspnam.c
checkpassword-0.90/tryuserpw.c
checkpassword-0.90/warn-auto.sh
checkpassword-0.90/warn-shsgr
checkpassword-0.90/x86cpuid.c
安装补丁
deepfuture@ubuntu-sdp:/usr/tmp$ cd checkpassword-0.90
deepfuture@ubuntu-sdp:/usr/tmp/checkpassword-0.90$ ls
alloc.c byte_cr.c error.c instcheck.c readwrite.h strerr_sys.c tryspnam.c
alloc.h byte_diff.c error.h Makefile stralloc_catb.c str.h tryuserpw.c
alloc_re.c byte.h error_str.c open.h stralloc_cat.c str_len.c VERSION
auto_home.h CHANGES exit.h open_read.c stralloc_cats.c str_start.c warn-auto.sh
auto-str.c checkpassword.c FILES open_trunc.c stralloc_eady.c SYSDEPS warn-shsgr
buffer_2.c chkshsgr.c find-systype.sh pathexec_env.c stralloc.h TARGETS x86cpuid.c
buffer.c choose.sh gen_allocdefs.h pathexec.h stralloc_opyb.c TODO
buffer_copy.c conf-cc gen_alloc.h pathexec_run.c stralloc_opys.c trycpp.c
buffer_get.c conf-home hasshsgr.h1 print-cc.sh stralloc_pend.c trycrypt.c
buffer.h conf-ld hasshsgr.h2 prot.c str_chr.c tryshadow.c
buffer_put.c env.c hier.c prot.h strerr_die.c tryshsgr.c
byte_copy.c env.h install.c README strerr.h tryslib.c
deepfuture@ubuntu-sdp:/usr/tmp/checkpassword-0.90$ sudo patch -p1 < ../checkpassword-0.90.errno.patch
patching file error.h
编译
deepfuture@ubuntu-sdp:/usr/tmp/checkpassword-0.90$ sudo make
( cat warn-auto.sh; \
echo 'main="$1"; shift'; \
echo exec "`head -1 conf-ld`" \
'-o "$main" "$main".o ${1+"$@"}' \
) > load
chmod 755 load
sh find-systype.sh > systype
sh print-cc.sh > compile
chmod 755 compile
( ( ./compile tryspnam.c && ./load tryspnam ) >/dev/null \
2>&1 \
&& echo \#define HASGETSPNAM 1 || exit 0 ) > hasspnam.h
rm -f tryspnam.o tryspnam
( ( ./compile tryslib.c && \
./load tryslib -ls ) >/dev/null 2>&1 \
&& echo -ls || exit 0 ) > s.lib
rm -f tryslib.o tryslib
( ( ./compile tryuserpw.c \
&& ./load tryuserpw `cat s.lib` ) >/dev/null 2>&1 \
&& echo \#define HASGETUSERPW 1 || exit 0 ) > hasuserpw.h
rm -f tryuserpw.o tryuserpw
./compile checkpassword.c
checkpassword.c: In function ‘main’:
checkpassword.c:33: warning: incompatible implicit declaration of built-in function ‘_exit’
cat warn-auto.sh choose.sh \
| sed s}HOME}"`head -1 conf-home`"}g \
> choose
chmod 755 choose
./compile chkshsgr.c
./load chkshsgr
./chkshsgr || ( cat warn-shsgr; exit 1 )
./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h
./compile prot.c
( cat warn-auto.sh; \
echo 'main="$1"; shift'; \
echo 'rm -f "$main"'; \
echo 'ar cr "$main" ${1+"$@"}'; \
case "`cat systype`" in \
sunos-5.*) ;; \
unix_sv*) ;; \
irix64-*) ;; \
irix-*) ;; \
dgux-*) ;; \
hp-ux-*) ;; \
sco*) ;; \
*) echo 'ranlib "$main"' ;; \
esac \
) > makelib
chmod 755 makelib
./compile alloc.c
alloc.c:3: warning: conflicting types for built-in function ‘malloc’
./compile alloc_re.c
./compile buffer.c
./compile buffer_2.c
./compile buffer_copy.c
./compile buffer_get.c
./compile buffer_put.c
./compile env.c
./compile error.c
./compile error_str.c
./compile open_read.c
./compile open_trunc.c
./compile pathexec_env.c
./compile pathexec_run.c
./compile stralloc_cat.c
./compile stralloc_catb.c
./compile stralloc_cats.c
./compile stralloc_eady.c
./compile stralloc_opyb.c
./compile stralloc_opys.c
./compile stralloc_pend.c
./compile strerr_die.c
./compile strerr_sys.c
./makelib unix.a alloc.o alloc_re.o buffer.o buffer_2.o \
buffer_copy.o buffer_get.o buffer_put.o env.o error.o \
error_str.o open_read.o open_trunc.o pathexec_env.o \
pathexec_run.o prot.o stralloc_cat.o stralloc_catb.o \
stralloc_cats.o stralloc_eady.o stralloc_opyb.o \
stralloc_opys.o stralloc_pend.o strerr_die.o strerr_sys.o
./compile byte_copy.c
./compile byte_cr.c
./compile byte_diff.c
./compile str_chr.c
./compile str_len.c
./compile str_start.c
./makelib byte.a byte_copy.o byte_cr.o byte_diff.o \
str_chr.o str_len.o str_start.o
( ( ./compile tryshadow.c && \
./load tryshadow -lshadow ) >/dev/null 2>&1 \
&& echo -lshadow || exit 0 ) > shadow.lib
rm -f tryshadow.o tryshadow
( ( ./compile trycrypt.c && \
./load trycrypt -lcrypt ) >/dev/null 2>&1 \
&& echo -lcrypt || exit 0 ) > crypt.lib
rm -f trycrypt.o trycrypt
./load checkpassword prot.o unix.a byte.a `cat \
shadow.lib` `cat crypt.lib` `cat s.lib`
./compile install.c
./compile hier.c
./compile auto-str.c
auto-str.c:8: warning: conflicting types for built-in function ‘puts’
./load auto-str unix.a byte.a
./auto-str auto_home `head -1 conf-home` > auto_home.c
./compile auto_home.c
./load install hier.o auto_home.o unix.a byte.a
./compile instcheck.c
./load instcheck hier.o auto_home.o unix.a byte.a
安装
deepfuture@ubuntu-sdp:/usr/tmp/checkpassword-0.90$ sudo make setup check
./install
./instcheck
deepfuture@ubuntu-sdp:/usr/tmp/checkpassword-0.90$ sudo chmod 4755 /bin/checkpassword
deepfuture@ubuntu-sdp:/usr/tmp/checkpassword-0.90$ cd ..
安装QMAIL守护程序daemontools
deepfuture@ubuntu-sdp:/usr/tmp$ sudo wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
--2010-02-10 11:51:19-- http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
Resolving cr.yp.to... 131.193.36.21
Connecting to cr.yp.to|131.193.36.21|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 36975 (36K) [application/x-gzip]
Saving to: `daemontools-0.76.tar.gz'
100%[===================================================================================>] 36,975 42.0K/s in 0.9s
2010-02-10 11:51:20 (42.0 KB/s) - `daemontools-0.76.tar.gz' saved [36975/36975]deepfuture@ubuntu-sdp:/usr/tmp$ sudo wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
--2010-02-10 11:52:12-- http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
Resolving www.qmail.org... 192.203.178.37
Connecting to www.qmail.org|192.203.178.37|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 355 [text/plain]
Saving to: `daemontools-0.76.errno.patch'
100%[===================================================================================>] 355 --.-K/s in 0s
2010-02-10 11:52:13 (15.1 MB/s) - `daemontools-0.76.errno.patch' saved [355/355]
解压
deepfuture@ubuntu-sdp:/usr/tmp$ sudo tar xvfz daemontools-0.76.tar.gz
admin
admin/daemontools-0.76
admin/daemontools-0.76/package
admin/daemontools-0.76/package/README
admin/daemontools-0.76/package/files
admin/daemontools-0.76/package/sharing
admin/daemontools-0.76/package/commands
admin/daemontools-0.76/package/install
admin/daemontools-0.76/package/compile
admin/daemontools-0.76/package/upgrade
admin/daemontools-0.76/package/run
admin/daemontools-0.76/package/run.inittab
admin/daemontools-0.76/package/boot.inittab
admin/daemontools-0.76/package/run.rclocal
admin/daemontools-0.76/package/boot.rclocal
admin/daemontools-0.76/src
admin/daemontools-0.76/src/CHANGES
admin/daemontools-0.76/src/TODO
admin/daemontools-0.76/src/Makefile
admin/daemontools-0.76/src/svscanboot.sh
admin/daemontools-0.76/src/svscan.c
admin/daemontools-0.76/src/supervise.c
admin/daemontools-0.76/src/svc.c
admin/daemontools-0.76/src/svok.c
admin/daemontools-0.76/src/svstat.c
admin/daemontools-0.76/src/fghack.c
admin/daemontools-0.76/src/pgrphack.c
admin/daemontools-0.76/src/readproctitle.c
admin/daemontools-0.76/src/multilog.c
admin/daemontools-0.76/src/tai64n.c
admin/daemontools-0.76/src/tai64nlocal.c
admin/daemontools-0.76/src/softlimit.c
admin/daemontools-0.76/src/setuidgid.c
admin/daemontools-0.76/src/envuidgid.c
admin/daemontools-0.76/src/envdir.c
admin/daemontools-0.76/src/setlock.c
admin/daemontools-0.76/src/match.c
admin/daemontools-0.76/src/match.h
admin/daemontools-0.76/src/matchtest.c
admin/daemontools-0.76/src/timestamp.c
admin/daemontools-0.76/src/timestamp.h
admin/daemontools-0.76/src/deepsleep.c
admin/daemontools-0.76/src/deepsleep.h
admin/daemontools-0.76/src/conf-cc
admin/daemontools-0.76/src/conf-ld
admin/daemontools-0.76/src/print-cc.sh
admin/daemontools-0.76/src/print-ld.sh
admin/daemontools-0.76/src/print-ar.sh
admin/daemontools-0.76/src/choose.sh
admin/daemontools-0.76/src/warn-auto.sh
admin/daemontools-0.76/src/find-systype.sh
admin/daemontools-0.76/src/trycpp.c
admin/daemontools-0.76/src/x86cpuid.c
admin/daemontools-0.76/src/rts.tests
admin/daemontools-0.76/src/buffer.h
admin/daemontools-0.76/src/buffer.c
admin/daemontools-0.76/src/byte.h
admin/daemontools-0.76/src/str.h
admin/daemontools-0.76/src/str_len.c
admin/daemontools-0.76/src/byte_copy.c
admin/daemontools-0.76/src/byte_cr.c
admin/daemontools-0.76/src/error.h
admin/daemontools-0.76/src/error.c
admin/daemontools-0.76/src/buffer_put.c
admin/daemontools-0.76/src/buffer_read.c
admin/daemontools-0.76/src/buffer_write.c
admin/daemontools-0.76/src/buffer_1.c
admin/daemontools-0.76/src/direntry.h1
admin/daemontools-0.76/src/direntry.h2
admin/daemontools-0.76/src/trydrent.c
admin/daemontools-0.76/src/strerr.h
admin/daemontools-0.76/src/error_str.c
admin/daemontools-0.76/src/strerr_sys.c
admin/daemontools-0.76/src/buffer_2.c
admin/daemontools-0.76/src/strerr_die.c
admin/daemontools-0.76/src/wait.h
admin/daemontools-0.76/src/trywaitp.c
admin/daemontools-0.76/src/haswaitp.h1
admin/daemontools-0.76/src/haswaitp.h2
admin/daemontools-0.76/src/wait_pid.c
admin/daemontools-0.76/src/coe.h
admin/daemontools-0.76/src/coe.c
admin/daemontools-0.76/src/fd.h
admin/daemontools-0.76/src/fd_copy.c
admin/daemontools-0.76/src/fd_move.c
admin/daemontools-0.76/src/str_start.c
admin/daemontools-0.76/src/env.h
admin/daemontools-0.76/src/env.c
admin/daemontools-0.76/src/alloc.h
admin/daemontools-0.76/src/alloc.c
admin/daemontools-0.76/src/alloc_re.c
admin/daemontools-0.76/src/gen_alloc.h
admin/daemontools-0.76/src/gen_allocdefs.h
admin/daemontools-0.76/src/stralloc.h
admin/daemontools-0.76/src/stralloc_eady.c
admin/daemontools-0.76/src/stralloc_opyb.c
admin/daemontools-0.76/src/stralloc_catb.c
admin/daemontools-0.76/src/stralloc_cats.c
admin/daemontools-0.76/src/stralloc_pend.c
admin/daemontools-0.76/src/str_chr.c
admin/daemontools-0.76/src/pathexec.h
admin/daemontools-0.76/src/pathexec_run.c
admin/daemontools-0.76/src/stralloc_opys.c
admin/daemontools-0.76/src/stralloc_cat.c
admin/daemontools-0.76/src/byte_diff.c
admin/daemontools-0.76/src/pathexec_env.c
admin/daemontools-0.76/src/wait_nohang.c
admin/daemontools-0.76/src/sig.h
admin/daemontools-0.76/src/sig.c
admin/daemontools-0.76/src/sig_block.c
admin/daemontools-0.76/src/sig_catch.c
admin/daemontools-0.76/src/sig_pause.c
admin/daemontools-0.76/src/hassgact.h1
admin/daemontools-0.76/src/hassgact.h2
admin/daemontools-0.76/src/hassgprm.h1
admin/daemontools-0.76/src/hassgprm.h2
admin/daemontools-0.76/src/trysgact.c
admin/daemontools-0.76/src/trysgprm.c
admin/daemontools-0.76/src/select.h1
admin/daemontools-0.76/src/select.h2
admin/daemontools-0.76/src/trysysel.c
admin/daemontools-0.76/src/uint64.h1
admin/daemontools-0.76/src/uint64.h2
admin/daemontools-0.76/src/tryulong64.c
admin/daemontools-0.76/src/tai.h
admin/daemontools-0.76/src/taia.h
admin/daemontools-0.76/src/taia_now.c
admin/daemontools-0.76/src/taia_sub.c
admin/daemontools-0.76/src/taia_less.c
admin/daemontools-0.76/src/taia_frac.c
admin/daemontools-0.76/src/taia_approx.c
admin/daemontools-0.76/src/iopause.h1
admin/daemontools-0.76/src/iopause.h2
admin/daemontools-0.76/src/iopause.c
admin/daemontools-0.76/src/trypoll.c
admin/daemontools-0.76/src/fifo.h
admin/daemontools-0.76/src/fifo.c
admin/daemontools-0.76/src/hasmkffo.h1
admin/daemontools-0.76/src/hasmkffo.h2
admin/daemontools-0.76/src/trymkffo.c
admin/daemontools-0.76/src/open.h
admin/daemontools-0.76/src/open_read.c
admin/daemontools-0.76/src/open_write.c
admin/daemontools-0.76/src/open_append.c
admin/daemontools-0.76/src/lock.h
admin/daemontools-0.76/src/hasflock.h1
admin/daemontools-0.76/src/hasflock.h2
admin/daemontools-0.76/src/tryflock.c
admin/daemontools-0.76/src/lock_exnb.c
admin/daemontools-0.76/src/lock_ex.c
admin/daemontools-0.76/src/ndelay.h
admin/daemontools-0.76/src/ndelay_on.c
admin/daemontools-0.76/src/ndelay_off.c
admin/daemontools-0.76/src/tai_pack.c
admin/daemontools-0.76/src/taia_pack.c
admin/daemontools-0.76/src/taia_add.c
admin/daemontools-0.76/src/open_trunc.c
admin/daemontools-0.76/src/taia_uint.c
admin/daemontools-0.76/src/subgetopt.h
admin/daemontools-0.76/src/subgetopt.c
admin/daemontools-0.76/src/sgetopt.h
admin/daemontools-0.76/src/sgetopt.c
admin/daemontools-0.76/src/byte_chr.c
admin/daemontools-0.76/src/fmt.h
admin/daemontools-0.76/src/scan.h
admin/daemontools-0.76/src/fmt_ulong.c
admin/daemontools-0.76/src/fmt_uint.c
admin/daemontools-0.76/src/fmt_uint0.c
admin/daemontools-0.76/src/tai_unpack.c
admin/daemontools-0.76/src/tai_now.c
admin/daemontools-0.76/src/tai_sub.c
admin/daemontools-0.76/src/seek.h
admin/daemontools-0.76/src/seek_set.c
admin/daemontools-0.76/src/str_diff.c
admin/daemontools-0.76/src/byte_rchr.c
admin/daemontools-0.76/src/scan_ulong.c
admin/daemontools-0.76/src/buffer_get.c
admin/daemontools-0.76/src/buffer_0.c
admin/daemontools-0.76/src/prot.h
admin/daemontools-0.76/src/prot.c
admin/daemontools-0.76/src/hasshsgr.h1
admin/daemontools-0.76/src/hasshsgr.h2
admin/daemontools-0.76/src/chkshsgr.c
admin/daemontools-0.76/src/warn-shsgr
admin/daemontools-0.76/src/tryshsgr.c
admin/daemontools-0.76/src/readclose.h
admin/daemontools-0.76/src/readclose.c
admin/daemontools-0.76/src/openreadclose.h
admin/daemontools-0.76/src/openreadclose.c
打补丁deepfuture@ubuntu-sdp:/usr/tmp$ cd admin/daemontools-0.76
deepfuture@ubuntu-sdp:/usr/tmp/admin/daemontools-0.76$ sudo patch -p1 <../../daemontools-0.76.errno.patch
patching file src/error.h
编译
eepfuture@ubuntu-sdp:/$ cd /usr/tmp/admin
deepfuture@ubuntu-sdp:/usr/tmp/admin$ ls
daemontools-0.76
deepfuture@ubuntu-sdp:/usr/tmp/admin$ cd daemontools-0.76
deepfuture@ubuntu-sdp:/usr/tmp/admin/daemontools-0.76$ ls
package src
deepfuture@ubuntu-sdp:/usr/tmp/admin/daemontools-0.76$ sudo package/compile
手动安装
deepfuture@ubuntu-sdp:/usr/tmp/admin/daemontools-0.76/command$ sudo mkdir /var/ademontool
deepfuture@ubuntu-sdp:/usr/tmp/admin/daemontools-0.76/command$ sudo mkdir /var/ademontool/command
deepfuture@ubuntu-sdp:/usr/tmp/admin/daemontools-0.76/command$ sudo mkdir /var/ademontool/service
deepfuture@ubuntu-sdp:/usr/tmp/admin/daemontools-0.76$sudo cp /usr/tmp/admin/daemontools-0.76/command/* /var/daemontool/command
deepfuture@ubuntu-sdp:/usr/tmp/admin/daemontools-0.76/command$ sudo nano svscanboot
#!/bin/sh
# WARNING: This file was auto-generated. Do not edit!
PATH=/var/daemontool/command:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
exec </dev/null
exec >/dev/null
exec 2>/dev/null
/var/daemontool/command/svc -dx /var/daemontool/service/* /var/daemontool/service/*/log
env - PATH=$PATH svscan /var/daemontool/service 2>&1 | \
env - PATH=$PATH readproctitle service errors: .............................................................................$
十一、安装popmail,管理用户名和域的工具
deepfuture@ubuntu-sdp:/usr/tmp$ sudo wget http://sourceforge.net/projects/vpopmail/files/vpopmail-stable/5.4.30/vpopmail-5.4.30.tar.gz/download
deepfuture@ubuntu-sdp:/usr/tmp$ sudo tar xvfz vpopmail-5.4.30.tar.gz
vpopmail-5.4.30/
vpopmail-5.4.30/seek.c
vpopmail-5.4.30/vcdb.c
vpopmail-5.4.30/vpgsql.c
vpopmail-5.4.30/voracle.pc
vpopmail-5.4.30/vmysql.h
vpopmail-5.4.30/vuserinfo.c
vpopmail-5.4.30/vdelivermail.c
vpopmail-5.4.30/vldap.h
vpopmail-5.4.30/oracle/
vpopmail-5.4.30/oracle/oracle.create
vpopmail-5.4.30/ltmain.sh
vpopmail-5.4.30/vdelivermail.h
vpopmail-5.4.30/vpopbull.c
vpopmail-5.4.30/md5.c
vpopmail-5.4.30/configure.in
vpopmail-5.4.30/dotqmail2valias.c
vpopmail-5.4.30/vusagec.c
vpopmail-5.4.30/stamp-h.in
vpopmail-5.4.30/maildirquota.h
vpopmail-5.4.30/vaddaliasdomain.c
vpopmail-5.4.30/ippp.c
vpopmail-5.4.30/vlimits.h
vpopmail-5.4.30/hmac_md5.h
vpopmail-5.4.30/conf.h
vpopmail-5.4.30/vmkpasswd.c
vpopmail-5.4.30/client.c
vpopmail-5.4.30/vmoddomlimits.c
vpopmail-5.4.30/quotawarn.msg
vpopmail-5.4.30/backfill.c
vpopmail-5.4.30/vdeloldusers.c
vpopmail-5.4.30/vdeldomain.c
vpopmail-5.4.30/global.h
vpopmail-5.4.30/vmysql.c
vpopmail-5.4.30/vutil.h
vpopmail-5.4.30/vqmaillocal.c
vpopmail-5.4.30/vadddomain.c
vpopmail-5.4.30/vkill.c
vpopmail-5.4.30/Makefile.in
vpopmail-5.4.30/client.h
vpopmail-5.4.30/config.guess
vpopmail-5.4.30/vauth.h
vpopmail-5.4.30/vutil.c
vpopmail-5.4.30/valias.c
vpopmail-5.4.30/vpasswd.c
vpopmail-5.4.30/maildirquota.c
vpopmail-5.4.30/storage.h
vpopmail-5.4.30/vpopmaild.msg
vpopmail-5.4.30/vconvert.c
vpopmail-5.4.30/authvchkpw.c
vpopmail-5.4.30/conf.c
vpopmail-5.4.30/vadduser.c
vpopmail-5.4.30/vlistlib.c
vpopmail-5.4.30/vlist.c
vpopmail-5.4.30/install-sh
vpopmail-5.4.30/voracle.h
vpopmail-5.4.30/compile
vpopmail-5.4.30/vlimits.c
vpopmail-5.4.30/vpopmaild.c
vpopmail-5.4.30/config.sub
vpopmail-5.4.30/vdeluser.c
vpopmail-5.4.30/config.h.in
vpopmail-5.4.30/vsybase.h
vpopmail-5.4.30/vipmap.c
vpopmail-5.4.30/vpgsql.h
vpopmail-5.4.30/cdb/
vpopmail-5.4.30/cdb/cdb.h
vpopmail-5.4.30/cdb/uint32.h2
vpopmail-5.4.30/cdb/cdb_unpack.c
vpopmail-5.4.30/cdb/cdb_hash.c
vpopmail-5.4.30/cdb/trycpp.c
vpopmail-5.4.30/cdb/VERSION
vpopmail-5.4.30/cdb/uint32.h1
vpopmail-5.4.30/cdb/tryulong32.c
vpopmail-5.4.30/cdb/makelib
vpopmail-5.4.30/cdb/warn-auto.sh
vpopmail-5.4.30/cdb/cdbmake_add.c
vpopmail-5.4.30/cdb/cdb_seek.c
vpopmail-5.4.30/cdb/cdbmake_hash.c
vpopmail-5.4.30/cdb/Makefile
vpopmail-5.4.30/cdb/find-systype.sh
vpopmail-5.4.30/cdb/README
vpopmail-5.4.30/cdb/cdbmake_pack.c
vpopmail-5.4.30/cdb/THANKS
vpopmail-5.4.30/cdb/cdbmake.h
vpopmail-5.4.30/vlimits.default
vpopmail-5.4.30/hmac_md5.c
vpopmail-5.4.30/vmoduser.c
vpopmail-5.4.30/vldap.c
vpopmail-5.4.30/vdominfo.c
vpopmail-5.4.30/file_lock.c
vpopmail-5.4.30/mkinstalldirs
vpopmail-5.4.30/vsetuserquota.c
vpopmail-5.4.30/file_lock.h
vpopmail-5.4.30/vcdb.h
vpopmail-5.4.30/vusagec.conf
vpopmail-5.4.30/Makefile.am
vpopmail-5.4.30/seek.h
vpopmail-5.4.30/ChangeLog
vpopmail-5.4.30/vsybase.c
vpopmail-5.4.30/aclocal.m4
vpopmail-5.4.30/vpopmail.c
vpopmail-5.4.30/vpopmail.h
vpopmail-5.4.30/vpalias.c
vpopmail-5.4.30/configure
vpopmail-5.4.30/vlog.h
vpopmail-5.4.30/ippp.h
vpopmail-5.4.30/md5.h
vpopmail-5.4.30/grab.sh
vpopmail-5.4.30/vchangepw.c
vpopmail-5.4.30/contrib/
vpopmail-5.4.30/contrib/qmail-smtpd-auth-0.5.6.tar.gz
vpopmail-5.4.30/contrib/cistron_radius.README
vpopmail-5.4.30/contrib/cdb_clearpass.sh
vpopmail-5.4.30/contrib/vreorg.c
vpopmail-5.4.30/contrib/checkpassword_debug.README
vpopmail-5.4.30/contrib/checkpassword_debug.c
vpopmail-5.4.30/contrib/vdirrestore
vpopmail-5.4.30/contrib/adduser.mysql
vpopmail-5.4.30/contrib/qmail-smtpd-auth.README
vpopmail-5.4.30/contrib/vlog-support-0.22.README
vpopmail-5.4.30/contrib/cistron_radius.tar.gz
vpopmail-5.4.30/contrib/vpassgen
vpopmail-5.4.30/contrib/popfetch-1.0.tar.gz
vpopmail-5.4.30/contrib/sendmail2vpopmail.pl
vpopmail-5.4.30/contrib/vcdir.README
vpopmail-5.4.30/contrib/sqwebmail_update
vpopmail-5.4.30/contrib/addusers.pl
vpopmail-5.4.30/contrib/vdirrestore.README
vpopmail-5.4.30/contrib/vcdir.c
vpopmail-5.4.30/contrib/vpassgen.README
vpopmail-5.4.30/contrib/qmail-maildir++.patch
vpopmail-5.4.30/contrib/vlog-support-0.22.tar.gz
vpopmail-5.4.30/missing
vpopmail-5.4.30/ldap/
vpopmail-5.4.30/ldap/nsswitch.conf
vpopmail-5.4.30/ldap/slapd.conf
vpopmail-5.4.30/ldap/vpopmail.ldif
vpopmail-5.4.30/ldap/pam_ldap.secret
vpopmail-5.4.30/ldap/pam_ldap.conf
vpopmail-5.4.30/ldap/valias.schema
vpopmail-5.4.30/ldap/qmailUser.schema
vpopmail-5.4.30/clearopensmtp.c
vpopmail-5.4.30/vchkpw.c
vpopmail-5.4.30/doc/
vpopmail-5.4.30/doc/README.quotas
vpopmail-5.4.30/doc/README.pgsql
vpopmail-5.4.30/doc/AUTHORS
vpopmail-5.4.30/doc/README.vlimits
vpopmail-5.4.30/doc/README.activedirectory
vpopmail-5.4.30/doc/README.onchange
vpopmail-5.4.30/doc/README.mysql
vpopmail-5.4.30/doc/README.vqmaillocal
vpopmail-5.4.30/doc/README.oracle
vpopmail-5.4.30/doc/README.spamassassin
vpopmail-5.4.30/doc/README.qmail-default
vpopmail-5.4.30/doc/README.ipaliasdomains
vpopmail-5.4.30/doc/README.vdelivermail
vpopmail-5.4.30/doc/TODO
vpopmail-5.4.30/doc/doc_html/
vpopmail-5.4.30/doc/doc_html/vpopmail5.abw
vpopmail-5.4.30/doc/doc_html/vpopmailapi.png
vpopmail-5.4.30/doc/doc_html/vpopmail.html
vpopmail-5.4.30/doc/UPGRADE
vpopmail-5.4.30/doc/FAQ
vpopmail-5.4.30/doc/COPYING
vpopmail-5.4.30/doc/README.authvchkpw
vpopmail-5.4.30/doc/README.vpopmaild
vpopmail-5.4.30/doc/README.roamingusers
vpopmail-5.4.30/doc/README
vpopmail-5.4.30/doc/man_html/
vpopmail-5.4.30/doc/man_html/clearopensmtp.html
vpopmail-5.4.30/doc/man_html/index.html
vpopmail-5.4.30/doc/man_html/vsetuserquota.html
vpopmail-5.4.30/doc/man_html/vdelivermail.html
vpopmail-5.4.30/doc/man_html/vpasswd.html
vpopmail-5.4.30/doc/man_html/vadduser.html
vpopmail-5.4.30/doc/man_html/vdeldomain.html
vpopmail-5.4.30/doc/man_html/vdeluser.html
vpopmail-5.4.30/doc/man_html/vconvert.html
vpopmail-5.4.30/doc/man_html/vaddaliasdomain.html
vpopmail-5.4.30/doc/man_html/vchkpw.html
vpopmail-5.4.30/doc/man_html/vadddomain.html
vpopmail-5.4.30/doc/man_html/vpopbull.html
vpopmail-5.4.30/doc/INSTALL
vpopmail-5.4.30/doc/README.maildrop
vpopmail-5.4.30/doc/README.filelocking
vpopmail-5.4.30/doc/README.sybase
vpopmail-5.4.30/doc/README.ldap
vpopmail-5.4.30/maildrop/
vpopmail-5.4.30/maildrop/maildroprc.v1
vpopmail-5.4.30/maildrop/maildroprc.v2
vpopmail-5.4.30/bigdir.c
vpopmail-5.4.30/vusaged/
vpopmail-5.4.30/vusaged/userstore.c
vpopmail-5.4.30/vusaged/cache.h
vpopmail-5.4.30/vusaged/queue.c
vpopmail-5.4.30/vusaged/user.h
vpopmail-5.4.30/vusaged/socket.h
vpopmail-5.4.30/vusaged/userstore.h
vpopmail-5.4.30/vusaged/query.c
vpopmail-5.4.30/vusaged/uthash.h
vpopmail-5.4.30/vusaged/shutdown.h
vpopmail-5.4.30/vusaged/path.h
vpopmail-5.4.30/vusaged/Makefile.in
vpopmail-5.4.30/vusaged/cache.c
vpopmail-5.4.30/vusaged/queue.h
vpopmail-5.4.30/vusaged/domain.h
vpopmail-5.4.30/vusaged/signal.h
vpopmail-5.4.30/vusaged/directory.h
vpopmail-5.4.30/vusaged/grow.c
vpopmail-5.4.30/vusaged/list.c
vpopmail-5.4.30/vusaged/signal.c
vpopmail-5.4.30/vusaged/query.h
vpopmail-5.4.30/vusaged/domain.c
vpopmail-5.4.30/vusaged/shutdown.c
vpopmail-5.4.30/vusaged/socket.c
vpopmail-5.4.30/vusaged/user.c
vpopmail-5.4.30/vusaged/configure.ac
vpopmail-5.4.30/vusaged/quota.h
vpopmail-5.4.30/vusaged/vusaged.c
vpopmail-5.4.30/vusaged/list.h
vpopmail-5.4.30/vusaged/grow.h
vpopmail-5.4.30/vusaged/etc/
vpopmail-5.4.30/vusaged/etc/vusaged.conf
vpopmail-5.4.30/vusaged/packet.h
vpopmail-5.4.30/vusaged/INSTALL
vpopmail-5.4.30/vusaged/directory.c
vpopmail-5.4.30/vusaged/packet.c
vpopmail-5.4.30/vusaged/ChangeLog
vpopmail-5.4.30/vusaged/configure
vpopmail-5.4.30/vusaged/contrib/
vpopmail-5.4.30/vusaged/contrib/rc.vusaged
deepfuture@ubuntu-sdp:/usr/tmp$ sudo groupadd vchkpw
deepfuture@ubuntu-sdp:/usr/tmp$ cd /
deepfuture@ubuntu-sdp:/$ sudo useradd -g vchkpw vpopmail -s /bin/false
deepfuture@ubuntu-sdp:/$ sudo usermod -d /var/vpopmail vpopmail
deepfuture@ubuntu-sdp:/$ sudo mkdir /var/vpopmail
deepfuture@ubuntu-sdp:/$ chown -R vpopmail /var/vpopmail
安装mysql
deepfuture@ubuntu-sdp:/$cd /usr/tmp/vpopmail-5.4.30
deepfuture@ubuntu-sdp:/usr/tmp/vpopmail-5.4.30$ sudo apt-get install mysql-server mysql-client
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
mysql-server 已经是最新的版本了。
下列软件包是自动安装的并且现在不再被使用了:
linux-headers-2.6.31-14-generic-pae linux-headers-2.6.31-14 libdns50
使用'apt-get autoremove'来删除它们
下列【新】软件包将被安装:
mysql-client
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 32 个软件未被升级。
需要下载 63.7kB 的软件包。
解压缩后会消耗掉 102kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com karmic/main mysql-client 5.1.37-1ubuntu5 [63.7kB]
下载 63.7kB,耗时 1s (42.5kB/s)
选中了曾被取消选择的软件包 mysql-client。
(正在读取数据库 ... 系统当前总共安装有 70303 个文件和目录。)
正在解压缩 mysql-client (从 .../mysql-client_5.1.37-1ubuntu5_all.deb) ...
正在设置 mysql-client (5.1.37-1ubuntu5) ..
deepfuture@ubuntu-sdp:/usr/tmp/vpopmail-5.4.30$sudo apt-get install mysql-admin
安装mysql头文件
deepfuture@ubuntu-sdp:/usr/tmp/vpopmail-5.4.30$sudo apt-get install libmysqlclient15-dev
配置
deepfuture@ubuntu-sdp:/usr/tmp/vpopmail-5.4.30$ sudo ./configure -enable-auth-module=mysql -enable-valias
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gawk... (cached) mawk
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for library containing strerror... none required
checking for crypt in -lcrypt... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for inttypes.h... (cached) yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking endian.h usability... yes
checking endian.h presence... yes
checking for endian.h... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
...........
............
发表评论
-
R语言与数据分析
2015-05-15 20:58 2068当今计算机系统要处理的数据类型变得多种多样,并且为了深入理 ... -
prezi-中文输入
2013-01-31 15:33 6797首先,先下载中文字体,用的是Pez_GBC_Fonts中文补 ... -
prezi desktop
2013-01-29 22:36 3064prezi试用版的破解方法 (2012-05-02 ... -
netbsd桌面笔记
2012-12-14 11:55 8140前言:之前完成了FreeBSD和OpenBSD的桌面笔记,今天 ... -
ubuntu12.04-安装 jdk6
2012-11-29 16:44 1989sun-java6不在软件源中。1.首先添加软件源:$sudo ... -
ubuntu-jdk7
2012-11-29 16:22 2122一步:下载jdkhttp://www.oracle.com/t ... -
Forth简介
2012-08-11 16:29 2219FORTH以可延伸的词典 ... -
骨的四大构造
2012-06-28 08:26 1949骨以骨质为基础, ... -
Ubuntu 12.04安装QQ2012
2012-06-27 10:33 3693Ubuntu 12.04安装QQ2012,下载后请根据自己 ... -
ubuntu 安装matlab 2010b 全记录
2012-06-27 10:31 5070更新:今天安装了matla ... -
netbsd5.1.2文档pdf
2012-02-28 17:23 1688netbsd5.1.2文档pdf -
netbsd pkgsrc安装软件说明
2012-02-28 17:18 3458The two aforementioned methods ... -
NetBSD的网络配置
2012-02-28 16:47 2555由于NetBSD的安装方式是比较保守的,必能没有在安装的过程中 ... -
NetBSD基础知识
2012-02-26 20:03 1602NetBSD基础知识 第一章. 何谓NetBSDNetBSD是 ... -
4.4bsd介绍及下载
2012-02-25 18:09 51124.4BSD及其后裔这桩诉讼 ... -
NetBSD 从pkgsrc安装软件
2012-02-22 15:30 4628netbsd安装软件是靠pkgsrc 这个框架是从freebs ... -
解决 does not build with PTH enabled错误
2012-02-22 15:13 1954Code: 2F7# cd /usr/ports/www ... -
美国人写的从程序员的视角阐述计算机系统原理的经典之作
2012-02-18 10:24 2425美国人写的从程序员的视角详细阐述计算机系统的本质概念,并展示这 ... -
Photonvps优惠码
2011-10-22 20:59 2316之前在国庆发布了一组Photonvps优惠码,有网友留言说已经 ... -
免费动态域名
2011-10-19 09:41 1475https://www.dnsexit.com/
相关推荐
如何在redhat-linux5下安装qmail服务器,很完整的版本,自己测试并写的
qmail安装软件及必要补丁: ucspi-tcp-0.88.tar.gz ucspi-tcp-0.88.a_recoid.patch ...qmail-1.03.qmail-local.patch qmail-smtpd-auth-0.31.tar.gz vpopmail-5.2.1.tar.gz cmd5checkpw-0.22.tar.gz
Qmail安装文档Qmail安装文档Qmail安装文档Qmail安装文档Qmail安装文档Qmail安装文档
这是qmail的反垃圾spam,能让你的邮件系统,降底垃圾的影响
Qmail下载、安装、配置(全程详解) linux下的邮件服务器
Qmail 安装。里面含有所有的配置文件信息,不包括安装配置指导。
CentOS+Qmail安装笔记 我以前安装过很多遍QMAIL了,现在都有点麻木,但是还是有很多关于邮件服务器的东西不懂,这个是也是我去年为公司安装的邮件服务器. 那我们开始吧~~~~~~~
这是Perl脚本的集合,可以在dot-qmail(5)配置中使用。 该集合扩展了Dan J. Bernstein所属于qmail软件包的实用程序集,并遵循了qmail-command(8)的约定。
EZ-qmail分发是一种EZ方法,供业余爱好者/小型企业尝试使用qmail系统进行邮件传递。 它提供了一个EZ以安装,更新(修补)和运行(集成)的qmail系统,并可以在其中添加其他功能。
qmail配置 qmail配置qmail配置 邮件系统
qmail 安装文档 很详细的文档 好东西共享给大家
Qmail安装及设定极其详细说明
Qmail-Scanner统计信息(QSS)使用Qmail-Scanner日志文件生成每日,每月和每年的统计信息。 它还显示了由Qmail-Scanner阻止的病毒的完整列表,该病毒来自的前五个域以及国家/地区
一个qmail修补程序,为其SMTP守护程序提供插件支持。
LDAP应用概述与qmail+LDAP安装配置
qmail文档一(qmail+vpopmail+igenus安装)
一.安装环境 1.检测是否安装C编译 yum install gcc 2.先安装好 php mysql named yum install mysql-server mysql-devel bind* [自行配置好DNS服务器] 3.关闭SELINUX; ....
and deployment of a qmail-based server. The book begins with a quick, minimal, step-by-step walkthrough of a bare-bones qmail server, and then introduces and explains the basic design of the qmail ...