2004年11月29日
#
虽然两首歌的演唱者大家都不熟悉, 不过歌真的不错~!希望朋友喜欢~:)
---[回心转意]-------------------

1998年被誉为“亚洲四小龙”之一的黑龙与其他三人共同举办“四小龙”全国巡回演唱会100场,所到之处一片沸腾,黑龙名声鹊起。而此后,黑龙却一度因伤沉寂于歌坛。 然而,真正的歌手不会因离开荧屏上的舞台而改变本色,黑龙在伤病期间,依然苦心经营自己的原创事业,努力提高演唱水平,改进演唱技巧。 伤愈后,黑龙全力投身公益事业,2000年应邀与孙悦共同担任湖北卫视“阳光行动”的爱心大使,参加巡回演出。所募得款项全部捐献给了慈善事业,黑龙个人分文未取。正如他98年出版的第一张专辑中主打歌所唱:“做人就要实实在在。”2001年,黑龙在福州举办了“阳光与爱”个人演唱会。 黑龙十年磨剑,终于在2003年6月,正式签约辽宁北方天狼文化艺术有限公司,隆重推出《回心转意》《无法忘记》《爱不到的滋味》三首单曲,重新浮出水面。
歌词:
曾是你陪我度过漫长的那么多天
是你对我说还有真爱
而我却不懂如何呵护你
爱你却伤了你的心
就在我的心刚要融化的时候
而你却悄悄地离去
我多希望你,希望你回心转意
因为我将会把你珍惜
还有什么话要说
还有多少泪要流
难道你不知道我对你的爱
还有什么话要说
还有多少泪要流
有一天我会让你回心转意
就在我的心刚要融化的时候
而你却悄悄地离去
我多希望你,希望你回心转意
因为我将会把你珍惜
还有什么话要说
还有多少泪要流
难道你不知道我对你的爱
还有什么话要说
还有多少泪要流
有一天我会让你回心转意
如果一切可以再重来
我将用生命去珍惜她
如果一切可以再重来
我将用生命去等待她
我将忘掉那昨天的昨天
让生命去爱你直到永远
还有什么话要说
还有多少泪要流
难道你不知道我对你的爱
还有什么话要说
还有多少泪要流
有一天我会让你回心转意
还有什么话要说
还有多少泪要流
有一天我会让你回心转意
---[老鼠爱大米]-----------------

艺名:刚刚
出生日期:10月14日
星座:处女座
身高:162
爱好: 街舞,音乐吃东西
格言:-自己喜欢的就要 去追求
MSN:88_VIP@SINA.com
歌词:
我听见你的声音
有种特别的感觉
让我不断想不敢再忘记你
我记得有一个人
永远留在我心中
哪怕只能够这样的想你
如果真的有一天
爱情理想会实现
我会加倍努力好好对你永远不改变
不管路有多么远
一定会让它实现
我会亲亲在你耳边对你说(对你说)
我爱你爱着你
就像老鼠爱大米
不管有多少风雨我都会依然陪着你
我想你想着你
不管有多么的苦
只要能让你开心我什么都愿意
这样爱你
我听见你的声音
有种特别的感觉
让我不断想不敢再忘记你
我记得有一个人
永远留在我心中
哪怕只能够这样的想你
如果真的有一天
爱情理想会实现
我会加倍努力好好对你永远不改变
不管路有多么远
一定会让它实现
我会亲亲在你耳边对你说(对你说)
我爱你爱着你
就像老鼠爱大米
不管有多少风雨我都会依然陪着你
我想你想着你
不管有多么的苦
只要能让你开心我什么都愿意
这样爱你
我爱你爱着你
就像老鼠爱大米
不管有多少风雨我都会依然陪着你
我想你想着你
不管有多么的苦
只要能让你开心我什么都愿意
这样爱你
孙燕姿的新专辑《Stefanie》刚推出不久,就已被电脑病毒作者盯上了。据悉,一个蠕虫病毒“燕姿”(Worm.YanZi)正打着孙燕姿的旗号疯狂传播。这个病毒在短短的24个小时内就出现了变种,其传播速度正在加快。
呵.很是搞笑啊..竟然用名人来做病毒了,牛~!!:)
2004年11月27日
#
11月26日晚,王杰首次北京演唱会在首都体育馆举行,沉寂多时的歌手王杰再展歌喉,重显90年代流行金曲的动人魅力,令歌迷大饱耳福。整场演唱会气氛热烈中更带有无尽温情,令不少观众潸然泪下。


李小龙(1940.11.27-1973.7.20)
李小龙的一生是短暂的,但却如同一颗耀眼的彗星划过国际武坛的上空,对现代技击术和电影表演艺术的发展作出了巨大的贡献。他主演的功夫片风行海外,中国功夫也随之闻名于世界。许多外文字典和词典里都出现了一个新词:“功夫”(Kung fu)。在不少外国人心目中的功夫就是中国武术,李小龙也成了功夫的化身。许多国外武林高手、空手道拳师,泰拳大师看过李小龙主演的功夫片后都承认:“李小龙确有真功夫。”确实,还很少有一位东方武术家能像李小龙一样突破国家、种族的领域,并且在死后声威依然不减。
:::: 龙之档案 ::::
李小龙,伟大的武术技击家,世界武功片电影表演家,截拳道的创始人。
原名:李振藩
英文名:Bruce Lee
原藉:广东顺德
生于:1940年11月27日
卒于:1973年7月20日
生肖:龙
肆业于香港喇沙书院
7岁从影,13岁习武
入门功夫:咏春拳
父亲:李海泉(粤剧名丑)
母亲:何金棠(欧亚混血)
太太:莲达
儿子:李国豪(拍摄电影中意外丧生)
女儿:李香凝(从影)
李小龙有一兄、一弟、两姐
李小龙安息于美国西雅图湖景墓地,由儿子李国豪陪伴。
五大名作:
《唐山大兄》(1971年)
《精武门》(1972年)
《猛龙过江》(1972年)
《龙争虎斗》(1973年)
《死亡游戏》(1973年)少年时期的李小龙
李小龙生于美国三藩市,他的童年和少年是在香港度过的。李小龙幼时身体非常瘦弱。他父亲为了儿子的体魄强壮,在他7岁时便教其练习太极拳。李小龙在13岁时跟随名师叶问系统地学习了咏春拳,并在家中设一座木桩,每天对着木桩勤练不辍。此外,他还练过洪拳、白鹤拳、谭腿、少林拳、戳脚等拳种,为后来自创截拳道打下了坚实的基础。
为了提高技击水平,李小龙除了勤习中国拳术外,还研究西洋拳的拳法,他一边参加西洋拳训练班,一边节省零用钱购买世界拳王路易士的拳击赛纪录片,从中学习拳王的步法、身法、拳法和训练方法;他还经常参加校内外的拳击比赛,不断丰富实战经验。赴美深造自创截拳道
李小龙在家庭的告诫下,18岁那年决定离开香港到美国留学。
李小龙在西雅图的生活相当艰苦,进人大学就读以后,他除了学习外,把精力都放在研习武术上。他在学校里组织了一支“中国功夫队”,经常在校园里进行训练和表演,博得了师生们的好评。
1964年,美国在加利福尼亚州举行全美空手道比赛,当时年仅24岁的李小龙横扫所有选手取得了桂冠。
李小龙经过精益求精的潜修苦练,使功夫逐渐娴熟乃至达到更高的境界。其中的“李三脚”、“寸拳”和“勾漏手”更是他的绝招。
李小龙是个多面手,除了精通各种拳术外,还擅长长棍、短棍和二节棍等各种器械,并研习气功和硬功。
李小龙从实战出发,以中国武术为基础,吸收西洋拳、空手道、跆拳道、泰国拳等技击术的优点和特长,总结多年的经验自创了一种拳术---截拳道。设馆广授徒宣扬真功夫
李小龙为了宣扬中华武术,在大学2年级期间,租了校园的一个停车场角落,挂起了“振藩国术馆”的牌子。他边教边练,刻苦磨炼,技术大有长进,尤以腿功造诣更为精深。
在振藩国术馆里,他认识了来学武术的医学院女学生莲达,经过一年多的交往,他们渐渐产生了感情,在1964年8月,他俩正式结婚。婚后,李小龙夫妇双双辍学,合力经营武术馆。
自从李小龙在佛罗里达州唐人街赤手空拳制服4个持刀歹徒,勇救华人少女的消息在报纸上刊登之后,李小龙的名字便传遍了美国,佛罗里达州等电视台也请他表演腿法,中国功夫引起人们的重视。而他创办的振藩国术馆也逐渐兴旺起来了。为了扩大影响,李小龙经常到各处参加武术比赛,并先后在西雅图、奥克兰、洛杉矶等地开设武术分馆授徒。国术馆的规模和设备不断完善,世界上许多显赫的武打明星如美国空手道冠军罗礼士等都争着拜他为师,好莱坞的著名电影明星如占士亨宾和史提夫都是他的门徒。世界拳王阿里也曾登门拜访,与他交流经验。美国国内各流派的拳师经常聚集在李小龙的武馆切磋武艺,他的“以武会友”的宗旨收到了预期的效果。涉足电影界功夫震全球
20世纪70年代初,一股中国功夫影片的狂潮席卷着世界。李小龙这个响亮的名字震撼全球。
1971年夏季,李小龙接受香港嘉乐电影公司的邀请,拍成一部以中国武术为题材的《唐山大兄》。该片创下了香港开埠以来的电影最高票房纪录,达到300万港元。
继《唐山大兄》之后,李小龙又拍摄了《精武门》,引起更大的轰动。李小龙在片中的大无畏精神和惊人的打斗技巧,特别是他表演中的“李三脚”和“地躺拳”,令人赞不绝口。此后,李小龙又自组协和电影公司,自编、自导、自演了影片《猛龙过江》和《死亡游戏》,还与美国华纳电影公司联合拍摄了《龙争虎斗》,并亲自担任了主角。英年突夭折龙威仍未减
正当李小龙雄心勃勃,大展宏图,准备继续拍完《死亡游戏》的时候,由于药物过敏,1973年7月20日突然在香港逝世,享年才33岁。
李小龙由于在武术和电影等方面有卓越的贡献,他先后在1972年和1973年两度被国际权威武术杂志《黑带》评为世界七大武术家之一。1972年还被香港评为十大明星之一。美国报刊把他誉为“功夫之王”,日本人称他为“武之圣者”,香港报纸赞誉他为“当代中国武术及电影史上的奇才”。在美国、日本、英国、香港、台湾等国家或地区同时出版了纪念李小龙的多种多样的杂志和特刊,都称他为“发扬中国武术最有成效的人。”
李小龙多才多艺,亦文亦武。他每当练功之余,埋头研究武术理论与训练方法。他逝世前留下了七大本学武笔记和六本著作手稿:《截拳道》、《截拳道研究》、《功夫记录》、《二节棍法》、《布鲁斯-李拳术图解》(英文版)和《布鲁斯-李武打技法》(英文版)。世界各国技击杂志仍在不断地研究、介绍他的武功,世界各地的武术爱好者依然崇拜他。当回顾作为一位中华武术传人的李小龙一生时,人们将永远怀念他那颗热爱中华民族、振奋中华民族精神,渴望中华民族强盛的赤诚之心。
一个存在于Sun Java插件中的安全漏洞可以为病毒在Windows和Linux系统中疯狂肆虐提供了条件。
据悉,该漏洞是一名芬兰安全研究人员Jouko Pynnonen于今年6月份发现的,但直至本周二有关该漏洞的详细信息才被公开。该漏洞已被安全机构Secunia定级为“高度”危险。但是,Sun公司目前已经修复了该项漏洞。
众所周知,Java插件能够确保一些Web小程序安全地在计算机上运行,但该漏洞却允许恶意站点绕通过浏览器绕过这些防护。
Pynnonen在一份电子邮件中称:“该漏洞可以使计算机在无需用户干预的情况下自动执行黑客所创建的恶意代码。因此,这是一个危险度极高的漏洞。”
Pynnonen还称:“同时,该漏洞还影响到多种操作系统和多个浏览器程序,如Windows或Linux操作系统,以及IE或Firefox浏览器。”
如果该漏洞被所利用,那么黑客几乎可以在用户的计算机中为所欲为,如浏览、修改或执行文件,在系统中加载更多的程序,以及从系统中向外发送数据等。
对此,Sun公司发言人表示:“我们对该问题十分重视,目前已经发布了该漏洞的补丁程序。”上周,Sun刚刚发布了有关新版操作系统Solaris 10的详情。当时,公司总裁Jonathan Schwartz表示侥壳拔梗琂ava从未被任何一种Java病毒所攻击过。
hd
这个文章其实我很早前就应该写了,因为以前做过的Qmail的东东非常的多了,但是一直很懒惰, 导致的最大的问题就是每次做FreeBSD下的Qmail系统都是重新看文章来过。今天终于决定边装边写了。
一、安装Qmail
安装Qmail很简单的,使用ports中的qmail来安装就好了:
cd /usr/ports/mail/qmail
make -DWITH_BIG_TODO_PATCH install
make disable-sendmail
make enable-qmail
make clean
这里第三步和第四步是将sendmail的缺省mail变更成为Qmail。需要注意的是这样设置必须要在 /etc/rc.conf 中加入:
sendmail_enable="NONE"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
这些将彻底在系统启动时禁止sendmail的任何动做。
一般的情况下我们会使用Qmail的MailDir方式来启动Qmail,所以我们需要将maildir启动脚本激活,但是我们为后面的svscan要做一些准备,所以将以下脚本:
env env - PATH="/var/qmail/bin:/usr/local/bin"
qmail-start ./Maildir/
放入 /var/qmail 中的 rc 文件中。并使用 chmod +x /var/qmail/rc 命令给rc加上执行权限。
注意:如果你在安装qmail时如果发现它不能正确找到你的域名解析时安装的配置文件不会安装全,这里你需要自己手工进行一次配置:
cd /var/qmail/configure
./config-fast $HOSTNAME
请使用你这台机器的主机名代替$HOSTNAME。这样操作后,Qmail的缺省配置文件都会自动生成。
二、安装和设置MySQL
安装MySQL需要的是时间而不是技巧:
cd /usr/ports/databases/mysql40-server
make -DWITH_CHARSET=gbk install
make clean
我们要为vpopmail提前准备好MySQL的库和用户:
mysqladmin create vpopmail
mysql -u root -p
mysql>use mysql
mysql>GRANT SELECT , INSERT , UPDATE , DELETE , CREATE ,
DROP , FILE , INDEX , ALTER , SHOW DATABASES ,
CREATE TEMPORARY TABLES , LOCK TABLES ON * . * TO "vpopmail"@ "localhost"IDENTIFIED BY "vpopmail"WITH
MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
mysql>FLUSH PRIVILEGES;
这里创建了一个用户名为vpopmail,同时设置其密码为vpopmail。
三、安装vpopmail
安装vpopmail更多的是参数要注意,其它的都会很简单:
cd /usr/ports/mail/vpopmail
make WITH_MYSQL=yes WITH_MYSQL_SERVER=localhost
WITH_MYSQL_USER=vpopmail WITH_MYSQL_PASSWD=vpopmail
WITH_MYSQL_DB=vpopmail WITH_MYSQL_LIMITS=yes
make install
make clean
vpopmail支持对用户认证数据库的读写分离,这样的读写分离的好处在于可以使用不同的服务器来异步处理用户的增加和查询操作。 在安装完vpopmail后,你可以在 /usr/local/vpopmail/etc 中找到 vpopmail.mysql 文件,它的只是一个空文件。 这个文件需要你加入两行内容,以将对mysql数据库的读和写方法信息告诉vpopmail,它的格式如下:
read_server|read port|read_user|read_password|database_name
update_server|update port|update_user|update_password|database_name
第一行的内容是读取数据库的访问信息,第二行是更新数据库的访问信息。
安装好和vpopmail后我们当然需要测试一下它是否能正常的运行,包括连接MySQL数据库和正常的操作Qmail的数据文件:
cd /usr/local/vpopmail/bin
./vadddomain test.com
./vadduser hd@test.com
第二步是向系统加入 一个域名,第三步是向该域名中加入一个用户。在输入命令后它都会提示你输入密码,域名的密码是用来维护该域中用户的mast用户的密码。 如果没有任何的错误提示,哪么恭喜你,你走过了大多数的艰苦步骤,已经走上了光明大道了。有不少人向我质问不在数据库建立表结构,其实大家要知道你如果做到了以下工作:
在安装之前已经更新了ports
数据库的用户和库已经正确安装
在vpopmail.mysql中设置正确了数据库访问信息
哪么你的vpopmail会自动的在mysql的库中建立相应的表的。
四、安装QmailAdmin
我很痛苦每次增加一个用户就ssh到服务器上,su成vpopmail,再输入命令。也许这只是痛苦的开始,你还要面对改密码、增加邮箱转发等等'高级'或是'额外'的用户要求。 于是,一个可爱的管理系统前来将大家于水火中解救出来:QmailAdmin。上面所有的一切,它都能帮你做到。我们来使用万能的ports罢:
cd /usr/ports/mail/qmailadmin
make -DWITH_MODIFY_QUOTA
make install clean
它将qmailadmin的cgi-bin安装到了 /usr/local/www/cgi-bin.default 的 qmailadmin 目录中。将这个目录用 ln -s 命令连接到你的cgi-bin目录中去。启动你的浏览器试试罢,一个域的管理帐号是postmaster,用域的密码登录进去好了。
五、安装和配置daemontools
安装
我很讨厌daemontools的配置,而且非常烦它哪种启动和监视daemon的目录结构,但是好象Qmail的作者很是推崇自己的这个小作品。 再加上谁都担心Qmail哪一小撮进程有一个完蛋后没有人能知道而重新启动,所以我们还是来配置一下这个丑陋的小东西罢。先安装它:
cd /usr/ports/sysutils/daemontools
make install clean
这个工具最大的特点就在于安装容易到了极限,而配置复杂到了极限!先来建立Qmail的服务日志目录,并给Qmail加上权限:
mkdir -p /var/log/qmail/qmail-smtpd
mkdir -p /var/log/qmail/qmail-pop3d
mkdir -p /var/log/qmail/qmail-send
chmod -R 755 /var/log/qmail
chown -R qmaill:wheel /var/log/qmail
配置svscan
最好建立以下内容的一个脚本,执行它:
#!/bin/sh
mkdir /service
chmod 755 /service
mkdir /var/qmail/supervise
chmod 755 /var/qmail/supervise
mkdir /var/qmail/supervise/qmail-smtpd
mkdir /var/qmail/supervise/qmail-smtpd/log
chmod +t /var/qmail/supervise/qmail-smtpd
mkdir /var/qmail/supervise/qmail-send
mkdir /var/qmail/supervise/qmail-send/log
chmod +t /var/qmail/supervise/qmail-send
mkdir /var/qmail/supervise/qmail-pop3d
mkdir /var/qmail/supervise/qmail-pop3d/log
chmod +t /var/qmail/supervise/qmail-pop3d
ln -s /var/qmail/supervise/* /service/
下面是pop3d的启动脚本:
#!/bin/sh
exec /usr/local/bin/tcpserver -H -R -v -c100 0 110
/var/qmail/bin/qmail-popup host.domain.de
/usr/local/vpopmail/bin/vchkpw
/var/qmail/bin/qmail-pop3d Maildir 2>&1
将这个脚本放入 /var/qmail/supervise/qmail-pop3d/ 的 run 文件中,然后:
再将pop3d的log启动脚本:
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20
/var/log/qmail/qmail-pop3d 2>&1
放入 /var/qmail/supervise/qmail-pop3d/log 中的 run 文件中,之后执行:
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
将smtpd的启动脚本:
#!/bin/sh
QMAILDUID=`/usr/bin/id -u qmaild`
NOFILESGID=`/usr/bin/id -g qmaild`
exec /usr/local/bin/tcpserver -p -R -x
/usr/local/vpopmail/etc/tcp.smtp.cdb -u"$QMAILDUID"
-g"$NOFILESGID" -v -c100 0 smtp rblsmtpd
/var/qmail/bin/qmail-smtpd 2>&1
放入 /var/qmail/supervise/qmail-smtpd 的 run 文件中。
配对的还有smtpd的log启动脚本:
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20
/var/log/qmail/qmail-smtpd 2>&1
放入 /var/qmail/supervise/qmail-smtpd/log/ 中的 run 文件中。之后执行:
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/log/qmail/qmail-smtpd/log
chmod 755 /var/log/qmail/qmail-smtpd/log/run
无尽的长夜呀,还有一个qmail send要搞!将这个脚本:
#!/bin/sh
exec /var/qmail/rc
放入 /var/qmail/supervise/qmail-send/ 中的 run 文件里。并将以下配对的log启动脚本:
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20
/var/log/qmail/qmail-send 2>&1
放入 /var/qmail/supervise/qmail-send/log 中的 run 文件,最终曙光来到了,我们执行以下命令:
chmod 755 /var/qmail/supervise/qmail-send/run
chmod R 755 /var/log/qmail/qmail-send/log
chmod R 755 /var/log/qmail/qmail-send/log/run
不知你的指头是不是酸了呢?总之,这时候去唱个卡拉OK罢,让你的指头休息一下罢,无聊的svscan就像是我们要去唱的哪英的歌一样,被我们“征服”了!
设置系统启动脚本
在系统安装时 /usr/local/etc/rc.d 中的 qmail.sh 文件是连接到了 /var/qmail/rc 文件上的,但是我们需要用svscan来启动,所以我们先要将原有的启动脚本删除,再vi一个 新的启动脚本:
cd /usr/local/etc/rc.d
rm qmail.sh
vi qmail.sh
脚本的内容HD已经辛苦的帮大家抄来了:
#!/bin/sh
case "$1" in
start)
echo -n "Starting qmail: svscan"
if cd /var/qmail/supervise; then
env - PATH="/var/qmail/bin:/usr/local/bin:/usr/bin:/bin" svscan &
echo $! > /var/run/svscan.pid
fi
echo "."
;;
stop)
echo -n "Stopping qmail: svscan"
kill `cat /var/run/svscan.pid`
echo -n " qmail"
svc -dx /var/qmail/supervise/*
echo -n " logging"
svc -dx /var/qmail/supervise/*/log
echo "."
;;
stat)
cd /var/qmail/supervise
svstat * */log
;;
doqueue|alrm)
echo "Sending ALRM signal to qmail-send."
svc -a /var/qmail/supervise/qmail-send
;;
queue)
/var/qmail/bin/qmail-qstat
/var/qmail/bin/qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /var/qmail/supervise/qmail-send
echo "Sending HUP signal to qmail-pop3d."
svc -h /var/qmail/supervise/qmail-pop3d
;;
pause)
echo "Pausing qmail-send"
svc -p /var/qmail/supervise/qmail-send
echo "Pausing qmail-smtpd"
svc -p /var/qmail/supervise/qmail-smtpd
echo "Pausing qmail-pop3d"
svc -p /var/qmail/supervise/qmail-pop3d
;;
cont)
echo "Continuing qmail-send"
svc -c /var/qmail/supervise/qmail-send
echo "Continuing qmail-smtpd"
svc -c /var/qmail/supervise/qmail-smtpd
echo "Continuing qmail-pop3d"
svc -c /var/qmail/supervise/qmail-pop3d
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtpd."
svc -d /var/qmail/supervise/qmail-smtpd
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /var/qmail/supervise/qmail-send
echo "* Restarting qmail-smtpd."
svc -u /var/qmail/supervise/qmail-smtpd
echo "* Sending qmail-pop3d SIGTERM and restarting."
svc -t /var/qmail/supervise/qmail-pop3d
;;
cdb)
tcprules /usr/local/vpopmail/etc/tcp.smtp.cdb /usr/local/vpopmail/etc/tcp.smtp.tmp <
/usr/local/vpopmail/etc/tcp.smtp
chmod 644 /usr/local/vpopmail/etc/tcp.smtp*
echo "Reloaded /usr/local/vpopmail/etc/tcp.smtp."
;;
*)
echo "Usage: $0 {start|stop|restart|doqueue|reload|stat|pause|cont|cdb|queue}"
exit 1
;;
esac
exit 0
在你快乐之余不要忘记要给启动脚本执行权限:
chmod +x /usr/local/etc/rc.d/qmail.sh
如果你现在还在清醒状态,哪么请启动我们伟大的Qmail罢。它已经在我们的系统中安静的存在到了你同意它站立起来了:
/usr/local/etc/rc.d/qmail.sh start
如果启动后发现了问题请首先查看系统中的sendmail是否还能通过 ps -ax 命令看到,如果还能看到,建议你确定已经向上面所说更新过/etc/rc.conf中的配置后,输入让世界重见光明的命令: reboot 罢!要知道轮回是必然的,皇帝明天就能到我家!
六、小技巧
请记住:所有的问题出现时都请到 /var/local/maillog 文件中先查看日志罢。
有关SMTP的安全问题
有许多朋友都问题了我这个问题,我个人来说认为SMTP认证是一个不错的主意,不过qmail给了我们一个更好玩的防止SMTP滥用的办法。
装好系统后,先别着急收邮件,你先使用系统的smtp服务来发一个邮件试试,如果邮件的发送目的不是本域之内的邮箱,你就会从服务器得到一个错误:
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
这里是说本smtp服务器没有将你的目标地址域放 入允许投递的列表中。如果你现在收一下邮件,再发送时就会发现,一切正常了!呵呵,是不是很好玩哟。 这里使用了一个技术,就是当你通过pop3收一回邮件,你的IP地址就会记录在案,你的IP再使用SMTP时就可以向其它的域发送邮件了,而这个IP可使用的时间是30分钟。 如果你想改变这个时间,在编译vpopmail时,修改 Makefile 中的 RELAYCLEAR 变量的值。
有许多方法是将Qmail的SMTP进行补丁,以利用vpopmail的checkpassword来进行smtp验证,我不喜欢这样用的原因主要有:
这需要完全的改变Qmail的smtpd代码,系统升级的情况下就会不可用
这样做会使用SMTP认证的方法,而这样做现在在协议上来说其实是非标准的协议
我有不少的机器需要使用SMTPD服务,但是现在的大多SMTP客户端,由其是命令行的和程序的接口还不支持认证的SMTP协义
所以本文对SMTPD的用户认证不再深入讨论,而使用了Qmail+Vpopmail的另一种安全保证方式。如果你有好的方法 请告诉我 。
注:任何转载或摘抄请保留作者信息和注明文章出处(中文FreeBSD用户组 http://www.cnfug.org)
曾慧鹏
Qmail是世界上安装使用量仅次于Linux/Unix上缺省使用的Sendmail的邮件服务器软件。Qmail配置较Sendmail简单,而且速度较之要快,所以在本邮件系统的架设过程中我选择了Qmail作为邮件服务器的核心。
一个邮件服务器主要包括三个主要的功能,邮件传输代理MTA(Mail Transport Agent)、邮件分发代理MDA(Mail Delevery Agent)和邮件用户代理MUA(Mail User Agent)。Qmail软件包实现了这三个基本的功能,之所以说其只实现了邮件服务器的基本功能是因为它没有实现很多邮件服务器需要的功能,这些功能有些是安全和防止垃圾邮件方面,比如SMTP验证、APOP功能、Relay控制功能和对使用者IP地址的限定等等,还有一些扩展的功能象Webmail功能、虚拟域、基于数据库的用户管理、邮件列表、自动转发它也不能提供。
好在现在Qmail流行开来,有了不少自由软件联盟来为Qmail添砖加瓦,这些人们自发组织起来的联盟开发了能够补偿Qmail不足的一些补丁。这些软件补丁主要包括:
Ucspi-tcp-0.88 (tcpsever服务程序,提供对IP地址限定功能)
Checkpassword-0.81 (把/etc/passwd的用户和密码作为POP3的用户和密码进行验证)
Ezmlm-0.53(支持邮件列表功能)
vpopmail-5.2.2(这个重要,提供虚拟域和数据库支持)
Qmailadmin-0.35 (虚拟域的web管理工具)
Autorespond-1.0.0 (自动回复程序,Ezmlm需要)
Sqwebmail-1.2.0 webmail (一个CGI的Webmail低常?br />Vqsignup-0.4 (提供web方式的用户邮箱注册)
qmail-smtpd-auth-0.26 (提供SMTP认证功能)
cmd5checkpw-0.22 (提供认证加密算法)
因为安装期间涉及的软件众多,如果不能搞清楚各个软件在邮件服务器中所起到的作用将会感到满头雾水。基本的Qmail系统和整个邮件系统的架构如图1和图2所示:

图1 Qmail基本功能结构图

图2 邮件服务器总体架构
有了这些架构在软件安装和调试的过程中会感觉非常的清晰明快。
在安装进行之前必须要有DNS的支持,如果你的服务器IP地址没有被DNS解析可以自己运行named deamon作为DNS服务器,并给自己分配一个域名,然后把自己的IP放到/etc/resolve.conf中。我这里是mail.itp.swjtu.edu.cn。
首先要安装Qmail的基本系统。详细步骤如下:(mail.itp.swjtu.edu.cn替换成相应的邮件服务器的域名)
建立必要的用户和用户组
# pw groupadd nofiles
# pw useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
# pw useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
# pw useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
# pw useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
# pw groupadd qmail
# pw useradd qmailq -g qmail -d /var/qmail -s /nonexistent
# pw useradd qmailr -g qmail -d /var/qmail -s /nonexistent
# pw useradd qmails -g qmail -d /var/qmail -s /nonexistent
创建安装目录,解压安装软件源代码包
# mkdir /var/qmail #创建安装目录缺省为/var/qmail
# tar zxvf qmail-1.03.tar.gz #解开源码
# cd qmail-1.03.tar.gz #进入源码目录
进行安装
# make setup check #安装拷贝文件
#./config-fast mail.itp.swjtu.edu.cn #添加域名到/var/qmail/control目录下的文件中
# (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root)
# chmod 644 ~alias/.qmail*
拷贝MDA执行代码
# cp /var/qmail/boot/home to /var/qmail/rc #拷贝home脚本到缺省启动位置
# csh -cf '/var/qmail/rc &' 启动MDA部分
由于现在有两种比较流行的邮箱目录形式:/home/$user/Mailbox和/home/$user/Maildir/,邮件分发代理MDA要判断邮件往哪一个邮箱分发邮件所以必须正确配置/var/qmail/rc文件,Mailbox是用一个文件来保存$user用户的所有邮件,而Maildir/方式是采用目录的方式来保存用户的每一封邮件,效率比前者高且减少了错误几率。所以推荐使用Maildir/格式,因为rc文件缺省采用Mailbox格式所以我们打开该文件将‘Mailbox’替换成为‘Maildir/’保存,kill掉刚才前面用rc启动的qmail-send等进程并且重新启动MDA。
用Inetd启动smtp模块:
相当于运行了/var/qmail/bin/tcp-env /var/qmail/bin/qmail-smtpd
编辑/etc/inetd.conf,找到smtp模块,去除其前面的注释“#”号
# killall –HUP inetd #重新启动Inetd服务将smtp带起
到整个时候你已经可以通过邮件客户端比如Foxmail连接smtp服务了,整个服务器目前没有任何验证功能,什么用户什么地址都加以转发。
因为目前还没有安装用来做用户名和密码监测的工具,如果只使用FreeBSD的系统用户名和密码文件(/etc/passwd)来作为认证那仅仅安装checkpasswd工具就可以了,安装方法如下:
# tar zxvf Checkpassword-0.81.tar.gz //解包
# cd checkpassword-0.81
# make //编译源代码
# make install check //安装-拷贝checkpasswd到/bin/目录
安装完成之后可以用下面的命令测试一下checkpasswd是否工作正常。
(注:qmail-popup的运行语法是“qmail-popup 服务器域名 运行的子程序”,在这里域名是mail.itp.swjtu.edu.cn,子程序是验证程序checkpasswd。)
# /var/qmail/bin/qmail-popup mail.itp.swjtu.edu.cn /bin/checkpassword pwd
+OK <...@ mail.itp.swjtu.edu.cn >
user zhp //输入用户名 'zhp'
+OK
pass Friend //输入密码'Friend'
/usr/home/zhp/ //认证成功返回zhp用户的用户目录
(-ERR authorization failed) //认证失败则这样显示
如果工作正常就可以把pop3服务的启动代码输入到/etc/inetd.conf文件中了。加入如下字符到该文件中后用“#killall –HUP inetd”重新启动inetd服务。
pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup mail.swjtu.edu.cn /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir //中间不换行
到这个阶段,你的服务器已经可以通过smtp和pop3承担基本的邮件收发任务了,用Foxmail测试一下,如果一切顺利就继续了。
接下来的工作就是利用vpopmail软件来让服务器支持虚拟域。因为现在这个阶段的邮件服务器仅仅能够对FreeBSD上的用户提供邮件服务,如果每增加一个邮件用户都要给系统增加一个用户的话,不但浪费资源而且会带来安全的隐患,而且现在的这个服务器仅仅支持一个域名mail.itp.swjtu.edu.cn。vpopmail提供了虚拟域的功能同时也把基于/etc/passwd的认证转为基于/home/vpopmail/domain/%domain%/passwd.cdb (vpopmail缺省安装在/home/vpopmail,%domain%是建立的虚拟域名)的认证,也可以选择通过数据库存储用户的注册信息,这里就以mysql数据库为例。
为了简单起见,在这里我假设用户已经安装了Mysql服务器并且工作正常。我们只要着手vpopmail的安装和配置就可以了。
先解包、然后配置为以mysql数据库方式认证、编译、安装。
# tar zxvf vpopmail-5.2.2.tar.gz
# cd vpopmail-5.2.2
# ./configure –enable-mysql=y --enable-roaming-users=y
//声明用mysql方式认证并支持漫游用户
# pw group add -g 89 vchkpw //建立用户组vchkpw
# adduser vpopmail //创建用户vpopmail,不用pw user add是因为adduser会创建一个用户目录/home/vpopmail
# make //编译
# make install-strip //安装到/home/vpopmail
Vpopmail安装好了,checkpasswd当然就要“退休”了。Vpopmail中用来取代checkpasswd软件的模块是vchkpw。还是编辑/etc/inetd.conf,把前面设置的pop3那行改为
pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup mail.itp.swjtu.edu.cn home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir
//中间不换行
再用killall-HUP inetd重新启动就可以基于mysql数据库进行认证了。当然我们现在还没有常见任何域和用户,现在谈认证还太早。用下列命令创建域名和用户。
# cd /home/vpopmail/bin
# ./vadddomain mail.itp.swjtu.edu.cn 123456 //创建虚拟域,如果是第一次创建会连 接mysql数据库建立一个vpopmail的数据库
# ./vadduser zhp@mail.itp.swjtu.edu.cn Friend //创建用户zhp
(注:在连接数据库的时候vpopmail可能会错误的去找/usr/local/mysql/tmp/mysql.sock作为和mysql进行连接的渠道,一般mysql.sock被安装到了/tmp/mysql.sock处,用
# mkdir /usr/local/mysql/tmp
# ln –s /tmp/mysql.sock /usr/local/mysql/tmp/mysql.sock
命令建立一个符号连接一般就不会出错了。不过具体问题还要具体分析。)
用vadddomain和vadduser命令来向mysql数据库里面而不是/etc/passwd里面添加用户确实科学可许多但总不能每增加一个用户都去麻烦我们的管理员吧!为了方便的注册用户,这不有了Vqsingup软件包提供了基于WEB的注册功能。其前提当然需要一个WEB服务器,所以鼎鼎有名的Apache担当此任就最合适不过了。
如果你的vpopmail和apache都是安装在缺省的/home/vpopmail和/user/local/apache目录下面,这个软件的安装就简单了。
# tar zxvf vqsignup-0.5.tar.gz
# cd vqsignup-0.5
# make
# make install
如果你的apache装到了别处比如/usr/local/www,那你要找到Makefile把cgibindir = /usr/local/apache/cgi-bin 改为cgibindir = /usr/local/www/cgi-bin。
可能要修改一下相应文件的权限才能在浏览器中看到注册的页面。
# cd /usr/local/apache/cgi-bin/vqsignup
# chown vpopmail vqsignup.cgi
# chgrp vchkpw vqsignup.cgi
# chmod ug+s vqsignup.cgi
要说到这里还没有完,还必须修改那个vqsignup.html文件,把你的可以用域名替换掉那些‘test.com’等东西,其实还有一些路径的问题软件包还没有处理好,这里一下说不清楚,懂一些网页的人应该能轻松搞定,html文件夹内的一些信息提示文件都可以加以汉化和美化一下。安装后的样子如图。
(http://mail.itp.swjtu.edu.cn/vqsignup.html)

图3 sqsignup新用户注册页面
用Inetd来启动smtp和pop3有个问题,就是不能限制来访者的IP,这样固然有不安全因素。所以现在很多邮件服务器网站都采用tcpserver工具来保护自己的网站免受恶意攻击。下面是安装过程:
# tar zxvf ucspi-tcp-0.88.tar.gz
# cd ucspi-tcp-0.88
# make //编译
# make setup check //执行档tcpserver将被安装于 /usr/local/bin 中。
现在我们来改变pop3的运行方式:先把/etc/inetd.conf中的pop3部分删除或者加‘#’注释掉,运行killall –HUP inetd关掉pop3;然后创建一个/pop3.sh脚本加入下面的执行代码:
/usr/local/bin/tcpserver -H -R 0 pop3 /var/qmail/bin/qmail-popup mail.itp.swjtu.edu.cn /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
里面的参数你只要看懂个大概就行了。保存文件后用chmod +x /pop3.sh给文件加上执行属性,最后用sh /pop3.sh执行脚本,pop3就运行在后台了。
说了这么多,可是smtp还没有认证功能呢,这样我们的服务器会被任何人用来relay他们的垃圾邮件。由于qmail本身不提供认证功能,实现这个功能只能靠第三方的插件来实现了,比较有名气的就是qmail-smtpd-auth-0.26 和cmd5checkpw-0.22的组合。由于是打补丁需要qmail的源代码。假设qmail-1.03.tar.gz、qmail-smtpd-auth-0.31.tar.gz在同一目录,则进入该目录后做如下操作:
# tar zxvf qmail-1.03.tar.gz
# tar zxvf qmail-smtpd-auth-0.31.tar.gz
# cp README.auth base64.c base64.h ../qmail-1.03
# patch -d ../qmail-1.03 < auth.patch
# ../qmail-1.03/make qmail-smtpd
# cp ../qmail-1.03/qmail-smtpd /var/qmail/bin/qmail-smtpd-auth
上面的操作实际上是把打了补丁的qmail-smtp执行档单独编译了一下然后拷贝到了/var/qmail/bin下另取名为qmail-smtpd-auth。
接下来安装cmd5checkpw-0.22
#tar zxvf cmd5checkpw-0.22
#cd cmd5checkpw-0.22
#make
#mkdir /usr/man //在FreeBSD中缺省没有这个目录
#make install
最后编写smtp的执行脚本
/usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x /etc/tcp.smtp.cdb -u 89 -g 89 0 smtp /var/qmail/bin/qmail-smtpd.auth /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1 &
\中间没有分行
同前面讲到的/pop3.sh一样编成一个/smtp.sh可执行脚本,在执行前把 /etc/inetd.conf中smtp的项目屏蔽或删除并用killall –HUP inetd关闭前面打开的smtp服务。sh /smtp.sh之后你的服务器就已经有smtp认证功能了。
看看我们的Foxmail要怎么设置,如图4:


图4 Foxmail中认证的设置
现在只能用Foxmail在操作邮件的收发,其实还有一个好工具可以提供方便的Webmail服务,它就是sqwebmail。
我没有用该软件的原版,找了个汉化的版本。安装过程如下:
# tar xvfz sqwebmail-1.2.0.tar.gz
# cd sqwebmail-1.2.0
# ./configure --without-authpam --without-authuserdb --enable-webpass=no --without-authpwd --without-authshadow --with-mimetypes=/usr/local/apache/conf/mime.types
# make configure-check
# make //编译
# make check
# make install-strip
# make install-configure
如果一些顺利那就大工告成,在客户机上打开浏览器,输入http://mail.itp.swjtu.edu.cn/cgi-bin/sqwebmail,出现下面的页面:

图5 sqwebmail的登陆界面

图6 sqwebmail的登陆后的界面
最后为了让服务器在启动的时候自动加载smtp.sh和pop3.sh,我们把它们拷贝到/usr/local/etc/rc.d/目录下面,把# csh -cf '/var/qmail/rc &' 这行启动MDA服务的脚本加到smtp.sh或pop3.sh中就可以了。记住一定要给这两个文件可执行的权限。 由于时间仓促,这份手稿可能有遗漏之处,而且还有很多安装过程也没有搞懂,希望得到各位高手的指教,我的QQ是41185138,Email是 zenghuipeng@163.net 。
姜培军(peijun.jiang)
第一章 所需软件和注意事项
所需软件
ucspi-tcp-0.88.tar.gz
http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
checkpassword-0.90.tar.gz (可选)
http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
cmd5checkpw-0.22.tar.gz
http://members.elysium.pl/brush/cmd5checkpw/dist/cmd5checkpw-0.22.tar.gz
qmail-1.03.tar.gz
http://cr.yp.to/software/qmail-1.03.tar.gz
qmail-smtpd-auth-0.31.tar.gz(Qmail补丁)
http://members.elysium.pl/brush/qmail-smtpd-auth/dist/qmail-smtpd-auth-0.30.tar.gz
qmail-1.03.patch (Qmail补丁)
http://www.ckdhr.com/ckd/qmail-103.patch
vpopmail-5.3.16.tar.gz
http://www.inter7.com/devel/vpopmail-5.3.16.tar.gz
Vpopmail汉化文件
http://www.cw-isquare.com/en-us
autorespond.tar.gz
http://www.netmeridian.com/e-huss/autorespond.tar.gz
ezmlm-0.53.tar.gz
http://cr.yp.to/software/ezmlm-0.53.tar.gz
sqwebmail-3.5.0-CN.tar.gz sqwbmail中文软件包
http://www.cw-isquare.com/ sqwebmail-3.5.0-CN.tar.gz
Qmail-smtpd.c
http://www.cw-isquare.com/qmail-smtpd.c
Qmail-smtpd.path (修正Qmail auth smtp中电子邮件地址任意的patch)
http://www.cw-isquare.com/qmail-smtpd.patch.txt
Mysql
我是用/usr/ports进行安装的mysql
注意事项:
1) 所有程序下载后放在/down目录下
2) 在安装FreeBSD4.7时请把/home和/var尽量分的大一些,因为/home目录是作为所有用户的邮件存放目录,/var是日志存放目录
3) 一下所有操作都是在root权限下进行的,因为root用户对系统拥有全部的权限,所以操作时请进了小心,不要由于误操作带来不必要的麻烦
第二章 DNS设定
1、我自己没有DNS服务器,负责解析的是我们母公司的DNS服务器,我使用nslooks –q=mx mail.localhost.com命令可以查看到已经绑定到我们公司的IP地址上。
2、注:mail.localhost.com为我们公司域名,以下相同。
第三章 安装过程
一、 webmin的安装
1. 下载webmail-1.070.tar.gz
2. Tar zxvf webmain-1.070.tar.gz
3. Mv webmin-1.070 /usr/local/webmin
4. Cd /usr/local/webmin
5. ./setup.sh
根据提示输入安装路径、设置管理用户和密码等,也可以使用默认设置一路回车。
安装webmail的目的在于管理Qmail邮件系统的mysql数据库和邮件队列可以基于web方式,既直观有方便。
二、 Mysql的安装与设置
1、安装mysql
(1)、使用ports安装
#cd /usr/ports/database/mysql323-server
#make install
#cd work/mysql-3.23.52
#scripts/mysql_install_db
#cp support-files/my-medium.cnf /etc/my.cnf
#/usr/local/bin/safe_mysqld & 启动mysql服务
(2)、使用源代码安装
A.建组和用户:
pw groupadd mysql
pw useradd mysql –g mysql –s /nonexitent
B.进行编译:
#cd /down
#tar zxvf mysql-3.23.53.tar.gz
#cd mysql-3.23.53
#./configure --prefix=/usr/local/mysql
#make
#make install
C.运行脚本、添加目录
#scripts/mysql_install_db
#mkdir /usr/local/mysql/var
D.更改文件和目录权限:
# chown -R root /usr/local/mysql
#chown –R mysql /usr/local/mysql/var
#chgrp –R mysql /usr/local/mysql
E.
# cp ./support-files/my-medium.cnf /etc/my.cnf
F.添加启动脚本:
# echo “/usr/local/mysql/bin/safe_mysqld --user=mysql –-skip-networking &” >> /etc/rc.local
备注:--skip-networking参数是限制只有本机可以连接mysql,增加mysql的安全性。
G.启动mysql服务
#/usr/local/mysql/bin/sase_mysqld --user=mysql &
H.更改root的密码:
#/usr/local/mysql/bin/mysqladmin -u root password 'password'
I.拷贝mysql的libmysqlclient.so.10
#cp /usr/local/mysql/lib/mysql/* /usr/lib
#cp /usr/local/mysql/incdule/mysql/* /usr/incdule
s备注:本文使用源码方式安装
2、设置mysql启动
#echo “/usr/local/bin/safe_mysqld --skip-networking &” >> /etc/rc.local
3、修改mysql用户root密码
#/usr/local/bin/mysqladmin –u root –password ‘123456’
4、 添加vpopmail用户
#cd /usr/local/bin
#./mysql -u root –p
#Mysql>use mysql;
#Mysql>grant select,insert,update,delete,create,drop on vpopmail.* to vpopmail@localhost identified by '12345678';
或者安装webmin对数据库进行管理,如果使用以上命令不能使vpopmail用户拥有所有权限,请到webmin的mysql项进行修改。
三、安装TCPSERVER
1、 安装ucspi-tcp
#cd /down
#tar zxvf ucspi-tcp-0.88.tar.gz
#cd ucspi-tcp-0.88
#make setup check
2、 生成tcp.smtp.cdb
#cd /etc
#touch tcp.smtp
#ee tcp.smtp 加入一下内容
127.0.0.1:allow,RELAYCLIENT=""
#cd /usr/local/bin
#./tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
四、 安装cmd5checkpw
#cd /down
#mkdir /usr/man
#mkdir /usr/man/man8
#tar zxvf cmd5checkpw-0.22.tar.gz
#cd cmd5chedkpw-0.22
#make
#make install
如果你不需要对/etc/passwd中的用户开放mail,则不需要安装checkpassword,因为我不需要,所以我没有安装。如果你要使用参考一下方法:
#cd /down
# tar zxvf checkpassword-0.90.tar.gz
# cd checkpassword-0.90
# make setup check
五、 安装Qmail
1、 建立Qmail目录
#mkdir /var/qmail
#mkdir /var/qmail/alias
2、 添加组和用户
#pw groupadd nofiles
#pw groupadd qmail
#pw useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
#pw useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
#pw useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
#pw useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
#pw useradd qmailq -g qmail -d /var/qmail -s /nonexistent
#pw useradd qmailr -g qmail -d /var/qmail -s /nonexistent
#pw useradd qmails -g qmail -d /var/qmail -s /nonexistent
在添加一个系统用户admin作为邮件管理用户
#pw useradd admin –g wheel
3、 给Qmail打补丁
#cd /down
#tar zxvf qmail-1.03.tar.gz
#patch –d ./qmail-1.03 < qmail-103.patch DNS补丁
#patch –d ./qmail-1.03 < qmail-maildir++.patch
#tar zxvf qmail-smtpd-auth-0.30.tar.gz
#cd qmail-smtpd-auth-1.30
#cp base* README.auth ../qmail-1.03
#patch -d ../qmail-1.03 < auth.patch
4、 编译Qmail
#make setup check
5、 添加默认域名
./config-fast localhost.com
6、 修正SMTP认证信息任意输入和任意更改电子邮件发件人地址的补丁
#cd /down
#cp qmail-smtpd.c ./qmail-1.03
#cp qmail-smtpd.patch.txt ./qmail-1.03
#cd qmail-1.03
#patch < qmail-smtpd.pathch.txt
#make qmail-smtpd
#cp qmail-smtpd /var/qmail/bin
7、 设置投递方式
#cp /var/qmail/boot/home /var/qmail/rc
#ee /var/qmail/rc 修改以下内容
exec env - PATH="/var/qmail/bin:$PATH"
qmail-start ./Maildir/ splogger qmail
8、 添加别名用户
#touch /var/qmail/alias/.qmail-root
#touch /var/qmail/alias/.qmail-postmaster
#touch /var/qmail/alias/.qmail-mailer-daemon
#echo postmaster /var/qmail/control/bouncefrom
注意:
/var/qmail/control/locals中必须有缺省域名,否则投递失败的邮件将不知锁踪。
9、 停止Sendmail服务
#chmod 0 /usr/sbin/sendmail
#mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
#cp /var/qmail/bin/sendmail /usr/sbin/sendmail
#vi /etc/rc.conf
#ee /etc/rc.conf 修改如下选项
sendmail_enable="NO"
六、 安装vpopmail
1、 建立目录
#mkdir /home/vpopmail
#mkdir /home/vpopmail/etc
2、 建立组及用户
#pw groupadd vchkpw
#pw useradd vpopmail –g vchkpw
3、 安装vpopmail
#tar zxvf vpopmail-5.3.16.tar.gz
#cd vpopmail-5.3.16
#ee vmysql.h 修改一下内容
#define MYSQL_UPDATE_SERVER "localhost" (mysql服务器名)
#define MYSQL_UPDATE_USER "vpopmail" (用户名)
#define MYSQL_UPDATE_PASSWD "123456" (改成你设置的密码)
#define MYSQL_READ_SERVER "localhost" (mysql服务器名)
#define MYSQL_READ_USER "vpopmail" (用户名)
#define MYSQL_READ_PASSWD "123456" (改成你设置的密码)或者使用root用户和密码
4、 创建tcp.smtp文件(或者使用/etc/tcp.smtp)
#ee /home/vpopmail/etc/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=""
5、 进行编译
#./configure
--prefix=/home/vpopmail \指定安装路径
--enable-mysql=y \是否应用Mysql数据库
--enable-incdir=/usr/local/include/mysql \Mysql数据库include文件所在目录
--enable-libdir=/usr/local/lib/mysql \Mysql数据库lib文件所在目录
--enable-default-domain=localhost.com \定义虚拟域名
--enable-passwd=n \是否使用系统密码验证方式
--enable-defaultquota=52428800 \定义缺省邮箱大小,10485760为10MB,20971520为20MB,52428800s为50MB
--enable-tcprules-prog=/usr/local/bin/tcprules \指定tcprules目录
--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \指定tcprules应用规则文件
--enable-vpopuser=vpopmail \vpopmail的用户
--enable-vpopgroup=vchkpw \vpopmail的组
--enable-ip-alias-domains=n \在虚拟域中允许通过反向IP地址查找虚拟域名
--enable-roaming-users=n \是否支持外地用户的SMTP的RELAY
--enable-sqwebmail-pass=y \sqwebmail的密码支持
# make
# make install-strip
#chmod +s /home/vpopmail/bin/vchkpw
七、 编辑pop3和smtp的启动脚本
1、 编辑POP/SMTP启动文件
A:建立pop.sh
#mkdir /etc/qmail
#cd /etc/qmail
#touch pop.sh
#chmod 755 pop.sh
#ee pop.sh 添加一下内容
#!/bin/sh
/usr/local/bin/tcpserver -c 100 -v –l localhost.com -H -U -R 0 pop3 /var/qmail/bin/qmail-popup localhost.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
B: 建立smtp.sh
#touch smtp.sh
#chmod 755 smtp.sh
#ee smtp.sh 添加一下内容:
# 1003为用户qmaild的id号,1002为组nofiles的id号
#!/bin/sh
LOG_AUTH=1
export LOG_AUTH
/usr/local/bin/tcpserver -H -R -l localhost.com -t 1 -c 100 -v -p –x /etc/tcp.smtp.cdb -u 1003 -g 1002 0 smtp /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /usr/bin/true /bin/cmd5checkpw /usr/bin/true &
注意:如果使用的patch是0.31,在qmail-smtpd后面加入localhost.com,就可以解决auth的问题了。
C:建立qmail启动文件start.sh:
#mkdir start.sh
#chmod 755 start.sh
#ee start.sh 加入一下内容:
#!/bin/sh
csh -cf '/var/qmail/rc &'
/etc/qmail/pop.sh
/etc/qmail/smtp.sh
D: 设置qmail在系统启动时自动启动:
#echo “/etc/qmail/start.sh” >> /etc/rc.local
2、 重新启动系统
#reboot
3、 检查是否能够添加虚拟域
#cd /home/vpopmail/bin
#./vadddomain localhost.com
如果添加失败一定要删除虚拟域,然后查看mysql数据库是否有安装vpopmail时自动添加的数据库,如果没有请检查mysql用户vpopmail是否拥有对数据库拥有全部权限(或者修改vpopmail源文件的vmysql.h使用root用户访问数据库),然后重新安装vpopmail程序。
#./vdeldomain localhost.com
八、 重新编译mysql数据库
1、 修改mysql数据库
#/home/vpopmail/bin/vdeldomain localhost.com
#/usr/local/mysql/bin/mysql –u root –p
use vpopmail;
drop table vpopmail;
create table vpopmail (
pw_id int(5) unsigned NOT NULL auto_increment,
pw_name varchar(32) NOT NULL default '',
pw_domain varchar(64) NOT NULL default '',
pw_passwd varchar(40) NOT NULL default '',
pw_uid int(11) default NULL,
pw_gid int(11) default NULL,
pw_gecos varchar(64) default NULL,
pw_dir varchar(160) default NULL,
pw_shell varchar(20) default NULL,
pw_clear_passwd varchar(16) default NULL,
PRIMARY KEY (pw_id),
KEY pw_name (pw_name,pw_domain)
) TYPE=MyISAM;
退出数据库:quit
2、 重新添加虚拟域和用户
#cd /home/vpopmail/bin
#./vadddomain localhost.com 输入postmaster密码,这是以后使用qmailadmin管理虚拟域localhost.com的密码
#./vadduser test 输入密码test
3、 检查数据库vpopmail的vpopmail表是否有你添加的用户
使用客户端foxmail或者outlook测试用户test@localhost.com, 用户名test(或者test@localhost.com,因为localhost.com作为默认域名,所以不用输入test后面的@localhost.com),密码test,选择smtp需要认证看能不能使用该帐户进行收发邮件。
九、 安装apache
1、 安装apache
下载apache_1.3.26.tar.gz到/down目录
#tar zxvf apache_1.3.26.tar.gz
#cd apache_1.3.26
#./configure --prefix=/usr/local/apache --with-mysql=/usr/local/bin --enable-shared=max
#make
#make install
2、 启动apache
#/usr/local/apache/bin/apachectl start
#echo “/usr/local/apache/bin/apachectl start” >> /etc/rc.local
十、 安装qmailadmin
1、 安装ezmlm
#cd /down
#tar zxvf ezmlm-0.53.tar.gz
#cd ezmlm-0.53
#make
#make man
#make setup
2、 加入ezmlm的mysql支持的方法
A:创建ezmlm数据库
#/usr/local/mysql/bin/mysql -u root –p
mysql>create database ezmlm;
B: 设置ezmlm加入mysql支持
# tar -zxvf ezmlm-0.53.tar.gz
# tar -zxvf ezmlm-idx-0.40.tar.gz
# mv ezmlm-idx-0.40/* ezmlm-0.53/
# cd ezmlm-0.53
# patch < idx.patch
# cd sub_mysql
# ee sub_mysql/conf_sqlcc
-I/usr/local/mysql/include/mysql
# ee sub_mysql/conf_sqld
-L/usr/local/mysql/lib/mysql -lmysqlclient -lnsl -lm –lz
#cd ..
# make mysql
# make clean
# make man
# make ch_GB
# make setup
以上只是一个方法,由于我得邮件列表不算太大,所以我就没有尝试在此安装,如果你需要mysql支持,你可以尝试一下!
3、 安装autorespond
#cd /down
#tar zxvf autorespond.tar.gz
#cd /autorespond
#gcc -Wall -o autorespond autorespond.c
#cp autorespond /usr/local/bin/autorespond
4、 安装qmailadmin
#cd /down
#tar zxvf qmailadmin-1.0.6.tar.gz
#cd qmailadmin-1.0.6
#./configure
#make
#make install-strip
5、 汉化qmailadmin的管理页面
#cd /down
#cp en-us /usr/local/share/qmailadmin/html/en
6、 测试qmailamdin
http://mail.localhost.com/cgi-bin/qmailadmin
输入域:localhost.com
输入postmaster的密码,也就是你添加虚拟域localhost.com是的密码
十一、 安装sqwebmail
1、 安装sqwebmail
#cd /down
#tar zxvf sqwebmail-3.5.0-cn.tar.gz
#cd sqwebmail-3.5.0
#./configure --without-authpam --with-db=db --enable-webpass=yes --without-authpwd --without-authshadow --without-authmysql --with-authldap --with-authuserdb --with-authpwd --with-authvchkpw --without-authdaemon
#make configure-check
#make
#make install-strip
#make install-configure
如果你要同时使用系统用户和虚拟用户:
#系统用户采用shadow验证,虚拟域采用vchkpw验证,禁止其他验证方式
echo “authvchkpw authshadow” > /usr/local/share/sqwebmail/authmodulelist
2、 测试sqwebmail
http://mail.localhost.com/cgi-bin/sqwebmail
使用用户test,密码test,看看时候能够登录进取和收发邮件!
3、 修改apache
#cd /usr/local/apache/htdocs
#touch index.html
#ee index.html 输入一下内容:
此时你就可以通过:
http://mail.localhost.com
直接来访问sqwebmail了。
十二、 安装wmail
#cd /down
#tar zxvf wmail-1.00rc1.20030724.tar.gz
#cd wmail-1.00rc1.20030724
#./install
默认安装到/home/wmail目录下。
修改/home/wmail/html/zh-cn的index.html和invalid.html的
然后修改apache的httpd.conf文件
NameVirtualHost 192.168.0.2
SetEnv SQWEBMAIL_TEMPLATEDIR /home/wmail/html
ScriptAlias “/cgi-bin/” “/home/wmail/www/cgi-bin/”
AllowOverride All
Options +Includes
ServerAdmin postmaster@localhost.com
DocumentRoot /home/wmail/www
ServerName mail2.localhost.com
这样使用:http://mail2.localhost.com就可以访问wmail了。
如果你想同时使用sqwebmail。
在httpd.conf中加入一下:
ScriptAlias “/cgi-bin/” “/usr/local/apache/cgi-bin”
AllowOverride All
Options +Includes
ServerAdmin postmaster@localhost.com
DocumentRoot /usr/local/apache/htdocs
ServerName mail.localhost.com
这样你就可以使用:
http://mail.localhost.com 来访问sqwebmail
http://mail2.localhost.com 来访问wmail了
十三、 成批添加用户
A:第一种方法:
a.在home目录下建立文件adduser.sh
touch adduser.sh
b.编辑adduser.sh
ee adduser.sh 加入一下内容:
#!/usr/bin
while read line
do
echo $line
/home/vpopmail/bin/vadduser $line $line
done < user
c.建立文件user,并输入用户
touch user
ee user
11
22
33
d.执行adduser.sh
./adduser.sh
这样user文件中输入的用户就添加到默认域中了,用户名和密码都是一样的。
B:第二种方法:
a. 建立batchuseradd.sh文件,内容如下:
#!/bin/sh
#batchadduser.sh: batch add mail user.
#install step.
#chmod u+x batchadduser
#./batchadduser.sh domain datafile
if [ $# -lt 2 ]
then
echo "usage: $0 domain datafile"
exit 1
fi
domain=$1
datafile=$2
addcmd=/home/vpopmail/bin/vadduser
while read username passwd
do
$addcmd $username@$domain $passwd
done < $datafile
b. 建立datafile文件,格式如下:
user1 passwd1
user2 passwd2
user3 passwd3
…… ………..
c. chmod u+x batchuseradd.sh
d. ./batchuseradd localhost.com datafile
十四、 附录
1、 Qmail的主要配置文件
badmailfrom none qmail-smtpd 黑名单地址
bouncefrom MAILER-DAEMON qmail-send 退回邮件
bouncehost me qmail-send 退回邮件
concurrencylocal 10 qmail-send 本地同时投递邮件的数目
concurrencyremote 20 qmail-send 同时投递至远程主机的数目
defaultdomain me qmail-inject 默认域名
defaulthost me qmail-inject 默认主机名
databytes 0 qmail-smtpd 邮件的最大容量 (0=无限制)
doublebouncehost me qmail-send
doublebounceto postmaster qmail-send
envnoathost me qmail-send 没有"@"的默认域名
helohost me qmail-remote 主机名
idhost me qmail-inject Message-ID的主机名
localiphost me qmail-smtpd 本地IP的替代名
locals me qmail-send 传递至本地的域名
me 系统正式域名 various
morercpthosts none qmail-smtpd 第二个rcpthosts
percenthack none qmail-send 使用 "%"格式的域名
plusdomain me qmail-inject
qmqpservers none qmail-qmqpc QMQP服务器的IP地址
queuelifetime 604800 qmail-send 在队列中邮件保存的时间(秒)
rcpthosts none qmail-smtpd 接收邮件的域名
smtpgreeting me qmail-smtpd
smtproutes none qmail-remote
timeoutconnect 60 qmail-remote SMTP连接超时时间
timeoutremote 1200 qmail-remote 等待远程主机的时间
timeoutsmtpd 1200 qmail-smtpd SMTP客户连接超时的时间
virtualdomains none qmail-send 虚拟域名
2、 vpopmail参数附录
--enable-roaming-users=n|y
当pop3认证通过后,是否打开对该用户的邮件转发(mail relay),缺省是关闭的。若设置该选项为y,当某个用户通过了pop3认证,则将其IP地址加入许可通过该邮件服务器进行relay的列表中。一个名为clearopensmtp的cronjob程序可以用来实现在这一段时间以后从允许转发邮件地址列表中将该IP地址清除。这个选项要求以-x /etc/tcp.smtp.cdb选项来使用tcpserver运行smtp服务器。
--enable-hardquota=size|n size为具体的数字
设置或打开磁盘限额功能,NOQUOTA缺省为50M,这里=后面的数字单位为字节,如果要限制磁盘限额为10M就需要使用下面这个配置参数:
--enable-hardquota=10000000
若磁盘限额超出,将拒绝接受该用户的新邮件,并返回一封拒绝信息邮件,其中的信息可以定制。
--enable-default-domain=name
该选项为设定缺省域名,推荐将所有的域都设置为虚拟域,并选中一个作为缺省域。对于缺省域的用户,其通过接受邮件时,只需要在用户名中设置其邮件用户名即可,对于其他非缺省域的用户,则需要将用户名设置为@的格式才能通过pop3接受信件。
--enable-ip-alias-domains=y|n
允许通过反向解析来查看虚拟域。缺省情况下,每个域使用基于虚拟域的名字,也就是用户必须在pop3用户名中提供相应的域信息,也就是@.当然也可以使用enable-default-domain配置选项来覆盖该要求。Vpopmail同样支持基于IP地址的虚拟域,若该选项打开则用户不需要在pop3用户名中提供@,vpopmail自动对该用户连接的服务器IP地址进行反向解析,若解析得到一个域名,则vpopmail使用该名字作为域,例如:IP:x.x.x.x对应域名test.com,用户设置pop3服务器的IP地址进行反向DNS查询,得到test.com域名,用户使用test作为用户名,vpopmail使用test.com。
--enable-relay-clear-minutes=360
允许漫游用户通过邮件服务器的转发邮件的时间段。 若--enable-roamin-users=y,则该选项设置clearopensmtp应该保持该IP在允许列 表中的时间,缺省是3小时。
Mysql options
--enable-mysql=n|y
使用mysql,缺省是no.允许通过将账号存放在mysql数据库中来认证用户。
意:在配置和编译以前需要修改文件vmysql.h,正确的设置mysql服务器的 name/ip, mysql用户和mysql用户密码。该用户必需要拥有创建数据库和在其中创建表格的权限。
--enable-sqlincdir=
sql头文件的目录,缺省为/usr/local/mysql.
--enable-sqllibdir=/usr/lib/mysql
库文件libmysqlclient.a的目录,缺省为/usr/lib/mysql
--enable-sqllibs=mysqlclient
mysql库名,缺省为libmysqlclient.a.
--enable-large-site=n|y
缺省值为no,使用该选项是为了适应大量用户的情况。缺省的vpopmail将所有的域信息存放在同一个table-vpopmail中,这对于一般情况下具有很好的效率。但是对于大量用户的系统,则需要将该选项设置为yes。这时候,vpoomail将为每个域创建一个table。最主要的区别是域名不存放在数据库中,因为表格包含了域名。对于大于500,000+的用户,这可以节省大量的磁盘空间。但是对于有大量虚拟域的系统可能会影响mysql的性能。
Vpasswd/cdb options
--enable-ucspi-dir=dir
编译好ucspi包的目录位置,使用该目录来设定ucspi-tcp软件包的路径,缺省为../ucspi-tcp-0.84。vpopmail需要使用该目录中的头文件和两个.a文件。
Logging options
--enable-logging=e|y|n
打开(y)或关闭(n)使用syslog进行log,或e仅仅log错误信息。设置log级别,缺省仅仅记录pop认证错误信息。
--enable-log-name=vpopmail
设置log名
User/group options
--enable-vpopuser=vpopmail
若使用其他的用户来安装该软件包,则在该选项中指定组名。 --enable-vpopgroup=vchkpw
若使用其他的组来安装该软件包,则在该选项中指定组名。
--enable-admin-email=email-address
系统管理员的电子邮件地址。
Directory and file location options
--enable-tcpserver-file=/etc/tcp.smtp tcpserver –x
使用的邮件转发配置文件的存放目录,缺省为/etc
--enable-qmaildir=dir
qmail的安装目录指定,缺省为/var/qmail。
--enable-tcprules-prog=/usr/local/bin/tcprules
tcprules程序的安装位置,缺省为/usr/local/bin
--enable-apop-file=/etc/apop-secrets
apop密钥存放目录
Other options
--enable-apop=y|n
允许或禁止apop认证,缺省是yes
--enable-passwd=y|n
允许或禁止/etc/passwd(或shadow)认证。覆盖自动配置,缺省的配置程序将自动检测系统是使用passwd或shadow密码,通过设置该选项为no,可以禁止所有的/etc/passwd账号认证。
十五、 结束语
至此,一个支持web收发邮件和smtp认证、mail from auth的邮件系统已经建立起来了,该系统支持web页面管理虚拟域。
由于本人技术有限,而且没有任何写作功底,错误之处在所难免,如有发现请批评指正,谢谢!
注:任何转载或摘抄请保留作者信息和注明文章出处(中文FreeBSD用户组 http://www.cnfug.org)
海鹰(Xiaohua)
系统功能与特点:
组建简单成本低:
使用免费但十分优秀的网络操作系统 FreeBSD + 各种优秀的自由软件。无须担心版权问题。对设备整体要求低。
系统有极高的可维护性:
除两个可选模块外,所有软件均采用 ports 树安装,因此系统组建时间短。并能随时升级用上最新最安全的系统软件和安全补丁。
安全性高:
由于采用 UNIX 系统,你不用过于担心病毒问题!所有 windows 上的病毒都对你的邮件系统都是“无效”的!你还可以另外安 装邮件防病毒插件。
整个邮件系统(SMTP、POP、WEBMAIL)还采用了 SSL (安全套接层)传输,能保证整个传输过程中的数据被加密防止被他人盗窃 。有着极高的安全性、稳定性。
界面美观:
Openwebm : 一个十分优秀的 web mail ,本地化语言,简单宜用。还有网络硬盘、SSH 功能。
组合灵活:
系统支持 SMTP、POP、SSL、Webmail 等功能。各功能模块(如 POP、SSL)有相当的选择余地能自由组合,能为不同的用户、 用户组定义不同的邮箱大小。
综述:是一个适合用于企业、学校、个人或其它要高安全性、高性能等站点的小型邮件系统。
本文说明与介绍:
# 此符号开头是注释内容,可加入到相应的配置文件中去。
<== 此符号是本人对此项功能或参数的附注说明、解释,请不要加入到文件中去。
Ssl :安全套接层,用来加密传输过程中的数据。在此系统中此功能是可选部分。
Qpoper POP SERVER:一个使用 mail client 程序收信的服务。在此系统中此功能是可选部分。
所需系统与软件环境:
FreeBSD 4.8 十分优秀的 NET OS
Sendmail SMTP SERVER
安装路径:系统自带
Apache 2.0.47 WEB SERVER
安装路径:/usr/ports/www/apache2
Openssl 0.97 SSL TOOL
安装路径:/usr/ports/security/openssl
Openwebmail 2.10 WEB MAIL
安装路径:/usr/ports/mail/openwebmail/
qpoper POP SERVER
安装路径:/usr/ports/mail/qpopper/
Stunnel 4.04 SSL 服务 TOOL
安装路径:/usr/ports/security/stunnel/
使用 PPPOE 上网,动态 IP
域名申请:
到 www.dns0755.net 申请免费(或收费)域名!有关使用请参考该网站的相关说明。本例是 xiaohua.dns0755.net
演示主页面:
http://xiaohua.dns0755.net <== 不使用 SSL
https://xiaohua.dns0755.net/ <== 使用 SSL
Openwebmail Login 演示页面: <== 强制使用 SSL (可选)
https://xiaohua.dns0755.net/cgi-bin/openwebmail/openwebmail.pl
注意:本例中 Openwebmail 是使用 OS 系统用户作数据库。
Mail client 程序演示服务器(可用 Kmail、OUTLOOK、FOXMAIL 等):
SMTP SERver: xiaohua.dns0755.net <== 使用明文传输, 端口: 25
xiaohua.dns0755.net <== 使用 SSL 传输,端口: 465
POP SERver: xiaohua.dns0755.net <== 使用明文传输, 端口: 110
xiaohua.dns0755.net <== 使用 SSL 传输,端口: 995
演示用户:
用户名、密码:guest
用户名、密码:guest1
启动时自动转发 IP 解释 xiaohua.dns0755.net 域名。
将 www.DNS0755.net 客户端程序放到 /usr/local/dns/ 中去,并配置好你的域名。在 /etc/crontab 中加入:
@reboot xiaohua /usr/local/dns/DNSClient # 启动时自动执行
*/4 * * * * xiaohua /usr/local/dns/DNSClient # 每 4 分钟执行一次(可选,但建议使用)
其中上面的 xiaohua 是本系统的一个用户。表示用 xiaohua 这个用户执行 /usr/local/dns/DNSClien 这个程序。
系 统 安 装
为保证一次成功安装并能用上最新版本的软件,在安装前请先升级你的整个 ports 树。升级前你要安装了 cvsup 软件。可到 http://www.cn.freebsd.org/ports/index.html 下载,然后用 pak_add 命令安装。或用你的 FreeBSD CD 来安装。完成后继续。
cp /usr/src/share/examples/cvsup/ports-supfile /root/
修改 ports-supfile ,将 :
*default host=CHANGE_THIS.FreeBSD.org
改成
*default host=cvsup.cn.FreeBSD.org
接着升级你的 ports 树,执行:
cvsup ports-supfile
升级开始。升级速度视乎你的接入速度。一般半小时内可完成。完成后再安装其余的软件。
安装 Apache 2.0.47:
cd /usr/ports/www/apache2
make install clean
请自行参考有关 apache 的文档配置站点首页及启动 apache 服务。
安装 Openwebmail:
cd /usr/ports/mail/openwebmail/
make install clean
安装 Openwebmail 的文件系统配额与 http 压缩功能模块(此功能可选):
http://openwebmail.com/openwebmail/download/packages/Quota-1.4.6.tar.gz
http://openwebmail.com/openwebmail/download/packages/Compress-Zlib-1.21.tar.gz
下载后 tar 解压,然后进入相应的目录下运行以下命令安装:
perl Makefile.PL
make
make install
OK,Openwebmail 应该起来了,试打入 :
http://you_server/cgi-bin/openwebmail/openwebmail.pl
应该看到 login 画面了!HTTP资料压缩传送功能也应该能用!这样整个 Apache 与 Openwebmail 就起来了。马上用一个系统内的帐户上去看看!
非常漂亮的 Openwebmai 的 login 页面
Opnewebmail 主界面1
Opnewebmail 主界面2
Openwebmail 高级配置:
配置文件在 /usr/local/www/cgi-bin/openwebmail/etc/ 下。共有三个相关文件。但只修改
openwebmail.conf 就行了。
15:10 [xiaohua] [/usr/local/www/cgi-bin/openwebmail/etc] ls -l openwebmail.*
total 8146
-rw-rw-rw- openwebmail.conf <== 用户定义配置,用户可修改
-rw-r--r-- openwebmail.conf.bak <== 这是我的备份文件,不算数
-rw-r--r-- openwebmail.conf.default <== 系统全局配置,不要修改
-rw-r--r-- openwebmail.conf.help <== 配置文件的说明
☆注意:
修改配置前请先备份原配置文件,并仔细“参考、阅读”原 openwebmail.conf 文件再进行配置系统!本文所提到的选项并不一定会出现在原文件中,也不一定是你需要的!更多信息请参考其余两个文件(但最好不要修改)。
以下是我的 openwebmail.conf 文件(只对有需要的作说明)
domainnames auto <== 这里设定域名,请设成你相应的域名,如:xiaohua.dns0755.net
auth_module auth_unix.pl <== 认证方式使用你的 OS 上的系统用户,也可用 sql 、ldap
mailspooldir /var/mail
dbm_ext .db
dbmopen_ext none
dbmopen_haslock no
ow_cgidir /usr/local/www/cgi-bin/openwebmail
ow_cgiurl /cgi-bin/openwebmail
ow_htmldir /usr/local/www/data/openwebmail
ow_htmlurl /openwebmail
logfile /var/log/openwebmail.log
spellcheck /usr/local/bin/ispell
default_language zh_CN.GB2312 <== 使用语言。此部分为手工加入。
default_dateformat yyyy-mm-dd <== 日期格式。此部分为手工加入。
default_hourformat 24
savedsuid_support yes
<== 这是邮局个性化签名
================================================
致此!
欢迎光临海鹰的家! ( https://xiaohua.dns0755.net )
================================================
海鹰:大海之鹰!生命由海而来,随海而去!
┏━━━━━━━━━━━┓
┃■■■■■■■■■ ┃
┗━━━━- 85% ━━━━┛
离成功还有 15%
================================================
<== 自动回信内容
您好:
来信已收到了,我会尽快处理!
你的信件'$SUBJECT' 。致此!!
I will not be reading my mail for a while.
Your mail regarding '$SUBJECT' will be read when I return.
#### 以下是磁盘配额部分,此部分为手工加入。
#### 使用 OS 的文件系统配额。并需在/etc/fstab 中启用配额功能及安装了OS FS 配额模块才能正常使用。
#### 用户配额使用 edquota 命令在系统中设定。可针对用户或组独立设置,很灵活。
quota_module quota_unixfs.pl
############### 下面两项一起使用 #############
#quota_module quota_du.pl <== 使用 openewbmail 配额功能
# 设定使用者能使用的空间上限. 单位:Kbyte 。 这个设定只有在 quota_module
# 不传回使用者 quota 上限时(如 quota_du.pl) 才会被使用。
#quota_limit 82420 <== 设定配额上限,只在使用 quota_du.pl 时有效
☆注意:
quota_unixfs.pl 与 quota_du.pl 两者只能用一个,不能两个同时用。使用 quota_unixfs.pl(OS Files system disk QUOTA) 时会比较灵活,可为不同用户、组设不同的配额。但性能可能相对比 quota_du.pl 差小许。
#一般情形下, 使用者的空间使用状况会显示在视窗的外框上边。但是当使用者空间用量超过其上限的
#quota_threshold% 时,会有一个较明显的 quota 使用量显示在页面的上方以提醒使用者。
quota_threshold 75 <== Quota 警告值:75%
attlimit 900000
# 当使用者空间已满时, 是否自动删除各信匣中过旧的邮件以取得一些空间。
delmail_ifquotahit no
# 当使用者空间已满时, 是否自动?除网络磁盘中过旧的文件以取得一些空间。
delfile_ifquotahit no
############ 系统安全部分。此部分为手工加入。#############
enable_rootlogin yes <== root 可以 login
enable_sshterm no <== 允许用户使用 ssh 功能
forced_ssl_login yes <== 强制使用 ssl login
########### 以下部分为系统信息(OS、版本等控制)此部分为手工加入。############
enable_about no # 是否显示关于功能
about_info_software no # 是否显示软件信息
about_info_protocol no # 是否显示使用协议
about_info_server no # 是否显示服务器信息
about_info_client no # 是否显示客户信息
########### 自动回信标题 ###########
default_autoreplysubject 您好!这是一封从“海鹰邮局”的自动回信。
########## 邮局 login 画面信息。此部分为手工加入。###########
# 原图像位置 /usr/local/www/data-dist/openwebmail/images/openwebmail.gif
logo_url %ow_htmlurl%/images/hy2.gif <== 自定义的邮局的 logo,我的是一只鸟
logo_link https://xiaohua.dns0755.net/ <== 自定义的邮局 logo 上的 URL,本站首页
让 sendmail 能收取 xiaohua.dns0755.net 的信
让 sendmail 能收取 xiaohua.dns0755.net 的信,须将 xiaohua.dns0755.net 加入到 sendmail 中去。
cd /etc/mail
ee local-host-names
写入 xiaohua.dns0755.net 这个域名,保存退出。
make cf
make install
重启 sendmail
killall -HUP sendmail
从其它地方写一封信给 xiaohua.dns0755.net 看能不能收到。正常时应该能收到!
使用 SSL 让你的 Web mail 信息更安全
在 apache 2 中使用 ssl ,要先安装 openssl :
cd /usr/ports/security/openssl
make install clean
利用 openssl 创建与自签发 Apache 2 的证书 -- CA :
cd /usr/local/etc/apache2/
mkdir ssl.key
mkdir ssl.crt
openssl genrsa 1024 > ssl.key/server.key
显示信息如下:
15:50 [/usr/local/etc/apache2/] openssl genrsa 1024 > ssl.key/server.key
Generating RSA private key, 1024 bit long modulus
...++++++
............++++++
e is 65537 (0x10001)
只让 root 才能访问 CA 证书:
chmod 400 ssl.key/server.key
利用 CA 创建一个自签署的 CA 证书。命令:
cd /usr/local/etc/apache2/
openssl req -new -key ssl.key/server.key -x509 -days 365 -out ssl.crt/server.crt
会要你填入相关信息,如下:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN <== 两个字母的国家代号
State or Province Name (full name) [Some-State]:GD <== 省份
Locality Name (eg, city) []:FSNH <== 城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:FreeBSD <== 公司
Organizational Unit Name (eg, section) []:I386 <== 部门
Common Name (eg, YOUR name) []:Xiaohua <== 你的姓名
Email Address []:bdiy2010@yahoo.com.cn <== 你的 E_mail
-----BEGIN CERTIFICATE-----
MIIDXzCCAsigAwIBAgIBADANBgkqhkiG9w0BAQQFADCBgjELMAkGA1UEBhMCQ04x
CzAJBgNVBAgTAkdEMQ0wCwYDVQQHEwRGU05IMRAwDgYDVQQKEwdGcmVlQlNEMQ0w
部分省略……
zyeGykJ+9xm53nWeruNSbJu3qnYBMQl4SUyWwluJwF02wB/xBdcnJxpkbgw3i9EE
TPw17kxTA9d5u/nZ5jQoFPOesv+exr7bhMj0/A+fWX+qEV+vAKKalii7GsDdkFdk
2QqG
-----END CERTIFICATE-----
15:56 [xiaohua] [/home/xiaohua]
OK,证书到此已完成了。接下来要让 apache 运行在 ssl 模式,运行:
apachectl stop
apachectl startssl
在游览器中用 https://you_server 看能否正常游览你的首页。正常时游览器会提示你证书信息。确定后应能看到以前的首页。注意:因为证书是自签发,有些游览器会提示证书不可信,不用管它!OK,整个传输过程已不是明文传输了。
浏览器提示证书信息
建立有 SSL 功能的 SMTP、POP 服务器
用 web 方式收发邮件的安全问题解决了。但 SMTP、POP 上的还是明文传输的。下面介绍如何做有 SSL 功能的 SMTP、POP 服务器。
安装 POP server:
cd /usr/ports/mail/qpopper/
make install clean
qpoper 服务要用 inetd 启动。安装完成后修改 /etc/inetd.conf 文件,加入一行:
pop3 stream tcp nowait root /usr/local/libexec/qpopper qpopper -s
检查是否启动了 inetd ,请检查 /etc/rc.con 中的 inetd_enable="YES" 项。只要不是设
inetd_enable="NO" 就不用管它了。如果要手工启动 inetd 只须键入 inetd 。要重启 inetd :
killall -HUP inetd
安装 stunnel 以支持 SMTP、POP 的 SSL
Port: stunnel-4.04_2
Path: /usr/ports/security/stunnel
cd /usr/ports/security/stunnel
make <=== 注:这里面先只用 make ,不能一屁股的 make install clean
接下来要为 stunnel 创建证书:
make cert
到这步时会要你填入相关信息。请参考 Apache 与 openssl 部分。完成后会提示你证书已安装到 /usr/local/etc/ 中去了。看是否有个 stunnel.pem 文件。
12:22 [xiaohua] [/usr/ports/security/stunnel] ls -l /usr/local/etc/stunnel.*
-rw------- 1 root wheel 1746 Aug 21 18:29 /usr/local/etc/stunnel.pem
☆注意:请确定在提问 Common Name (FQDN of your server) 时写入你的服务器名。本例是 xiaohua.dns0755.net
下面是部分信息摘录:
Country Name (2 letter code) [PL]:CN
State or Province Name (full name) [Some-State]:China-GD
Locality Name (eg, city) []:FSNH
Organization Name (eg, company) [Stunnel Developers Ltd]:FreeBSD
Organizational Unit Name (eg, section) []:I386
Common Name (FQDN of your server) [localhost]:xiaohua.dns0755.net <== 写入你的域名
/usr/local/bin/openssl x509 -subject -dates -fingerprint -noout -in stunnel.pem
subject= /C=CN/ST=China-GD/L=FSNH/O=FreeBSD/OU=I386/CN=xiaohua.dns0755.net
notBefore=Aug 23 10:20:40 2003 GMT
notAfter=Aug 22 10:20:40 2004 GMT
MD5 Fingerprint=28:08:6C:7B:B2:9C:0E:16:EF:3F:BA:38:E5:32:37:04
install -m 600 /usr/ports/security/stunnel/work/stunnel-4.04/tools/stunnel.pem /
usr/local/etc/
make install clena <=== 完成最后的安装
安装完成了,但还没能正常运行 stunnel 。还有很多事要做了!
cd /usr/local/etc/stunnel/
cp stunnel.conf-sample stunnel.conf
修改这个 stunnel.conf 文件,将:
cert = /usr/local/etc/stunnel/mail.pem
改为:
cert = /usr/local/etc/stunnel.pem
将 [s1]、[s2] 这两部分内容(所有)注释或删除掉,然后保存退出。
创建 stunnel 的运行目录:
cd /var/tmp
mkdir stunnel
chown stunnel:stunnel
OK,马上可以运行 stunnel 了。不过在运行前建议你先检查你系统当前的端口情况。运行
sockstat -4 你会见到很多东西。从中你可以看到你正在运行的服务。
sockstat -4
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
www httpd 16552 4 tcp4 *:443 *:*
www httpd 16434 3 tcp4 *:80 *:*
www httpd 16434 4 tcp4 *:443 *:*
root httpd 129 3 tcp4 *:80 *:*
root httpd 129 4 tcp4 *:443 *:*
root sendmail 91 4 tcp4 *:25 *:*
root inetd 83 4 tcp4 *:110 *:*
接着起动 stunnel 吧。如果顺利,系统不会返回任何信息给你:
/usr/local/etc/rc.d/stunnel.sh.sample start
再运行 sockstat -4 ,如果你见到有 stunnel、995、465 端口等信息了就代表你已经成功了!
17:37 [xiaohua] [/home/xiaohua] sockstat -4
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
www httpd 16643 3 tcp4 *:80 *:*
www httpd 16643 4 tcp4 *:443 *:*
www httpd 16434 3 tcp4 *:80 *:*
www httpd 16434 4 tcp4 *:443 *:*
stunnel stunnel 171 7 tcp4 *:465 *:* <==ssl smtp server
stunnel stunnel 171 6 tcp4 *:995 *:* <==ssl pop server
root sendmail 91 4 tcp4 *:25 *:* <==原来的 smtp server
root inetd 83 4 tcp4 *:110 *:* <==原来的 pop server
让 stunnel 随启动时“正常”自动运行
因为在 make cert 时已经写入了 xiaohua.dns0755.net 。如果启动时 stunnel 解释不到相应的 IP 就不能正常启动。为此要让 stunnel 正常启动我们还要做两件事:
修改 /etc/rc.con ,将 PPPOE 启动方式改为 AUTO
ppp_mode="auto"
这样,系统在完全拨通号前是不会执行 rc.d 的脚本!不过启动时间会变长一点!
cd /usr/local/etc/rc.d/
cp stunnel.sh.sample zstunnel.sh
因为 rc.d 是按脚本的第一个字母做顺序启动的。这样 stunnel 将被最后执行。就能保证 stunnel 随系统正常启动而不用手工干预了。
客户端设置:
因为采用了 SSL ,所以Kmai 、OUTLOOK 等要选上 SSL 、及修改服务器的端口!详细请见下面的插图。
FAQ集:
1、问:我用的系统发现不能发送大的附件,请问怎样设置发送邮件的大小?
答:修改 /etc/mail/sendmail.cf ,找到
# maximum message size
#O MaxMessageSize=1000000 <== 1M
增加一行:
O MaxMessageSize=50000000 <== 50M,应该够大了 ^_^
完成后重启 sendmail
2、问:Openwebmail 在那申请用户帐号?
答:Openwebmail 本身没有此功能,除非有人写一个。它是用操作系统上的系统用户作数据库的。所以这样就一定程序上提高了安全性。你不用担心别人天天在你的系统上申请一堆没有帐号,或发上无数的垃圾邮件到你的系统上。否则你的系统很快就没空间了。要增加用户请用 adduser 、/stand/sysinstall 工具增加。还可通过 ssh 、webmin 等工具进行远程管理。Openwebmail 还支持 mysql、ldap 等功能,你可以试一下。
3、问:我想更多了解 Openwebmail ?
答:到 /usr/local/www/data-dist/openwebmail/ 下看看吧,里面有一堆文档,不过全是 E 文的。
4、邮件客户端程序不能发邮件,但通过 WEB 方式能收发,怎么回事?
答:这主要是 DNS 问题造成。目前发现 www.dns0755.net 有不稳现象。甚至发现有假冒 IP 现象。造成本人有一阵子也无法正常使用 Kmail、OUTLOOK ,本人的网站也无法正常浏览等。这时可以通过 openwebmail 来发信了。或者通过 IP 来访问邮件系统。
如果你条件许可,那我十分建议你申请一个固定 IP 、域名。如果这样,这个问题就能圆满解决了。
5、我还有更多的问题?
答:如果你有更多问题,请到以下 UNIX 论坛找我( xiaohua ),我会尽量为你解答,只要是我知道的。
http://community.FreeBSDChina.org/ www.chinaunix.net http://forum.cnfug.org/index.php?act=idx
6、我发现文章有错误。
答:非常好,同时希望你能告知作者!如果你有任何意见也可以告知作者!感谢! J
7、注:近日发现本人前域名 xiaohua.dns0755.net 被人冒充IP 了,导致无法正常浏览。现已改为:http://bsdroot.dns0755.net 。要试用系统请将相应主机名改为 bsdroot.dns0755.net 。
作者简介:
网络妮称:Xiaohua (英文)、海鹰(中文)
主页:http://bsdroot.dns0755.net (新) MSN、E_mail:bdiy2010@yahoo.com.cn
作者的梦想:
1、和我最好的朋友、最爱的女人去海南天涯海角,去山海关合照。那一定是一件很开心的事。
2、期望有一天,我和她能成为一对海鹰,在无边无际的大海上
自由飞翔。飞到我们想去的地方:天涯海角。从此不再分开
致谢:
所有曾经帮助过我的所有朋友、网友、网站!
参考信息:
中国、台湾等各大 FreeBSD、UNIX 网站等。太多了,不能一一列出!实在抱歉!希望各站长不要见怪!! ^_^
2004年9月3日,北京人民大会堂,在“2004文化高峰论坛”上,著名华裔物理学家、诺贝尔物理学奖获得者杨振宁教授以“《易经》对中华文化的影响”为题,提出观点称“《易经》影响了中华文化的思维方式,而这个影响是近代科学没有在中国萌芽的重要原因之一”。
杨振宁的论点立时在互联网上引起了激烈的讨论。最终,争论的中心论点扯出了一个 老话题——李约瑟难题,即为什么近代科学没有在有着先进文明的中国萌芽。
正如杨振宁自己所说的,加入讨论的人们大多数对他的观点持反对意见,但他的观点并没有被压倒,一小部分支持他观点的人士也显示出力量。杨振宁认为,一直以来都有学者持有他的这一观点,但他们中很多人都迫于学界压力,不敢公开宣称自己的观点?
争论的高潮出现在2004年10月23日。这一天,由清华大学高等研究中心和《科技中国》杂志社联合主办的“中国传统文化对中国科技发展的影响论坛”在清华大学举行,杨振宁、董光璧(中国科学院自然科学史所研究员)、陈方正(香港中文大学中国文化研究所前所长)等知名人士参加了这次论坛,并分别阐述了自己的观点。
众多的专家和学者在论坛上对这一话题进行了激烈的争论,但显然没有为这一争论画上句号。
杨振宁认为近代科学没有在中国萌芽的原因有五点:
第一,中国的传统是入世的,不是出世的。换句话就是比较注重实际的,不注重抽象的理论架构。
第二,科举制度。
第三,观念上认为技术不重要,认为是“奇技淫巧”。
第四,中国传统里面无推演式的思维方法。
第五,有“天人合一”的观念。
杨振宁认为,其中第四点和第五点跟《易经》有着密切的关系。
11月24日11时42分左右,包头空难失事飞机的第一个黑匣子(飞行语音记录仪)被打捞出水


全球搜索引擎巨头Google近日在其检索站点的自动翻译服务的对象语言中增加了汉语、日语和韩语的支持。中英、英中、韩英、英韩、日英、英日的翻译引擎测试版于2004年11月19日开始投入使用。用户检索时,会与通常的检索结果一起显示出翻译页面的超级链接。
此前,google已经推出了法语、德语、意大利语、西班牙语、葡萄牙语与英语间的互译服务。至此,Google支持语言将达8种,当用户点击检索结果中的任意页面时,翻译服务就会自动在服务器端运行。
这是Google专门针对中文用户推出的独家服务。业内人士称,中国网民超过8700万,而潜力巨大的搜索引擎市场竞争也日趋激烈,Google此举无疑是想占据更多的中文搜索市场。
在此之前,采用雅虎搜索技术的中文搜索“一搜”曾在今年8月31日推出了英文页面汉化功能。
得知到Google这一人性化的服务,你应该很感动吧,呵呵。不过由于此服务还在测试阶段,服务器不是很稳定,有的时候点击翻译服务会出现链接失败的画面,希望正式版推出的时候有一个令网友满意的水平。
在前几天,Blogger.com也开始向用户提供多语言界面。Google静悄悄的消除了我们一个又一个的语言障碍,中文的Gmail和Orkut应该也在不远的前方了。
最近,有时候试了试YAHOO中国的搜索引擎!无意中,发现了有的搜索结果右侧多出了一个网页翻译项.这个杀手级的应用虽然现在功效还不太!结果发觉并还没有想象的那么差,值得大家试用试用!
美国Google公司日前在该公司的检索站点的自动翻译服务的对象语言中增加了日语、汉语和韩语。日英、英日、中英、英中、韩英、英韩的翻译引擎(β版)于2004年11月19日开始投入使用。用户检索时,会与通常的检索结果一起显示出翻译页面的超级链接。
该公司此前已经推出了法语、德语、意大利语、西班牙语、葡萄牙语与英语间的互译服务。加上此次增加的3种语言,支持语言将达8种之多。当用户点击检索结果中的任意页面时,翻译服务就会自动在服务器端运行。笔者试了一下NE ONLINE首页的英语显示情况,只用5秒钟就输出了翻译页面。
Google今年真可谓是费尽心机,在不断完善自己的搜索服务的基础上,一次又一次的打破常规,涉足多个领域,除了Gmail这一让2004年的互联网风云不断的G量之举外,还在先前推出了“新闻搜索”以及“Hello图片分享软件”等众多服务及产品,真是让人们越来越对这个搜索界的老大刮目相看。
2004年11月26日
#
最近在报纸上看到大众公司出一款新车----途安, 不过最近好像还没上市, 先看看图片吧~~!!









