若相依 发表于 2015-2-4 00:07:08

PHP网站制作之基于qmail的完全WEBMAIL处理计划装置详...

也许您在学习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开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、

简单生活 发表于 2015-3-12 11:15:04

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

蒙在股里 发表于 2015-3-19 21:00:24

Ps:以上纯属原创,如有雷同,纯属巧合

愤怒的大鸟 发表于 2015-4-1 17:46:01

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

兰色精灵 发表于 2015-4-6 03:10:36

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

若天明 发表于 2015-4-14 17:52:47

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

精灵巫婆 发表于 2015-4-15 01:43:40

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

若相依 发表于 2015-4-26 22:13:26

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

山那边是海 发表于 2015-4-30 12:54:31

在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、

小妖女 发表于 2015-5-4 03:17:03

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

飘飘悠悠 发表于 2015-5-7 17:26:34

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

莫相离 发表于 2015-5-8 00:25:49

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

变相怪杰 发表于 2015-6-9 13:10:50

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

因胸联盟 发表于 2015-7-11 10:49:56

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

海妖 发表于 2015-7-14 05:31:42

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

小女巫 发表于 2015-7-23 14:03:47

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
页: [1]
查看完整版本: PHP网站制作之基于qmail的完全WEBMAIL处理计划装置详...