从头来过:先用 ntsysv 关闭大部分服务,只留下 acpid\crond\gpm\kudzu\network\proftpd\random\syslog\telnet\xinetd 然后配置telnet: # chkconfig telnet on修改 /etc/hosts.allow,加入in.telnetd : ALL修改 /etc/xinetd.conf,放大并发数到 instances=600 因为只是测试用,也不用太大了,^_^修改 /etc/pam.d/login,注释掉auth required pam_securetty.so关闭放火墙# /etc/init.d/iptables stop 然后 telnet localhost 。。。 居然成功了!不过不知道原因之所在,为什么今天重新操作一遍就OK了是否是因为关闭了一些相关到telnet的一些控制服务?唉,以前都用SCO,现在学linux也还真是痛苦啊 下一步,在CU上查资料,准备安装QMAIL,估计不会顺利,先有个心理准备吧 :( ... 天啊,我要疯了,回到办公室,可以telnet到linux了,
但是ftp居然还是不行!!!
现在也没有其他路,先ftp到其他机器上取收安装包吧 :( 。。。 :-)文件收好,又在CU上找到一篇文章:
邮件服务器(二)Qmail服务器
来源:本文出自:www.computerworld.com.cn 作者: 联想电脑公司软件事业部 汤海京 (2002-02-21 17:29:33) 依样画葫芦,开始做吧 (^_^),祝自己好运
安装包:
基本系统包: netqmail-1.04.tar.gz
web方式用户注册: vqregister-2.5.tar.gz
vqsignup-0.5.tar.gz
虚拟域web方式管理: qmailadmin-1.2.9.tar.gz
自动回复程序: autorespond-2.0.2.tar.gz
tcpserver等服务程序:ucspi-tcp-ssl-pid-0.88.tar.gz
监视工具: daemontools-0.70.tar.gz
报表工具: webreport-1.5.tar.gz
虚拟域用户pop3支持: vpopmail-5.4.17.tar.gz目前还缺少:
pop3验证用户程序:checkpassword-0.90.tar.gz
webmail: sqwebmail-1.2.4.tar.gz
邮件列表管理: ezmlm-0.53.tar.gz
下次再说了。安装QMAIL
先建立用户、组:
# mkdir /var/qmail
# 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 nofiles -d /var/qmail qmailq
# useradd -g nofiles -d /var/qmail qmailr
# useradd -g nofiles -d /var/qmail qmails
安装QMAIL:
# cd /usr/local/src
# tar xvzf netqmail-1.04.tar.gz
# cd netqmail-1.04
这里和文章中有差别了,因为版本是 1.04,先打patch
# ./collate.sh
# cd netqmail-1.04
然后按照原文章中做下去:
# make setup check
# ./config-fast $HOSTNAME
# cd ~alias
# touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
# sed 's/Mailbox/Maildir\//' /var/qmail/boot/home >/var/qmail/rc
# chmod 755 /var/qmail/rc安装tcpserver等服务程序
# cd /usr/local/src
# tar xvzf ucspi-tcp-ssl-pid-0.88.tar.gz
# cd ucspi-tcp-ssl-pid-0.88
# make
# make setup check安装pop3验证用户程序
哦,我现在还缺这个包,下午找,先休息一下了。。。 顺便说一句,刚才在这里发现好东东:http://blog.chinaunix.net/u/22176/showart_220846.html
Linux qmail安装指南已经收下,回去研究 台湾地震,搞的我连不上国外网站,软件包也下不来,只好等...
2006/12/29
上午没空,下午继续。。。
想起还有些包没安装,现在自己装一下看看有没有什么新发现。
虚拟域web方式管理:
# cd /usr/local/src
# tar xvfz qmailadmin-1.2.9.tar.gz
# cd qmailadmin-1.2.9
看看README, 有问题了,再看CU的文章:
在安装前首先要考虑满足以下几项要求:
a.是否拥有一个vpopmail用户vchkpw
b.cgi-bin目录的所在位置
c.ezmlm目录的所在位置
d.autorespond目录的所在位置
如果能够达到以上要求,可以继续安装
嘿嘿,b/c/d都没有啊。不过,自动回复包好象有的,先装上
# cd /usr/local/src
# tar xvfz autorespond-2.0.2.tar.gz
# cd autorespond-2.0.2
看一下README,很简单么,编译就OK了
# make
# make install那么,现在,a、d有了,启动apache的话b也有了。
# cd /etc/httpd/conf
# vi httpd.conf
修改一些配置,此处不多说
# cd ..
# vi php.ini
修改php配置,我主要放大了一些参数
没有找到apache的启动脚本,我到其他UNIX机器上ftp了一份
改一下启动路径和配置文件位置
# /etc/apache start
...
换个XP的机器,http://address/
YES,OK。。。
然后。。。装个 phpMyAdmin,看一下。。。OK
现在时间下午3:00了,下一步,先找到 ezmlm包再继续。
搞到ezmlm-0.53.tar.gz了
# tar xvfz ezmlm-0.53.tar.gz
# cd ezmlm-0.53
# make
发生了一个错误, substdo.c 中的 allwrite函数引用的一个变量 errno 未定义???
晕,彻底晕了,这个变量怎么会没有呢,已经包含了 errno.h 文件了啊!
不管了,我在该c文件中增加了定义 int errno;
# make
居然通过了!?
# make man
# make setup
不成功,创建 /usr/local/man 目录失败,因为已经存在了嘛!
也不管了,继续刚才的 qmailadmin 安装吧。。。# cd /usr/local/src/qmailadmin-1.2.9
# ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmllibdir=/var/www/html/qmailadmin然后,令人兴奋的时刻到了,IE中输入
http://yourdomain/cgi-bin/qmailadmin
my god,简单但是让我欢喜的画面出现了,输入域、密码,登陆成功!!!
新开一个帐户试试。。。OK,成功。
但是等等,怎么用户配额是无限制???
马上看文档,qmailadmin的INSTALL,原来要这样:
# cd /home/vpopmail/domains/yourdomain/
# vi .qmailadmin-limits
加上这么一行(我设了10M):
default_quota 10485760S
再新增一个用户,配额变成了10M了,OK,啦啦啦
今天还是有收获的,目前似乎只有一个Outlook无法收信的问题了?
2006/12/30
想起手里还有个包未装:
# cd /usr/local/src
# tar xvfz vqsignup-0.5.tar.gz
# cd vqsignup-0.5
看一下 INSTALL,第一句就是
This program is not easy to install, so good luck ;]
倒,当头一棒呀!再看下去:
要修改Makefile,但是没有这个文件!从Makefile.in生成?
目录下有个 configure,还是先运行这个吧:
先看configure的帮助,我使用了这个命令行:
# ./configure --enable-qmaildir=/var/qmail --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html
看到最后生成了Makefile了,哈哈,make吧
# make
再看INSTALL,执行了以下命令:
# cp vqsignup /var/www/cgi-bin/vqsignup.cgi
# cp vqsignup.conf /var/www/cgi-bin/
# cp vqsignup.html /var/www/html/
# cd /var/www/cg-bin
# vi vqsignup.conf
把domain改为我自己的。
# cd ../html
# vi vqsignup.html
把domain改为我自己的。
然后 IE: http://address/vqsignup.html
简单的画面,输入用户、口令,回车。。。一片空白?
奇怪,再研究,似乎应该是没找到一些html文件吧,
把他们拷贝到cgi目录下试试:
# cd /var/www/cgi-bin
# mkdir vqsignup
# mkdir vqsignup/html
# cd mkdir vqsignup/html
# cp /var/www/html/vqsignup/html/* .
下面我把所以涉及到的文件都改了用户/组为 vpopmail/vchkpw
然后再 IE: http://address/vqsignup.html
简单的画面,输入用户、口令,回车,OK,显示成功了,虽然是英文的
再 IE: http://108.32.13.116/cgi-bin/qmailadmin
用管理员 postmaster 登陆进去一看,哇哈哈,用户已经在那里了,配额也对!!!
HOHO,还算顺利呀,下面我就把这几个HTML文件稍稍汉化了一下,嘿嘿 :-)顺便说一句,昨天碰到的,我的Outlook可以发却收不到的问题已经解决
是因为outlook的设置里,由于是虚拟用户,所以pop3的设置的帐户名称要全称:
mygod@yourdomain 就是我的电子邮件地址啦。
不过,碰到新问题,似乎发信不需要身份认证!!!还要查资料改配置呀,任重道远啊!!!
2006/12/30下午了,正好有点时间,来看看下载下来的资料(都是来自CU的,哇哈哈,表BS我)
给qmail加上邮件大小限制
# cd /var/qmail/control
# vi databytes
加入一行,3072000 ,是字节数,3M大小的限制。
测试一下,OK,outlook收到一个邮件太大的错误信息。
现在总结一下我的邮件服务器:
1、工作环境
Turbo Linux Dataserver 7
apache-1.3.27
php-4.2.3
mysql-server-4.0.20
以上是系统自带的web服务器、php和mysql
自己安装的软件如下:
qmail-1.04
vqsignup-0.5
qmailadmin-1.2.9
autorespond-2.0.2
ucspi-tcp-ssl-pid-0.88
daemontools-0.70
vpopmail-5.4.17
ezmlm-0.53
2、功能
SMTP/POP3收发信
虚拟域支持
邮件用户/系统用户分离
邮件列表支持
邮件大小限制
邮件转发
自动回复
Web管理
用户web注册
3、不足
缺少SMTP发信认证功能,容易被滥用!!!
没有webmail
没有反垃圾邮件
没有反病毒支持
。。。不过,鉴于三~四天前,我对邮件服务器还是一窍不通的情况下,
而且,等光缆修好了,再去下载checkpassword和sqwebmail来,
估计可以再有点进步,其他的功能就慢慢来吧,这样一想,
我不禁还是有点沾沾自喜了。。。BS 明天就休息了,接下来就是2007年1月4日了,希望可以有新惊喜!
2007/1/18
最新一直忙于其他琐事,今天下午才有了点时间。
上网下载到了 checkpassword-0.90.tar.gz,cmd5checkpw-0.22.tar.gz
开始忙乎吧:
# cd /usr/local/src/
# tar xfvz checkpassword-0.90.tar.gz
# cd checkpassword-0.90
# make
居然出现错误!!!
undefined reference to `errno' 。。。
又是未定义变量,太太太那个什么了吧?!
不管了,照上次一样处理了,
在 checkpassword.c 和 buffer_put.c 中增加了这个变量定义 int errno;
# make
居然通过,下面:
# make setup check
没有错误
# cd /usr/local/src
# tar xvfz cmd5checkpw-0.22.tar.gz
# cd cd cmd5checkpw-0.22
# mkdir /usr/man/man8
# make
# make install
好了,下面来搞这个SMTP认证吧。
修改qmail启动脚本文件 /var/qmail/bin/qmail
将smtp启动命令改为:
/usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb 0 smtp \
/var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw \
/bin/true /bin/md5checkpw /bin/true 2>