仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1356|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网站制作之基于qmail的完全WEBMAIL处理计划装置详...

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:07:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢?   装置平台:Linux,Solaris
版本:qmail-1.03
装置的机械: mail.mydomain.com


软件包:
qmail-1.03 qmail根基体系
ucspi-tcp-0.88 tcpsever办事法式
daemontools-0.70 监督东西
checkpassword-0.81 pop3验证用户的法式
ezmlm-0.53 邮件转发
vpopmail-4.9.6-1 虚拟域用户pop3撑持
qmailadmin-0.35 虚拟域web办理
autorespond-1.0.0 主动答复法式
sqwebmail-1.2.0 webmail
vqsignup-0.4 web体例用户注册
软件来历:
http://www.qmail.org
http://www.inter7.com/qmail
每一个包装置前务必先细心浏览INSTALL和FAQ,良多成绩在FAQ都有处理办法。


装置步调:

1. #mkdir /var/qmail

2. # 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

3. #tar xzvf qmail-1.03.tar.gz
进入qmail目次后,细心浏览一下README和INSTALL文件.然后入手下手编译qmail
#make setup check

4. #cd qmail-1.03
#./config

5. 创立体系别号
# (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root)
# chmod 644 ~alias/.qmail*

6. # cp /var/qmail/boot/home /var/qmail/rc
 # chmod 755 /var/qmail/rc

   编纂 /var/qmail/rc
   修正个中 ./Mailbox 成为 ./Maildir ,以下:

   # !/bin/sh
   # Using splogger to send the log through syslog.
   # Using qmail-local to deliver messages to ~/Maildir by default.
   exec env - PATH="/var/qmail/bin:$PATH"
   qmail-start ./Maildir splogger q

   个中 splogger qmail 指令是用来将记载文件记载于 / 中。
   创立样板
   $ /var/qmail/bin/maildirmake /etc/skel/Maildir
   $ echo ./Maildir/ > ~/.qmail
   注重 Maildir 必需为该利用者一切,可以 chown 变动,并以 chmod 700 Maildir 设定权限。


7. 装置 ucspi-tcp-0.88
   # tar zxvf ucspi-tcp-0.88.tar.gz
   # cd ucspi-tcp-0.88
   # make
   # make setup check
   履行档将被装置于 /usr/local/bin 中。


8. 装置 checkpassword
   # tar zxvf checkpassword-0.81.tar.gz
   # cd checkpassword-0.81
   # make
   # make setup check
   # chmod og-rx /bin/checkpassword
   履行档 checkpassword 将被装置于 /bin 中
假如不合错误/etc/passwd中的用户开放mail,不需求装checkpassword,只需装vpopmail

9. 装置 daemontools
   # tar zxvf daemontools-0.70.tar.gz
   # cd daemontools-0.70
   # make
   # make setup check
   履行档将装置于 /usr/local/bin 中

装置本东西后可以用
# mkdir /var/run/qmail
# supervise /var/run/qmail /var/qmail/rc
来启动qmail,可以用svc来封闭活重起qmail,用svstat监督qmail运转情形,(qmail FAQ)

10. 装置 vpopmail
# groupadd vchkpw
# useradd -g vchkpw vpopmail
# mkdir ~vpopmail/etc
# echo ":allow" > ~vpopmail/etc/tcp.smtp
# tar zvfz vpopmail-4.9.6-1.tar.gz
# cd vpopmail-4.9.6-1
# ./configure --enable-roaming-users=y --enable-default-domain=mydomain.com --enable-passwd=n
# make
# make install-strip

# crontab -e
40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null

# cd /home/vpopmail/bin
# ./vadddomain mydomain.com mydomain
append mydomain.com to /var/qmail/control/rcpthosts


11.中断sendmail 办事
   # killall -TERM sendmail (Linux)
   接着以 qmail 之 sendmail libraby 代替原有之 sendmail
   # mv /usr/lib/sendmail /usr/lib/sendmail.old
   # mv /usr/sbin/sendmail /usr/sbin/sendmail.old
   # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
   # ln -s /var/qmail/sbin/sendmail /usr/sbin/sendmail
移除 sendmail 启动法式,以 Linux 为例:
   移除 inetd.conf 中的 sendmail 之设定,和 /etc/rc.d/init.d 下的 sendmail 启动档。(Linux)


12.启动qmail SMTP , POP3 daemon 体系办事

   创立 SMTP 转信划定规矩
   创立 /etc/tcp.smtp 内容为
   :allow
   此为承受任何Client端所收回之转送函件
   若要回绝某些IP所收回之Relay则改成 /etc/tcp.smtp以下
   1.2.3.4:allow,RELAYCLIENT=""
   127.:allow, RELAYCLIENT=""
   如斯,除1.2.3.4及127.*以外的一切地址,都将被回绝转送函件。
   
   接上去,转换 tcp.smtp 成为 cdb 格局。
   # /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

   注重:若对 tcp.smtp 有任何变动,都必需经由 tcprules 转换成为 cdb 才会失效。
   别的,tcp.smtp 若为空白,则暗示回绝一切的转送,由于预设的划定规矩为 deny。
   至此,转送划定规矩已创立,稍后将依此划定规矩启动 qmail-smtpd。

   设定 SMTP 及 POP3 daemon 之启动
   请移除 inetd.conf 中有关 smtp 及 pop3 的设定 (加上 # 号)
   编纂 /etc/services,改成以下设定:

   smtp 25/tcp mail
   # pop-3 110/tcp #pop version 3
   # pop-3 110/udp
   pop3 110/tcp
   pop3 110/udp

   启动 SMTP:
   /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb
   -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
   | /var/qmail/bin/splogger smtpd 3 &

   个中UID和GID为前述新增 qmail 体系账号之 qmaild 之 User ID,和 nofiles 之 group ID。
   /var/qmail/bin/splogger那一行会将log档写在 /var/log/maillog。

   启动 POP3:
   编纂启动档到场以下设定:
   tcpserver -H -R 0 pop3
/var/qmail/bin/qmail-popup mail.mydomain.com
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &


在/etc/rc.d/init.d下创立文件qmail,内容以下:
-------------------------------------------
#! /bin/sh

case "$1" in
start)
echo -n "start qmail:"
/var/qmail/rc &
echo "."

echo -n "start smtp service:"
    /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb
    -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
    | /var/qmail/bin/splogger smtpd 3 &
echo "."

echo -n "start pop3 service:"
   tcpserver -H -R 0 pop3
/var/qmail/bin/qmail-popup mail.mydomain.com
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
echo "."
;;
stop)
echo -n "stop qmail:"
echo "."
;;
*)
exit 1
;;
esac

exit 0
-----------------------------------------------------
# cd ../rc3.d
# ln -s ../init.d/qmail S98qmail


qmailadmin WEB体例办理qmail

1 ezmlm
$ make
$ make man
# make setup

2 autorespond
gcc -Wall -o autorespond autorespond.c
cp autorespond /usr/local/bin/autorespond

3 qmailAdmin

3.1. 在你入手下手之前还有几件事需求思索.
a. 你是不是有vpopmail 用户并且已装置了vchkpw
b. 你的 cgi bin 目次的地位
c. 你的 ezmlm 目次的地位
d. 你的 autorespond 目次的地位
假如这些局部你有疏忽,那先暂停持续,先把这些弄定吧!!


3.2 install

# ./configure
# make
# make install-strip

阅读器中翻开途径http://mail.mydomain.com/cgi-bin/qmailadmin
用户postmaster;域mydomain.com;口令:mydomain


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
# make configure-check
# make (当我make的时分报错找不到db.h,cp /usr/include/db1/db.h /usr/include/db.h)
# make check
# make install-strip
# make install-configure
阅读器中翻开途径http://mail.mydomain.com/cgi-bin/sqwebmail

vqsignup
# tar xvfz vqsignup-0.4.tar.gz
# cd vqsignup-4.0

依照INSTALL装置
看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-2-4 08:56:14 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
老尸 该用户已被删除
板凳
发表于 2015-2-27 21:23:30 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
小魔女 该用户已被删除
地板
发表于 2015-3-5 17:59:02 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
简单生活 该用户已被删除
5#
发表于 2015-3-12 11:15:04 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
蒙在股里 该用户已被删除
6#
发表于 2015-3-19 21:00:24 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
愤怒的大鸟 该用户已被删除
7#
发表于 2015-4-1 17:46:01 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
兰色精灵 该用户已被删除
8#
发表于 2015-4-6 03:10:36 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
若天明 该用户已被删除
9#
发表于 2015-4-14 17:52:47 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
精灵巫婆 该用户已被删除
10#
发表于 2015-4-15 01:43:40 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
若相依 该用户已被删除
11#
 楼主| 发表于 2015-4-26 22:13:26 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
山那边是海 该用户已被删除
12#
发表于 2015-4-30 12:54:31 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
小妖女 该用户已被删除
13#
发表于 2015-5-4 03:17:03 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
飘飘悠悠 该用户已被删除
14#
发表于 2015-5-7 17:26:34 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
莫相离 该用户已被删除
15#
发表于 2015-5-8 00:25:49 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
变相怪杰 该用户已被删除
16#
发表于 2015-6-9 13:10:50 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
因胸联盟 该用户已被删除
17#
发表于 2015-7-11 10:49:56 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
海妖 该用户已被删除
18#
发表于 2015-7-14 05:31:42 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
小女巫 该用户已被删除
19#
发表于 2015-7-23 14:03:47 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 03:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表