网站运维、系统运维管理研究

Postfix配置文件main.cf中常用参数介绍

外发域配置

参数:
myorigin
说明:
myorigin参数用于指定该服务器使用哪个域名来外发邮件。
缺省的情况下myorigin采用本机主机名称(与参数myhostname相同)。
建议:在很小的网络中,采用缺省配置。而在Internet中,我们建议你保持myorigin与mydomain参数相同。也就是说采用该服务器所在的域名称。
例如:
myorigin =  $myhostname (缺省)
myorigin =  $mydomain (推荐)

接收域配置

参数:
mydestination
说明:
用于指定该服务器的使用哪个域名来接收邮件。
我们建议,系统安装好后,尽量不要改动这个参数。
例如:
缺省设置:
mydestination = $myhostname localhost.$mydomain
广泛设置:
mydestination = $myhostname localhost.$mydomain $mydomain
多DNS设置:
mydestination = $myhostname localhost.$mydomain www.$mydomain ftp.$mydomain

转发限定

参数:
mynetworks
relay_domains
mydestination
说明:
转发限定在邮件系统中非常重要。C-Link为客户缺省配置了最安全的转发限定参数。
与转发限定的参数有很多:主要请参看mynetworks、relay_domains、mydestination。
继续阅读 »

2006/10/23邮件技术

51条评论
57 views

今天给领导写了信反馈,姑且记录一下吧

以前曾经分析过google免费邮局会不会给我们带来影响,现在看来倒不是google自身引起影响,而是由它引起的国内邮箱提供商的反应会给我们带来影响;

继google推出邮局之后,MSN随后也加大了免费邮局的空间和用户数,不过邮局MSN在国内访问的速度实在不理想,估计用的人也不多;

sohu 前段时间也推出了免费邮局服务,我试用了感觉不怎么样,虽然也可以自定义一些logo,介绍之类的,但邮箱感觉不怎么样,所以也只是一些个人站长可能会使用;

昨天居然发现了网易也推出了domain 信箱即免费邮局服务公测,马上申请了试用:

后台:

1、注册需要先有一个网易帐号,做了MX记录后登入即可申请;也可随时注销服务;

2、使用coremail系统,支持反垃圾,反病毒;

3、用户数默认50个,没有看到说可以不可以增多;

4、每个用户空间为2G,可设置某一个用户为管理用户;

5、管理可支持添加用户,查看用户列表,别名列表;

6、可批量添加用户;

7、可创建别名用户,用户列表用户,可做私人列表,开放列表等,也可做象我们那种只有hr才可以发信给all的设置;

8、可更改企业概况,如企业名称,企业概况介绍;

9支持邮件汇总帐号(如果有邮件发送到域名不存在的帐号,则全部自动转发进此帐号),即将开放

10、可支持是否开放企业通讯录;

11、支持企业公告栏;

12、支持用户批量导入,导出(.csv格式);

13、支持首页设置,可自定义邮箱首页颜色,首页新闻栏,企业logo,首页banner等;

14、同一管理帐号还可继续添加域申请;

前台:

1、风格使用网易极速风格;

2、前台支持使用企业logo;

3、支持快捷键n写信,c添加通讯录等;

4、支持双克隆(邮件+通讯录);

5、支持参数设置,过滤器,自定义黑白名单等

3、其他跟现有的126.com信箱基本一致;

2006/05/10邮件技术

40条评论
60 views

QMAIL控制文件详解

[1.qmail全部控制文件列表(按照相关性排列) ]

qmail-inject

defaultdomain

defaulthost

idhost

plusdomain

qmail-qmqpc

qmqpservers

qmail-remote

helohost

smtproutes

timeoutconnect

timeoutremote

qmail-send

bouncefrom

bouncehost

concurrencylocal

concurrencyremote

doublebouncehost

doublebounceto

envnoathost

locals

me

percenthack

queuelifetime

virtualdomains

qmail-smtpd

badmailfrom

databytes

localiphost

rcpthosts

morercpthosts

timeoutsmtpd

smtpgreeting

_________________________________________________________________

[2.各控制文件的作用 ]

qmail-inject

qmail-inject接受本地邮件消息后检测邮件头是否符合RFC822标准,并传送给qmail-queue排进队列

defaultdomain

用来向那些没有使用正确的username@hostname.domain格式的邮件中增加邮件地址的,默认情况下,

如果主机地址中没有结束符".",qmail-inject将给主机名后添加defaultdomain的内容,如果该文

件不存在,将使用me文件中的值代替.

例如:defaultdomain值为linuxfane.com 本地产生了一封发送给rainbow@rainbow的邮件,那么qmail-inject将用linuxfane.com来补全这个后缀,变成rainbow@rainbow.linuxfane.com

defaulthost

用来定义主机名,用来向地址中不含主机名的邮件补足邮件地址的。类似于defaultdomain。

例如:defaulthost值为linuxfane.com 那么发送给 rainbow的消息,将被qmail-inject用defaulthost的值来补足为rainbow@linuxfane.com,

以便于qmail-send快速分辨是否属于本地地址。

idhost

用来指定邮件中Message-ID:头字段的主机名

例如:idhost值为linuxfane.com

那么邮件头中如下:

Message-ID:

如果idhost值为rainbow.linuxfane.com

那么邮件头中如下:

Message-ID:

plusdomain 用来将其值添加在任何一个以一个+号结尾的地址

_________________________________________________________________

qmail-qmqpc

qmail-qmqpc是快速邮件排队协议(QMQP)使用的程序,QMQP是一个QMAIL专用协议,用在工作站级QMAIL

服务器向中心服务器发送队列。

qmqpservers

用来指定qmail-qmqpc使用的上级服务器

通常该功能应用很少,我认为qmail-qmqpc用法就是代替qmail-queue来直接传给上级服务器。

_________________________________________________________________

qmail-remote

qmail-remote通过SMTP协议向远程主机传送邮件。

helohost 该文件用来指定qmail-remote程序与远程邮件主机SMTP会话中的主机名。

smtproutes

用来指定到固定目的的静态SMTP路线。

例子:smtproutes内容如下

rainbow.linuxfane.com:mail8.rainbow.jp

:fw.rainbow.linuxfane.com:8088

第一行的存在会将发给rainbow.linuxfane.com的邮件重定向到mail8.rainbow.jp主机

第二行的存在会将任何不符合之前行条件的邮件重定向到fw.rainbow.linuxfane.com的8088端口,让

邮件安全的穿越防火墙

qmmail-remote将按照smtproutes中的行序来进行处理

timeoutconnect

用来指定qmail-remote尝试同一个远程邮件主机建立一个SMTP会话的时间。默认值状态下如果超出60

秒没有得到远程邮件主机的回应,那么将断开连接。

timeoutremote

用来指定qmail-remote在一个SMTP连接已经建立后,远程邮件主机的每一个回应的时间数。默认值为

1200秒。

_________________________________________________________________

2.4 qmail-send

qmail-send用来检测队列中每一个邮件的状态,并调用相应的程序进行处理。例如一个目的为本地的

邮件将会被qmail-send调用qmail-lspawn处理。

bouncefrom | bouncehost

默认情况下,退回给原始发送方的邮件的发件人地址为MAILER-DAEMON@HOSTNAME,如果你想修改

MAILER-DAEMON这段,那么就修改bouncefrom文件吧。

如果想修改MAILER-DAEMON@HOSTNAME中HOSTNAME这段,那么就修改bouncehost文件。

例如:bouncefrom内容为SERVER-MANAGER | bouncehost文件内容为mail8.rainbow.jp

那么一封因为邮件地址不存在而被退回的通知邮件的发件人将是 SERVER-MANAGER@mail8.rainbow.jp

concurrencylocal

用来决定qmail可以同时运行的本地投递进程的数目,默认值是10,标准安装的qmail最大可设值是120。

安装的时候可以通过修改conf-spawn来将其变为255以下任何数目。

concurrencyremote

用来决定qmail可以同时运行的远程投递进程的数目,默认值是20,就是说,qmail可以在同一时间内

同时发送20封邮件,标准安装的qmail最大可设值是120。安装的时候可以通过修改conf-spawn来将其

变为255以下任何数目。

doublebouncehost | doublebounceto 这两个控制文件类似于bouncefrom和bouncehost的关系,也是doublebouncehost指定主机名,

doublebounceto指定用户名。

他们的功能是为一个被退回两次的邮件制定一条出路。

例如:doublebouncehost内容为rainbow.linuxfane.com | doublebounceto内容为rainbow

那么一个被退回2次的邮件将被发送给rainbow@rainbow.linuxfane.com

没有这两个文件的时候,那么发送给postmaster@me文件中的域名

envnoathost

qmail-send用来给没有主机名的邮件收件人制定一个主机名的,通常这个文件并没有必要,qmail-send

总是使用me文件中的域名。

locals

用来为qmail指明位于本地的邮件地址。qmail-send利用此文件来判断收件人地址是否是一个本地地址。

例如:locals文件中写有rainbow.linuxfane.com

那么qmail-send检测到队列中有发送给@rainbow.linuxfane.com的邮件的时候,就会调用qmail-lspawn

来进行本地投送。

me

如果没有me文件,那么你的qmail将拒绝执行。me文件用来指定本地邮件服务器的主机名。

以上列出的许多控制文件在没有被创建的时候,qmail都会用me中的值来代替。

percenthack

在UUCP协议中带有%并在该文件中列出的地址将会被转换为一个标准的DNS格式主机名。

queuelifetime

用来指定一个邮件在队列中的最大存活时间,默认是604800秒,当一个邮件达到这个时间线后,qmail将

最后一次尝试发送这封邮件,如果依然失败,会将其从队列中删除。

virtualdomains

让qmail接受本地邮件以外,还接受该文件中指定的域或者邮件地址,就是常说的虚拟域支持。

qmail-smtpd

qmail-smtpd接受远程主机的邮件并转交给队列处理程序qmail-queue来处理。

badmailfrom

用来指定不喜欢的发件人的邮件地址或者是域名

例如:badmailfrom中写有

advt@msn.com

@hotmail.com

如果advt@msn.com给该邮件主机送信时,将得到code 553,告知其是一个不受欢迎的发件人。

而所有来自hotmail.com的发件人也将得到同样的code 553。

databytes

用来指定该邮件服务器可以接受邮件的最大字节数。

例如:databytes指定为8000000

那么如果有人给该主机发送的邮件字节数超过了这个商业上默认的最大容忍限度,将得到code 552,告知

其邮件大小超出了该邮件主机所能容忍的限度。

恐怖的是,默认状态下,这个文件并没有,如果有人用你服务器上的两个不存在的地址作为FROM/TO发一

个100M的邮件

localiphost

用来为使用ip来标示目的主机的邮件消息指定本地主机名的

例如:rainbow.linuxfane.com的ip地址为198.17.1.2 | localiphost内容为rainbow.linuxfane.com

那么一封发送给rainbow@[198.17.1.2]的邮件的地址会被转换为rainbow@rainbow.linuxfane.com

rcpthosts | morercpthosts

这两个文件用来指定qmail可以接收的除本地主机名外的其他域名

他们的作用是相同的,不过因为rcpthosts中的域名不能超过50行,所以才出现了morercpthosts文件

timeoutsmtpd

用来指定qmail-smtpd等待远程SMTP主机发送数据的时间线。默认的情况下,如果连接建立后1200秒内没有

接受到远程SMTP主机的任何信息,那么将关闭这个连接。

smtpgreeting

用来指定SMTP连接的欢迎标志

例如:smtpgreeting值为 welcome connect to out open relay mail server – ad.rainbow.linuxfane.com

那么建立一个smtp连接的时候将会看到如下信息:

Trying 198.17.x.x…

Connected to ad.rainbow.linuxfane.com.

Escape characteris ^].

220 welcome connect to out open relay mail server – ad.rainbow.linuxfane.com ESMTP

2006/01/19邮件技术

35条评论
101 views

通用SQL防止注入代码

<%

On Error Resume Next

dim sql_injdata,sql_inj,sql_get,sql_data

SQL_injdata=&#34;&#39;|;|and|exec|ins&#101;rt|sel&#101;ct|del&#101;te|up&#100;ate|count|*|%|chr|mid|master|truncate|char|declare&#34;

SQL_inj = split(SQL_Injdata,&#34;|&#34;)

&#39;定义过滤字符,可以自己添加,以|分隔

&#39;对post方式过滤

If Request.Form<>&#34;&#34; Then

For Each Sql_Post In Request.Form

For SQL_Data=0 To Ubound(SQL_inj)

if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then

Response.redirect &#34;http://www.5baidu.com&#34; &#39;出错时转向页面

Response.end

end if

next

next

end if

&#39;对GET方式过滤

If Request.QueryString<>&#34;&#34; Then

For Each SQL_Get In Request.QueryString

For SQL_Data=0 To Ubound(SQL_inj)

if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then

Response.redirect &#34;http://www.5baidu.com&#34; &#39;出错时转向页面

Response.end

end if

next

Next

End If

%>

可以直接放在数据库连接文件中,比如conn.asp的适合位置上,或者直接保存为一个文件,然后在想防止SQL注射的页面程序第一行写入<!– #include file=&#34;sql_in.asp&#34; –>

经过测试,绝对防止注射!

Sendmail和Openwebmail构建Linux下的Emai服务器

一、 安装配置Sendmail

//————————-邮件服务器主程序sendmail和配置工具————————-//

#rpm -ivh sendmail-8.12.8-4.i386.rpm

#rpm -ivh m4-1.4.1-13.i386.rpm

#rpm -ivh sendmail-cf-8.12.8-4.i386.rpm

#rpm -ivh sendmail-doc-8.12.8-4.i386.rpm

//简单配置

#vi /etc/mail/sendmail.cf

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1,Name=MTA

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1,Name=MTA //添加此句

//启动服务器

#service sendmail start

//检验sendmail是否启动

#pstree|grep sendmail

|-2*[sendmail] //表示成功启动

//————————-IMAP协议—POP3协议模块———————-//

#rpm -ivh imap-2001a-18.i386.rpm

//修改imap和pop3的配置

#vi /etc/xinetd.d/ipop3

disable=yes 改为 disable=no

#vi /etc/xinetd.d/imap

disable=yes 改为 disable=no

#vi /etc/xinetd.d/ipop2

disable=yes 改为 disable=no

#vi /etc/xinetd.d/pop3s

disable=yes 改为 disable=no

#vi /etc/xinetd.d/imaps

disable=yes 改为 disable=no

//重新启动xinetd

#service xinetd restart

//————————-继续配置sendmail———— local-host-names ———-//

#vi /etc/mail/local-host-names

//内容如下

nihao.dlut.edu.cn

Nihao.dlut.edu.cn

localhost

localhost.localdomain

[127.0.0.1]

[202.118.75.92] //注释:nihao.dlut.edu.cn的IP地址就是202.118.75.92

#service sendmail restart //重新启动sendmail

//————————–修改access文件—————————————//

//文件内容如下

localhost.localdomain RELAY

localhost RELAY

127.0.0.1 RELAY

nihao.dlut.edu.cn OK

263.com RELAY

163.com RELAY

#cd /etc/mail

#makemap hash access.db < access //生成数据库

//添加用户

#useradd 用户名

#passwd 用户名 //设置其密码

/////////////////////////////////至此SendMail配置结束//////////////////////////////////////////

二、安装配置OpenMail

//——————————-接下来配置Web界面—–OpenMail——————————-//

// Open WebMail 安裝需求:

//1、支援 CGI 的 Web server;2、Perl 5.005 以上 (需有 suid perl 支援) ;3、CGI.pm-2.74.tar.gz (必要) ;

//4、MIME-Base64-2.12.tar.gz (必要) ;5、libnet-1.0901.tar.gz (必要) ;6、Text-Iconv-1.2.tar.gz (必要) 。

//2.1安裝 CGI.pm 套件

cd /tmp

tar -zxvf CGI.pm-2.74.tar.gz

cd CGI.pm-2.74

perl Makefile.PL

make

make install

//2.2安裝 MIME-Base64 套件

cd /tmp

tar -zxvf MIME-Base64-2.12.tar.gz

cd MIME-Base64-2.12

perl Makefile.PL

make

make install

//2.3安裝 libnet 套件

cd /tmp

tar -zxvf libnet-1.0901.tar.gz

cd libnet-1.0901

perl Makefile.PL //注释:ans &#39;no&#39; if asked to up&#100;ate configuration)

make

make install

//2.4安装perl-Text-Iconv

rpm -Uvh –force perl-Text-Iconv-1.2-RH80.i386.rpm

//2.5 安装perl-CGI

rpm -Uvh –force perl-CGI-2.752-34.99.6.i386.rpm

//2.6 安装suidperl

rpm -Uvh –force perl-suidperl-5.8.0-55.i386.rpm

//——————————–安裝 Open WebMail———————————-//

#rpm -ivh openwebmail-2.32-1.i386.rpm

//将网页文件移至/var/www/html目录里

#mv /var/www/data/openwebmail /var/www/html/

#cd /var/www/cgi-bin/openwebmail

#./openwebmail-tool.pl –init //初始化 Open WebMail

#/etc/init.d/xinetd restart //重启服务器

在浏览器中浏览http://your_server_hostname/cgi-bin/openwebmail/openwebmail.pl进行测试

可以用netstat –l 命令来查看端口的检测情况

qmail + webmail on Linux9 安装全过程

THE frist ………………

qmail is an excellent MTA(Mail Transport Agent) written by Dan Bernstein.

Why qmail:

Security. qmail is secure.

Speed. qmail is capable of handing millions of deliveries per day on a moderate system.

Reliability. qmail writes mail to disk before it announces success.

Extremely easy virtual domain administration.

User-controlled mailing lists using ezmlm.

Intuitive, straightforward, and simple administration.

Requirements:

You must be running UNIX o&#114; a UNIX-like operating system.

You must have a working DNS, and your system must have a DNS name.

You must have a working C compiler.

Install file list:

netqmail-1.05.tar.gz

ucspi-tcp-0.88.tar.gz

daemontools-0.76.tar.gz

vpopmail-5.4.0.tar.gz

mysql-standard-4.0.20-pc-linux-i686.tar.gz

apache_1.3.31.tar.gz

php-4.3.7.tar.gz

autorespond-2.0.4.tar.gz

ezmlm-0.53.tar.gz

ezmlm-idx-0.40.tar.gz

qmailadmin-1.2.0.tar.gz

sqwebmail-3.5.3.tar.gz

Patches:

ezmlm-idx-0.53.400.unified_41.patch

Scripts:

qmailctl

inst_check

qmailadmin_zh

zh-cn/

images/webmail/

Preparation:

Login the system as root.

mkdir -p /usr/local/src

mkdir -p /package

Move the files of installation, patches and scripts except daemontools-0.76.tar.gz to /usr/local/src

Move daemontools-0.76.tar.gz to /package

chmod 1755 /package

Start installation:

cd /usr/local/src

tar -xvzf netqmail-1.05.tar.gz

cd netqmail-1.05

./collate.sh # important sentence!!!

cd ..

tar -xvzf ucspi-tcp-0.88.tar.gz

rm .tar # optional, unless space is very tight

cd /package

tar -xvzf daemontools-0.76.tar.gz

rm .tar # optional, again

################################

# Install qmail

################################

mkdir /var/qmail

mkdir /etc/qmail

ln -s /etc/qmail /var/qmail/control

# Cr&#101;ate users and groups

userdel alias

userdel qmaild

userdel qmaill

userdel qmailp

userdel qmailq

userdel qmailr

userdel qmails

groupdel nofiles

groupdel 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 qmail -d /var/qmail qmailq

useradd -g qmail -d /var/qmail qmailr

useradd -g qmail -d /var/qmail qmails

cd /usr/local/src/netqmail-1.05/netqmail-1.05

make setup check

# If your DNS is configured properly, this script should be all you need at this point:

./config

# o&#114; you can configure your domain.

./config-fast mail.myqmail.com

################################

# Install ucspi-tcp

################################

cd /usr/local/src/ucspi-tcp-0.88

patch < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch

make

make setup check

################################

# Install daemontools

################################

cd /package

tar -xvzf daemontools-0.76.tar.gz

cd /package/admin/daemontools-0.76/src

patch < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch

cd ..

package/install

# Start qmail script

vi /var/qmail/rc

######## Write the following section to file:/var/qmail/rc ########

#!/bin/sh

# Using stdout for logging

# Using control/defaultdelivery from qmail-local to deliver messages by default

exec env – PATH=&#34;/var/qmail/bin:$PATH&#34;

qmail-start &#34;`cat /var/qmail/control/defaultdelivery`&#34;

######## End ########

chmod 755 /var/qmail/rc

mkdir /var/log/qmail

echo ./Maildir/ >/var/qmail/control/defaultdelivery

mv /usr/local/src/qmailctl /var/qmail/bin/

chmod 755 /var/qmail/bin/qmailctl

ln -s /var/qmail/bin/qmailctl /usr/bin

# Cr&#101;ate the supervise

mkdir -p /var/qmail/supervise/qmail-send/log

mkdir -p /var/qmail/supervise/qmail-smtpd/log

vi /var/qmail/supervise/qmail-send/run

######## Write the following section to file:/var/qmail/supervise/qmail-send/run ########

#!/bin/sh

exec /var/qmail/rc

######## End ########

vi /var/qmail/supervise/qmail-send/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-send/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

######## End ########

vi /var/qmail/supervise/qmail-smtpd/run

######## Write the following section to file:/var/qmail/supervise/qmail-smtpd/run ########

#!/bin/sh

QMAILDUID=`id -u qmaild`

NOFILESGID=`id -g qmaild`

MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`

LOCAL=`head -1 /var/qmail/control/me`

if [ -z &#34;$QMAILDUID&#34; -o -z &#34;$NOFILESGID&#34; -o -z &#34;$MAXSMTPD&#34; -o -z &#34;$LOCAL&#34; ]; then

echo QMAILDUID, NOFILESGID, MAXSMTPD, o&#114; LOCAL is unset in

echo /var/qmail/supervise/qmail-smtpd/run

exit 1

fi

if [ ! -f /var/qmail/control/rcpthosts ]; then

echo &#34;No /var/qmail/control/rcpthosts!&#34;

echo &#34;Refusing to start SMTP listener because it&#39;ll cr&#101;ate an open relay&#34;

exit 1

fi

exec /usr/local/bin/softlimit -m 2000000

/usr/local/bin/tcpserver -v -R -l &#34;$LOCAL&#34; -x /etc/tcp.smtp.cdb -c &#34;$MAXSMTPD&#34;

-u &#34;$QMAILDUID&#34; -g &#34;$NOFILESGID&#34; 0 smtp /var/qmail/bin/qmail-smtpd 2>&amp;1

######## End ########

echo 20 > /var/qmail/control/concurrencyincoming

chmod 644 /var/qmail/control/concurrencyincoming

vi /var/qmail/supervise/qmail-smtpd/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-smtpd/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd

######## End ########

chmod +t /var/qmail/supervise/qmail-send

chmod +t /var/qmail/supervise/qmail-smtpd

chmod 755 /var/qmail/supervise/qmail-send/run

chmod 755 /var/qmail/supervise/qmail-send/log/run

chmod 755 /var/qmail/supervise/qmail-smtpd/run

chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

mkdir -p /var/log/qmail/smtpd

chown qmaill /var/log/qmail /var/log/qmail/smtpd

ln -s /var/qmail/supervise/ /service/

# Allow the local host to inject mail via SMTP:

echo &#39;127.:allow,RELAYCLIENT=&#34;&#34;&#39; >>/etc/tcp.smtp

qmailctl cdb

# Stop and disable the installed MTA:

/etc/init.d/sendmail stop

/sbin/init.d/sendmail stop

/etc/rc.d/init.d/sendmail stop

# Uninstall the sendmail:

rpm -e –nodeps sendmail

# Verify that nothing is listening to the SMTP port (25):

netstat -a | grep smtp

# If something is running, make sure it&#39;s not qmail by doing:

qmailctl stop

# The repeat the netstat check:

netstat -a | grep smtp

# Replace any existing /usr/lib/sendmail with the qmail version:

mv /usr/lib/sendmail /usr/lib/sendmail.old # ignore errors

mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ignore errors

chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old # ignore errors

ln -s /var/qmail/bin/sendmail /usr/lib

ln -s /var/qmail/bin/sendmail /usr/sbin

# Cr&#101;ate these aliases &#34;stone&#34;:

echo stone > /var/qmail/alias/.qmail-root

echo stone > /var/qmail/alias/.qmail-postmaster

ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon

chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster

# Start qmail service:

qmailctl start

# Now qmail should now be running. You can run &#34;qmailctl stat&#34; to verify that the services are up and running:

# qmailctl stat

# And run &#34;qmailctl cdb&#34; to reload the /etc/tcp.smtp

# qmailctl cdb

mkdir /var/qmail/supervise/qmail-pop3d

vi /var/qmail/supervise/qmail-pop3d/run

######## Write the following section to file:/var/qmail/supervise/qmail-pop3d/run ########

#!/bin/sh

exec /usr/local/bin/softlimit -m 3000000

/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup

mail.myqmail.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&amp;1

######## End ########

mkdir /var/qmail/supervise/qmail-pop3d/log

vi /var/qmail/supervise/qmail-pop3d/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-pop3d/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t

/var/log/qmail/pop3d

######## End ########

mkdir /var/log/qmail/pop3d

chown qmaill /var/log/qmail/pop3d

chmod 755 /var/qmail/supervise/qmail-pop3d/run

chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

ln -s /var/qmail/supervise/qmail-pop3d /service

vi /var/qmail/bin/qmailctl

######## Add the following section to &#34;start&#34; part of the file:/var/qmail/bin/qmailctl ########

if svok /service/qmail-pop3d ; then

svc -u /service/qmail-pop3d /service/qmail-pop3d/log

else

echo qmail-pop3d supervise not running

fi

######## End ########

######## Add the following section to &#34;stop&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34; qmail-pop3d&#34;

svc -d /service/qmail-pop3d /service/qmail-pop3d/log

######## End ########

######## Add the following section to &#34;stat&#34; part of the file:/var/qmail/bin/qmailctl ########

svstat /service/qmail-pop3d

svstat /service/qmail-pop3d/log

######## End ########

######## Add the following section to &#34;pause&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34;Pausing qmail-pop3d&#34;

svc -p /service/qmail-pop3d

######## End ########

######## Add the following section to &#34;cont&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34;Continuing qmail-pop3d&#34;

svc -c /service/qmail-pop3d

######## End ########

######## Add the following section to &#34;restart&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34; Restarting qmail-pop3d.&#34;

svc -t /service/qmail-pop3d /service/qmail-pop3d/log

######## End ########

# Test the Installation:

cd /usr/local/src

sh inst_check

# When everything looks right, inst_check will report:

# Congratulations, your LWQ installation looks good!

################################

# Install mysql

################################

groupadd mysql

useradd -g mysql mysql

cd /usr/local

tar -xvzf /usr/local/src/mysql-standard-4.0.20-pc-linux-i686.tar.gz

ln -s mysql-standard-4.0.20-pc-linux-i686 mysql

cd mysql

scripts/mysql_install_db

cd ..

chown -R root.mysql mysql-standard-4.0.20-pc-linux-i686

chmod -R 640 mysql

chmod -R u+X,g+X mysql

chmod -R ug+x mysql/bin

chmod -R g+w mysql/data

chmod -R u+x mysql/scripts

cp /usr/local/mysql/support-files/my-medium.cnf /usr/local/mysql/data/my.cnf

chgrp mysql /usr/local/mysql/data/my.cnf

cd /usr/local/mysql

bin/safe_mysqld –user=mysql &amp;

# Set the root password

/usr/local/mysql/bin/mysqladmin -u root password &#39;secret&#39;

# Configure MySQL so it is running all the time from bootup onwards

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

chmod 744 /etc/rc.d/init.d/mysql

chkconfig –add mysql

################################

# Install apache

################################

cd /usr/local/src

chown -R root.root apache_1.3.31.tar.gz

tar -xvzf apache_1.3.31.tar.gz

groupadd www

useradd -g www www

cd /usr/local/src/apache_1.3.31

./configure

–prefix=/usr/local/apache

–enable-module=so

–enable-module=rewrite

–enable-shared=rewrite

–server-uid=www

–server-gid=www

make

make install

################################

# Install php

################################

cd /usr/local/src

tar -xvzf php-4.3.7.tar.gz

chown -R root.root php-4.3.7.tar.gz

cd php-4.3.7

./configure

–with-mysql=/usr/local/mysql

–with-apxs=/usr/local/apache/bin/apxs

make

make install

cp php.ini-dist /usr/local/lib/php.ini

vi /usr/local/lib/php.ini

######## Modify the /usr/local/lib/php.ini file and make sure it contains the following commands. ########

max_execution_time=60

memory_limit=10M

post_max_size=8M

upload_max_filesize=8M

file_uploads=On

log_errors=On

error_log=/usr/local/apache/logs/php_error_log

######## End ########

chown -R root.www /usr/local/lib/php

chmod -R g-w,o-rwx /usr/local/lib/php

vi /usr/local/apache/conf/httpd.conf

######## Modify the /usr/local/apache/conf/httpd.conf file and make sure it contains the following commands. ########

User www

Group www

ServerAdmin postmaster@myqmail.com

ServerName mail.five-star.cn

# Following line should be present already as it would be ins&#101;rted by the PHP make

# Make sure you move it outside of the IfDefineSSL section if the make (incorrectly) put it there

LoadModule php4_module libexec/libphp4.so

# uncomment (or add) the following line

AddType application/x-httpd-php .php

# Add the index.php into this line so apache will use this file as a default in addition to index.html

DirectoryIndex index.php index.html

######## End ########

rm -Rf /usr/local/apache/htdocs/

rm -f /usr/local/apache/index.html.

rm -Rf /usr/local/apache/cgi-bin/

cd /usr/local

chown -R root.root apache

chmod 755 apache

chmod -R 600 apache/

chmod -R u+X apache

cd apache

chmod -R u+x bin

chgrp -R www cgi-bin

chmod -R u+x,g+x cgi-bin

chgrp -R www icons

chmod -R g+rX icons

chgrp -R www logs

chmod g+wX logs

chgrp -R www htdocs

chmod -R g+rX htdocs

# Run apache every time at bootup.

rm -rf /etc/rc.d/init.d/httpd

vi /etc/rc.d/init.d/httpd

######## Cr&#101;ate the /etc/rc.d/init.d/httpd file with the following commands. ########

#!/bin/sh

#

# Startup script for the Apache Web Server

#

# chkconfig: 345 85 15

# description: Apache is a World Wide Web server. It is used to serve

# HTML files and CGI.

# processname: httpd

# pidfile: /var/run/httpd.pid

# Source function library.

./etc/rc.d/init.d/functions

# See how we were called.

case &#34;&#34; in

start)

echo -n &#34;Starting httpd: &#34;

daemon /usr/local/apache/bin/httpd

echo

touch /var/lock/subsys/httpd

;;

stop)

echo -n &#34;Shutting down http: &#34;

killproc httpd

echo

rm -f /var/lock/subsys/httpd

rm -f /var/run/httpd.pid

;;

status)

status httpd

;;

restart)

THE frist ………………

qmail is an excellent MTA(Mail Transport Agent) written by Dan Bernstein.

Why qmail:

Security. qmail is secure.

Speed. qmail is capable of handing millions of deliveries per day on a moderate system.

Reliability. qmail writes mail to disk before it announces success.

Extremely easy virtual domain administration.

User-controlled mailing lists using ezmlm.

Intuitive, straightforward, and simple administration.

Requirements:

You must be running UNIX o&#114; a UNIX-like operating system.

You must have a working DNS, and your system must have a DNS name.

You must have a working C compiler.

Install file list:

netqmail-1.05.tar.gz

ucspi-tcp-0.88.tar.gz

daemontools-0.76.tar.gz

vpopmail-5.4.0.tar.gz

mysql-standard-4.0.20-pc-linux-i686.tar.gz

apache_1.3.31.tar.gz

php-4.3.7.tar.gz

autorespond-2.0.4.tar.gz

ezmlm-0.53.tar.gz

ezmlm-idx-0.40.tar.gz

qmailadmin-1.2.0.tar.gz

sqwebmail-3.5.3.tar.gz

Patches:

ezmlm-idx-0.53.400.unified_41.patch

Scripts:

qmailctl

inst_check

qmailadmin_zh

zh-cn/

images/webmail/

Preparation:

Login the system as root.

mkdir -p /usr/local/src

mkdir -p /package

Move the files of installation, patches and scripts except daemontools-0.76.tar.gz to /usr/local/src

Move daemontools-0.76.tar.gz to /package

chmod 1755 /package

Start installation:

cd /usr/local/src

tar -xvzf netqmail-1.05.tar.gz

cd netqmail-1.05

./collate.sh # important sentence!!!

cd ..

tar -xvzf ucspi-tcp-0.88.tar.gz

rm .tar # optional, unless space is very tight

cd /package

tar -xvzf daemontools-0.76.tar.gz

rm .tar # optional, again

################################

# Install qmail

################################

mkdir /var/qmail

mkdir /etc/qmail

ln -s /etc/qmail /var/qmail/control

# Cr&#101;ate users and groups

userdel alias

userdel qmaild

userdel qmaill

userdel qmailp

userdel qmailq

userdel qmailr

userdel qmails

groupdel nofiles

groupdel 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 qmail -d /var/qmail qmailq

useradd -g qmail -d /var/qmail qmailr

useradd -g qmail -d /var/qmail qmails

cd /usr/local/src/netqmail-1.05/netqmail-1.05

make setup check

# If your DNS is configured properly, this script should be all you need at this point:

./config

# o&#114; you can configure your domain.

./config-fast mail.myqmail.com

################################

# Install ucspi-tcp

################################

cd /usr/local/src/ucspi-tcp-0.88

patch < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch

make

make setup check

################################

# Install daemontools

################################

cd /package

tar -xvzf daemontools-0.76.tar.gz

cd /package/admin/daemontools-0.76/src

patch < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch

cd ..

package/install

# Start qmail script

vi /var/qmail/rc

######## Write the following section to file:/var/qmail/rc ########

#!/bin/sh

# Using stdout for logging

# Using control/defaultdelivery from qmail-local to deliver messages by default

exec env – PATH=&#34;/var/qmail/bin:$PATH&#34;

qmail-start &#34;`cat /var/qmail/control/defaultdelivery`&#34;

######## End ########

chmod 755 /var/qmail/rc

mkdir /var/log/qmail

echo ./Maildir/ >/var/qmail/control/defaultdelivery

mv /usr/local/src/qmailctl /var/qmail/bin/

chmod 755 /var/qmail/bin/qmailctl

ln -s /var/qmail/bin/qmailctl /usr/bin

# Cr&#101;ate the supervise

mkdir -p /var/qmail/supervise/qmail-send/log

mkdir -p /var/qmail/supervise/qmail-smtpd/log

vi /var/qmail/supervise/qmail-send/run

######## Write the following section to file:/var/qmail/supervise/qmail-send/run ########

#!/bin/sh

exec /var/qmail/rc

######## End ########

vi /var/qmail/supervise/qmail-send/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-send/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

######## End ########

vi /var/qmail/supervise/qmail-smtpd/run

######## Write the following section to file:/var/qmail/supervise/qmail-smtpd/run ########

#!/bin/sh

QMAILDUID=`id -u qmaild`

NOFILESGID=`id -g qmaild`

MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`

LOCAL=`head -1 /var/qmail/control/me`

if [ -z &#34;$QMAILDUID&#34; -o -z &#34;$NOFILESGID&#34; -o -z &#34;$MAXSMTPD&#34; -o -z &#34;$LOCAL&#34; ]; then

echo QMAILDUID, NOFILESGID, MAXSMTPD, o&#114; LOCAL is unset in

echo /var/qmail/supervise/qmail-smtpd/run

exit 1

fi

if [ ! -f /var/qmail/control/rcpthosts ]; then

echo &#34;No /var/qmail/control/rcpthosts!&#34;

echo &#34;Refusing to start SMTP listener because it&#39;ll cr&#101;ate an open relay&#34;

exit 1

fi

exec /usr/local/bin/softlimit -m 2000000

/usr/local/bin/tcpserver -v -R -l &#34;$LOCAL&#34; -x /etc/tcp.smtp.cdb -c &#34;$MAXSMTPD&#34;

-u &#34;$QMAILDUID&#34; -g &#34;$NOFILESGID&#34; 0 smtp /var/qmail/bin/qmail-smtpd 2>&amp;1

######## End ########

echo 20 > /var/qmail/control/concurrencyincoming

chmod 644 /var/qmail/control/concurrencyincoming

vi /var/qmail/supervise/qmail-smtpd/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-smtpd/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd

######## End ########

chmod +t /var/qmail/supervise/qmail-send

chmod +t /var/qmail/supervise/qmail-smtpd

chmod 755 /var/qmail/supervise/qmail-send/run

chmod 755 /var/qmail/supervise/qmail-send/log/run

chmod 755 /var/qmail/supervise/qmail-smtpd/run

chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

mkdir -p /var/log/qmail/smtpd

chown qmaill /var/log/qmail /var/log/qmail/smtpd

ln -s /var/qmail/supervise/ /service/

# Allow the local host to inject mail via SMTP:

echo &#39;127.:allow,RELAYCLIENT=&#34;&#34;&#39; >>/etc/tcp.smtp

qmailctl cdb

# Stop and disable the installed MTA:

/etc/init.d/sendmail stop

/sbin/init.d/sendmail stop

/etc/rc.d/init.d/sendmail stop

# Uninstall the sendmail:

rpm -e –nodeps sendmail

# Verify that nothing is listening to the SMTP port (25):

netstat -a | grep smtp

# If something is running, make sure it&#39;s not qmail by doing:

qmailctl stop

# The repeat the netstat check:

netstat -a | grep smtp

# Replace any existing /usr/lib/sendmail with the qmail version:

mv /usr/lib/sendmail /usr/lib/sendmail.old # ignore errors

mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ignore errors

chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old # ignore errors

ln -s /var/qmail/bin/sendmail /usr/lib

ln -s /var/qmail/bin/sendmail /usr/sbin

# Cr&#101;ate these aliases &#34;stone&#34;:

echo stone > /var/qmail/alias/.qmail-root

echo stone > /var/qmail/alias/.qmail-postmaster

ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon

chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster

# Start qmail service:

qmailctl start

# Now qmail should now be running. You can run &#34;qmailctl stat&#34; to verify that the services are up and running:

# qmailctl stat

# And run &#34;qmailctl cdb&#34; to reload the /etc/tcp.smtp

# qmailctl cdb

mkdir /var/qmail/supervise/qmail-pop3d

vi /var/qmail/supervise/qmail-pop3d/run

######## Write the following section to file:/var/qmail/supervise/qmail-pop3d/run ########

#!/bin/sh

exec /usr/local/bin/softlimit -m 3000000

/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup

mail.myqmail.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&amp;1

######## End ########

mkdir /var/qmail/supervise/qmail-pop3d/log

vi /var/qmail/supervise/qmail-pop3d/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-pop3d/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t

/var/log/qmail/pop3d

######## End ########

mkdir /var/log/qmail/pop3d

chown qmaill /var/log/qmail/pop3d

chmod 755 /var/qmail/supervise/qmail-pop3d/run

chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

ln -s /var/qmail/supervise/qmail-pop3d /service

vi /var/qmail/bin/qmailctl

######## Add the following section to &#34;start&#34; part of the file:/var/qmail/bin/qmailctl ########

if svok /service/qmail-pop3d ; then

svc -u /service/qmail-pop3d /service/qmail-pop3d/log

else

echo qmail-pop3d supervise not running

fi

######## End ########

######## Add the following section to &#34;stop&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34; qmail-pop3d&#34;

svc -d /service/qmail-pop3d /service/qmail-pop3d/log

######## End ########

######## Add the following section to &#34;stat&#34; part of the file:/var/qmail/bin/qmailctl ########

svstat /service/qmail-pop3d

svstat /service/qmail-pop3d/log

######## End ########

######## Add the following section to &#34;pause&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34;Pausing qmail-pop3d&#34;

svc -p /service/qmail-pop3d

######## End ########

######## Add the following section to &#34;cont&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34;Continuing qmail-pop3d&#34;

svc -c /service/qmail-pop3d

######## End ########

######## Add the following section to &#34;restart&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34; Restarting qmail-pop3d.&#34;

svc -t /service/qmail-pop3d /service/qmail-pop3d/log

######## End ########

# Test the Installation:

cd /usr/local/src

sh inst_check

# When everything looks right, inst_check will report:

# Congratulations, your LWQ installation looks good!

################################

# Install mysql

################################

groupadd mysql

useradd -g mysql mysql

cd /usr/local

tar -xvzf /usr/local/src/mysql-standard-4.0.20-pc-linux-i686.tar.gz

ln -s mysql-standard-4.0.20-pc-linux-i686 mysql

cd mysql

scripts/mysql_install_db

cd ..

chown -R root.mysql mysql-standard-4.0.20-pc-linux-i686

chmod -R 640 mysql

chmod -R u+X,g+X mysql

chmod -R ug+x mysql/bin

chmod -R g+w mysql/data

chmod -R u+x mysql/scripts

cp /usr/local/mysql/support-files/my-medium.cnf /usr/local/mysql/data/my.cnf

chgrp mysql /usr/local/mysql/data/my.cnf

cd /usr/local/mysql

bin/safe_mysqld –user=mysql &amp;

# Set the root password

/usr/local/mysql/bin/mysqladmin -u root password &#39;secret&#39;

# Configure MySQL so it is running all the time from bootup onwards

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

chmod 744 /etc/rc.d/init.d/mysql

chkconfig –add mysql

################################

# Install apache

################################

cd /usr/local/src

chown -R root.root apache_1.3.31.tar.gz

tar -xvzf apache_1.3.31.tar.gz

groupadd www

useradd -g www www

cd /usr/local/src/apache_1.3.31

./configure

–prefix=/usr/local/apache

–enable-module=so

–enable-module=rewrite

–enable-shared=rewrite

–server-uid=www

–server-gid=www

make

make install

################################

# Install php

################################

cd /usr/local/src

tar -xvzf php-4.3.7.tar.gz

chown -R root.root php-4.3.7.tar.gz

cd php-4.3.7

./configure

–with-mysql=/usr/local/mysql

–with-apxs=/usr/local/apache/bin/apxs

make

make install

cp php.ini-dist /usr/local/lib/php.ini

vi /usr/local/lib/php.ini

######## Modify the /usr/local/lib/php.ini file and make sure it contains the following commands. ########

max_execution_time=60

memory_limit=10M

post_max_size=8M

upload_max_filesize=8M

file_uploads=On

log_errors=On

error_log=/usr/local/apache/logs/php_error_log

######## End ########

chown -R root.www /usr/local/lib/php

chmod -R g-w,o-rwx /usr/local/lib/php

vi /usr/local/apache/conf/httpd.conf

######## Modify the /usr/local/apache/conf/httpd.conf file and make sure it contains the following commands. ########

User www

Group www

ServerAdmin postmaster@myqmail.com

ServerName mail.five-star.cn

# Following line should be present already as it would be ins&#101;rted by the PHP make

# Make sure you move it outside of the IfDefineSSL section if the make (incorrectly) put it there

LoadModule php4_module libexec/libphp4.so

# uncomment (or add) the following line

AddType application/x-httpd-php .php

# Add the index.php into this line so apache will use this file as a default in addition to index.html

DirectoryIndex index.php index.html

######## End ########

rm -Rf /usr/local/apache/htdocs/

rm -f /usr/local/apache/index.html.

rm -Rf /usr/local/apache/cgi-bin/

cd /usr/local

chown -R root.root apache

chmod 755 apache

chmod -R 600 apache/

chmod -R u+X apache

cd apache

chmod -R u+x bin

chgrp -R www cgi-bin

chmod -R u+x,g+x cgi-bin

chgrp -R www icons

chmod -R g+rX icons

chgrp -R www logs

chmod g+wX logs

chgrp -R www htdocs

chmod -R g+rX htdocs

# Run apache every time at bootup.

rm -rf /etc/rc.d/init.d/httpd

vi /etc/rc.d/init.d/httpd

######## Cr&#101;ate the /etc/rc.d/init.d/httpd file with the following commands. ########

#!/bin/sh

#

# Startup script for the Apache Web Server

#

# chkconfig: 345 85 15

# description: Apache is a World Wide Web server. It is used to serve

# HTML files and CGI.

# processname: httpd

# pidfile: /var/run/httpd.pid

# Source function library.

./etc/rc.d/init.d/functions

# See how we were called.

case &#34;&#34; in

start)

echo -n &#34;Starting httpd: &#34;

daemon /usr/local/apache/bin/httpd

echo

touch /var/lock/subsys/httpd

;;

stop)

echo -n &#34;Shutting down http: &#34;

killproc httpd

echo

rm -f /var/lock/subsys/httpd

rm -f /var/run/httpd.pid

;;

status)

status httpd

;;

restart)

stop

start

;;

reload)

echo -n &#34;Reloading httpd: &#34;

killproc httpd -HUP

echo

;;

*)

echo &#34;Usage: {start|stop|restart|reload|status}&#34;

exit 1

esac

exit 0

######## End ########

chown root.root /etc/rc.d/init.d/httpd

chmod 744 /etc/rc.d/init.d/httpd

chkconfig –add httpd

################################

# Install vpopmial

################################

groupadd vchkpw

useradd -g vchkpw vpopmail

cd /usr/local/src

tar -xvzf vpopmail-5.4.0.tar.gz

chown -R root.root vpopmail-5.4.0

cd vpopmail-5.4.0

mkdir ~vpopmail/etc

chown vpopmail.vchkpw ~vpopmail/etc

echo &#34;localhost|0|vpopmailuser|vpoppasswd|vpopmail&#34; > ~vpopmail/etc/vpopmail.mysql

chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql

chmod 640 ~vpopmail/etc/vpopmail.mysql

/usr/local/mysql/bin/mysql –password=&#34;secret&#34;

Cr&#101;ate DATABASE vpopmail;

GRANT sel&#101;ct,ins&#101;rt,up&#100;ate,del&#101;te,cr&#101;ate,dro&#112; ON vpopmail. TO vpopmailuser@localhost IDENTIFIED BY &#39;vpoppasswd&#39;;

quit

./configure

–disable-roaming-users

–enable-logging=p

–disable-passwd

–enable-clear-passwd

–disable-domain-quotas

–enable-auth-module=mysql

–disable-many-domains

–enable-auth-logging

–enable-mysql-logging

–enable-valias

–disable-mysql-limits

make

make install-strip

vi ~vpopmail/etc/vlimits.default

default_quota 20971520 # Set the mail box default size 20M.

echo &#34;myqmail.com&#34; > /home/vpopmail/etc/defaultdomain

# Setup the quota warning message that is sent to users when they are at 90% quota.

vi quotawarn.msg

######## Cr&#101;ate the quotawarn.msg file with the following commands. ########

From: SomeCompany Postmaster

Reply-To: postmaster@myqmail.com

To: SomeCompany User:;

Subject: Mail quota warning

Mime-Version: 1.0

Content-Type: text/plain; charset=iso-8859-1

Content-Transfer-Encoding: 7bit

Your mailbox on the server is now more than 90% full.

So that you can continue to receive mail,

you need to remove some messages from your mailbox.

If you require assistance with this,

please contact our support department :

email : support@myqmail.com

Tel : xx xxxx xxxx

######## End ########

cp quotawarn.msg /home/vpopmail/domains/.quotawarn.msg

echo &#34;Message rejected. Not enough storage space in user&#39;s mailbox to accept message.&#34; > /home/vpopmail/domains/.over-quota.msg

# add a domain

/home/vpopmail/bin/vadddomain myqmail.com myqmail

# add a test account

/home/vpopmail/bin/vadduser stone@myqmail.com stone

# del&#101;te a user

# /home/vpopmail/bin/vdeluser stone@myqmail.com

# del&#101;te a domain

# /home/vpopmail/bin/vdeldomain myqmail.com

################################

# Install autoresponder

################################

cd /usr/local/src

tar -xvzf autorespond-2.0.4.tar.gz

chown -R root.root autorespond-2.0.4

cd autorespond-2.0.4

make

make install

################################

# Install ezmlm / ezmlm-idx

################################

cd /usr/local/src

tar -xvzf ezmlm-0.53.tar.gz

chown -R root.root ezmlm-0.53

cd /usr/local/src

tar -xvzf ezmlm-idx-0.40.tar.gz

chown -R root.root ezmlm-idx-0.40

cp -R ezmlm-idx-0.40/ ezmlm-0.53/

# (you need to press y quite a few times to allow the patch files to overwrite the o&#114;iginal files)

cd ezmlm-0.53

patch < idx.patch

patch -p1 < ../ezmlm-idx-0.53.400.unified_41.patch

make

make man

make setup

################################

# Install qmailadmin

################################

cd /usr/local/src

tar -xvzf qmailadmin-1.2.0.tar.gz

chown -R root.root qmailadmin-1.2.0

cd qmailadmin-1.2.0

./configure

–enable-htmldir=/usr/local/apache/htdocs

–enable-cgibindir=/usr/local/apache/cgi-bin

–enable-maxusersperpage=12

–enable-maxaliasesperpage=12

–enable-modify-quota

–disable-ezmlm-mysql

–disable-help

make

make install-strip

# Chinese qmailadmin

# Backup the o&#114;ginal files.

mv /usr/local/share/qmailadmin/lang/en /usr/local/share/qmailadmin/lang/en_bak

mv /usr/local/src/qmailadmin_zh /usr/local/share/qmailadmin/lang/en

# Test the qmailadmin

http://mail.myqmail.com/cgi-bin/qmailadmin

################################

# Install sqwebmail

################################

cd /usr/local/src

tar -xvzf sqwebmail-3.5.3.tar.gz

chown -R root.root sqwebmail-3.5.3.tar.gz

cd sqwebmail-3.5.3

./configure

–without-authpwd –without-authshadow –without-authpam

–without-authuserdb –without-authldap –without-authdaemon

–with-authvchkpw –with-fcgi –enable-unicode=gb2312

–enable-webpass=vpopmail

–enable-cgibindir=/usr/local/apache/cgi-bin

–enable-imagedir=/usr/local/apache/htdocs/images/webmail

–enable-mimetypes=/usr/local/apache/htdocs

–enable-mimecharset=gb2312

–with-defaultlang=zh

make

make install

make install-configure

cp -a /usr/local/apache/htdocs/images/webmail /usr/local/apache/htdocs/

mv -f /usr/local/src/zh-cn/ /usr/local/share/sqwebmail/html/zh-cn

mv /usr/local/src/images/webmail/ /usr/local/apache/htdocs/images/webmail/

# Test the webmail

http://mail.myqmail.com/cgi-bin/sqwebmail

Download the source

qmail, http://www.qmail.org/netqmail-1.05.tar.gz

ucspi-tcp, ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz

daemontools, ftp://cr.yp.to/daemontools/daemontools-0.76.tar.gz

References:

http://www.lifewithqmail.org/lwq.html

http://www.pipeline.com.au/staff/mbowe/isp/webmail-server.htm

http://cr.yp.to

stop

THE frist ………………

qmail is an excellent MTA(Mail Transport Agent) written by Dan Bernstein.

Why qmail:

Security. qmail is secure.

Speed. qmail is capable of handing millions of deliveries per day on a moderate system.

Reliability. qmail writes mail to disk before it announces success.

Extremely easy virtual domain administration.

User-controlled mailing lists using ezmlm.

Intuitive, straightforward, and simple administration.

Requirements:

You must be running UNIX o&#114; a UNIX-like operating system.

You must have a working DNS, and your system must have a DNS name.

You must have a working C compiler.

Install file list:

netqmail-1.05.tar.gz

ucspi-tcp-0.88.tar.gz

daemontools-0.76.tar.gz

vpopmail-5.4.0.tar.gz

mysql-standard-4.0.20-pc-linux-i686.tar.gz

apache_1.3.31.tar.gz

php-4.3.7.tar.gz

autorespond-2.0.4.tar.gz

ezmlm-0.53.tar.gz

ezmlm-idx-0.40.tar.gz

qmailadmin-1.2.0.tar.gz

sqwebmail-3.5.3.tar.gz

Patches:

ezmlm-idx-0.53.400.unified_41.patch

Scripts:

qmailctl

inst_check

qmailadmin_zh

zh-cn/

images/webmail/

Preparation:

Login the system as root.

mkdir -p /usr/local/src

mkdir -p /package

Move the files of installation, patches and scripts except daemontools-0.76.tar.gz to /usr/local/src

Move daemontools-0.76.tar.gz to /package

chmod 1755 /package

Start installation:

cd /usr/local/src

tar -xvzf netqmail-1.05.tar.gz

cd netqmail-1.05

./collate.sh # important sentence!!!

cd ..

tar -xvzf ucspi-tcp-0.88.tar.gz

rm .tar # optional, unless space is very tight

cd /package

tar -xvzf daemontools-0.76.tar.gz

rm .tar # optional, again

################################

# Install qmail

################################

mkdir /var/qmail

mkdir /etc/qmail

ln -s /etc/qmail /var/qmail/control

# Cr&#101;ate users and groups

userdel alias

userdel qmaild

userdel qmaill

userdel qmailp

userdel qmailq

userdel qmailr

userdel qmails

groupdel nofiles

groupdel 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 qmail -d /var/qmail qmailq

useradd -g qmail -d /var/qmail qmailr

useradd -g qmail -d /var/qmail qmails

cd /usr/local/src/netqmail-1.05/netqmail-1.05

make setup check

# If your DNS is configured properly, this script should be all you need at this point:

./config

# o&#114; you can configure your domain.

./config-fast mail.myqmail.com

################################

# Install ucspi-tcp

################################

cd /usr/local/src/ucspi-tcp-0.88

patch < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch

make

make setup check

################################

# Install daemontools

################################

cd /package

tar -xvzf daemontools-0.76.tar.gz

cd /package/admin/daemontools-0.76/src

patch < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch

cd ..

package/install

# Start qmail script

vi /var/qmail/rc

######## Write the following section to file:/var/qmail/rc ########

#!/bin/sh

# Using stdout for logging

# Using control/defaultdelivery from qmail-local to deliver messages by default

exec env – PATH=&#34;/var/qmail/bin:$PATH&#34;

qmail-start &#34;`cat /var/qmail/control/defaultdelivery`&#34;

######## End ########

chmod 755 /var/qmail/rc

mkdir /var/log/qmail

echo ./Maildir/ >/var/qmail/control/defaultdelivery

mv /usr/local/src/qmailctl /var/qmail/bin/

chmod 755 /var/qmail/bin/qmailctl

ln -s /var/qmail/bin/qmailctl /usr/bin

# Cr&#101;ate the supervise

mkdir -p /var/qmail/supervise/qmail-send/log

mkdir -p /var/qmail/supervise/qmail-smtpd/log

vi /var/qmail/supervise/qmail-send/run

######## Write the following section to file:/var/qmail/supervise/qmail-send/run ########

#!/bin/sh

exec /var/qmail/rc

######## End ########

vi /var/qmail/supervise/qmail-send/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-send/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

######## End ########

vi /var/qmail/supervise/qmail-smtpd/run

######## Write the following section to file:/var/qmail/supervise/qmail-smtpd/run ########

#!/bin/sh

QMAILDUID=`id -u qmaild`

NOFILESGID=`id -g qmaild`

MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`

LOCAL=`head -1 /var/qmail/control/me`

if [ -z &#34;$QMAILDUID&#34; -o -z &#34;$NOFILESGID&#34; -o -z &#34;$MAXSMTPD&#34; -o -z &#34;$LOCAL&#34; ]; then

echo QMAILDUID, NOFILESGID, MAXSMTPD, o&#114; LOCAL is unset in

echo /var/qmail/supervise/qmail-smtpd/run

exit 1

fi

if [ ! -f /var/qmail/control/rcpthosts ]; then

echo &#34;No /var/qmail/control/rcpthosts!&#34;

echo &#34;Refusing to start SMTP listener because it&#39;ll cr&#101;ate an open relay&#34;

exit 1

fi

exec /usr/local/bin/softlimit -m 2000000

/usr/local/bin/tcpserver -v -R -l &#34;$LOCAL&#34; -x /etc/tcp.smtp.cdb -c &#34;$MAXSMTPD&#34;

-u &#34;$QMAILDUID&#34; -g &#34;$NOFILESGID&#34; 0 smtp /var/qmail/bin/qmail-smtpd 2>&amp;1

######## End ########

echo 20 > /var/qmail/control/concurrencyincoming

chmod 644 /var/qmail/control/concurrencyincoming

vi /var/qmail/supervise/qmail-smtpd/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-smtpd/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd

######## End ########

chmod +t /var/qmail/supervise/qmail-send

chmod +t /var/qmail/supervise/qmail-smtpd

chmod 755 /var/qmail/supervise/qmail-send/run

chmod 755 /var/qmail/supervise/qmail-send/log/run

chmod 755 /var/qmail/supervise/qmail-smtpd/run

chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

mkdir -p /var/log/qmail/smtpd

chown qmaill /var/log/qmail /var/log/qmail/smtpd

ln -s /var/qmail/supervise/ /service/

# Allow the local host to inject mail via SMTP:

echo &#39;127.:allow,RELAYCLIENT=&#34;&#34;&#39; >>/etc/tcp.smtp

qmailctl cdb

# Stop and disable the installed MTA:

/etc/init.d/sendmail stop

/sbin/init.d/sendmail stop

/etc/rc.d/init.d/sendmail stop

# Uninstall the sendmail:

rpm -e –nodeps sendmail

# Verify that nothing is listening to the SMTP port (25):

netstat -a | grep smtp

# If something is running, make sure it&#39;s not qmail by doing:

qmailctl stop

# The repeat the netstat check:

netstat -a | grep smtp

# Replace any existing /usr/lib/sendmail with the qmail version:

mv /usr/lib/sendmail /usr/lib/sendmail.old # ignore errors

mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ignore errors

chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old # ignore errors

ln -s /var/qmail/bin/sendmail /usr/lib

ln -s /var/qmail/bin/sendmail /usr/sbin

# Cr&#101;ate these aliases &#34;stone&#34;:

echo stone > /var/qmail/alias/.qmail-root

echo stone > /var/qmail/alias/.qmail-postmaster

ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon

chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster

# Start qmail service:

qmailctl start

# Now qmail should now be running. You can run &#34;qmailctl stat&#34; to verify that the services are up and running:

# qmailctl stat

# And run &#34;qmailctl cdb&#34; to reload the /etc/tcp.smtp

# qmailctl cdb

mkdir /var/qmail/supervise/qmail-pop3d

vi /var/qmail/supervise/qmail-pop3d/run

######## Write the following section to file:/var/qmail/supervise/qmail-pop3d/run ########

#!/bin/sh

exec /usr/local/bin/softlimit -m 3000000

/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup

mail.myqmail.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&amp;1

######## End ########

mkdir /var/qmail/supervise/qmail-pop3d/log

vi /var/qmail/supervise/qmail-pop3d/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-pop3d/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t

/var/log/qmail/pop3d

######## End ########

mkdir /var/log/qmail/pop3d

chown qmaill /var/log/qmail/pop3d

chmod 755 /var/qmail/supervise/qmail-pop3d/run

chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

ln -s /var/qmail/supervise/qmail-pop3d /service

vi /var/qmail/bin/qmailctl

######## Add the following section to &#34;start&#34; part of the file:/var/qmail/bin/qmailctl ########

if svok /service/qmail-pop3d ; then

svc -u /service/qmail-pop3d /service/qmail-pop3d/log

else

echo qmail-pop3d supervise not running

fi

######## End ########

######## Add the following section to &#34;stop&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34; qmail-pop3d&#34;

svc -d /service/qmail-pop3d /service/qmail-pop3d/log

######## End ########

######## Add the following section to &#34;stat&#34; part of the file:/var/qmail/bin/qmailctl ########

svstat /service/qmail-pop3d

svstat /service/qmail-pop3d/log

######## End ########

######## Add the following section to &#34;pause&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34;Pausing qmail-pop3d&#34;

svc -p /service/qmail-pop3d

######## End ########

######## Add the following section to &#34;cont&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34;Continuing qmail-pop3d&#34;

svc -c /service/qmail-pop3d

######## End ########

######## Add the following section to &#34;restart&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34; Restarting qmail-pop3d.&#34;

svc -t /service/qmail-pop3d /service/qmail-pop3d/log

######## End ########

# Test the Installation:

cd /usr/local/src

sh inst_check

# When everything looks right, inst_check will report:

# Congratulations, your LWQ installation looks good!

################################

# Install mysql

################################

groupadd mysql

useradd -g mysql mysql

cd /usr/local

tar -xvzf /usr/local/src/mysql-standard-4.0.20-pc-linux-i686.tar.gz

ln -s mysql-standard-4.0.20-pc-linux-i686 mysql

cd mysql

scripts/mysql_install_db

cd ..

chown -R root.mysql mysql-standard-4.0.20-pc-linux-i686

chmod -R 640 mysql

chmod -R u+X,g+X mysql

chmod -R ug+x mysql/bin

chmod -R g+w mysql/data

chmod -R u+x mysql/scripts

cp /usr/local/mysql/support-files/my-medium.cnf /usr/local/mysql/data/my.cnf

chgrp mysql /usr/local/mysql/data/my.cnf

cd /usr/local/mysql

bin/safe_mysqld –user=mysql &amp;

# Set the root password

/usr/local/mysql/bin/mysqladmin -u root password &#39;secret&#39;

# Configure MySQL so it is running all the time from bootup onwards

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

chmod 744 /etc/rc.d/init.d/mysql

chkconfig –add mysql

################################

# Install apache

################################

cd /usr/local/src

chown -R root.root apache_1.3.31.tar.gz

tar -xvzf apache_1.3.31.tar.gz

groupadd www

useradd -g www www

cd /usr/local/src/apache_1.3.31

./configure

–prefix=/usr/local/apache

–enable-module=so

–enable-module=rewrite

–enable-shared=rewrite

–server-uid=www

–server-gid=www

make

make install

################################

# Install php

################################

cd /usr/local/src

tar -xvzf php-4.3.7.tar.gz

chown -R root.root php-4.3.7.tar.gz

cd php-4.3.7

./configure

–with-mysql=/usr/local/mysql

–with-apxs=/usr/local/apache/bin/apxs

make

make install

cp php.ini-dist /usr/local/lib/php.ini

vi /usr/local/lib/php.ini

######## Modify the /usr/local/lib/php.ini file and make sure it contains the following commands. ########

max_execution_time=60

memory_limit=10M

post_max_size=8M

upload_max_filesize=8M

file_uploads=On

log_errors=On

error_log=/usr/local/apache/logs/php_error_log

######## End ########

chown -R root.www /usr/local/lib/php

chmod -R g-w,o-rwx /usr/local/lib/php

vi /usr/local/apache/conf/httpd.conf

######## Modify the /usr/local/apache/conf/httpd.conf file and make sure it contains the following commands. ########

User www

Group www

ServerAdmin postmaster@myqmail.com

ServerName mail.five-star.cn

# Following line should be present already as it would be ins&#101;rted by the PHP make

# Make sure you move it outside of the IfDefineSSL section if the make (incorrectly) put it there

LoadModule php4_module libexec/libphp4.so

# uncomment (or add) the following line

AddType application/x-httpd-php .php

# Add the index.php into this line so apache will use this file as a default in addition to index.html

DirectoryIndex index.php index.html

######## End ########

rm -Rf /usr/local/apache/htdocs/

rm -f /usr/local/apache/index.html.

rm -Rf /usr/local/apache/cgi-bin/

cd /usr/local

chown -R root.root apache

chmod 755 apache

chmod -R 600 apache/

chmod -R u+X apache

cd apache

chmod -R u+x bin

chgrp -R www cgi-bin

chmod -R u+x,g+x cgi-bin

chgrp -R www icons

chmod -R g+rX icons

chgrp -R www logs

chmod g+wX logs

chgrp -R www htdocs

chmod -R g+rX htdocs

# Run apache every time at bootup.

rm -rf /etc/rc.d/init.d/httpd

vi /etc/rc.d/init.d/httpd

######## Cr&#101;ate the /etc/rc.d/init.d/httpd file with the following commands. ########

#!/bin/sh

#

# Startup script for the Apache Web Server

#

# chkconfig: 345 85 15

# description: Apache is a World Wide Web server. It is used to serve

# HTML files and CGI.

# processname: httpd

# pidfile: /var/run/httpd.pid

# Source function library.

./etc/rc.d/init.d/functions

# See how we were called.

case &#34;&#34; in

start)

echo -n &#34;Starting httpd: &#34;

daemon /usr/local/apache/bin/httpd

echo

touch /var/lock/subsys/httpd

;;

stop)

echo -n &#34;Shutting down http: &#34;

killproc httpd

echo

rm -f /var/lock/subsys/httpd

rm -f /var/run/httpd.pid

;;

status)

status httpd

;;

restart)

stop

start

;;

reload)

echo -n &#34;Reloading httpd: &#34;

killproc httpd -HUP

echo

;;

*)

echo &#34;Usage: {start|stop|restart|reload|status}&#34;

exit 1

esac

exit 0

######## End ########

chown root.root /etc/rc.d/init.d/httpd

chmod 744 /etc/rc.d/init.d/httpd

chkconfig –add httpd

################################

# Install vpopmial

################################

groupadd vchkpw

useradd -g vchkpw vpopmail

cd /usr/local/src

tar -xvzf vpopmail-5.4.0.tar.gz

chown -R root.root vpopmail-5.4.0

cd vpopmail-5.4.0

mkdir ~vpopmail/etc

chown vpopmail.vchkpw ~vpopmail/etc

echo &#34;localhost|0|vpopmailuser|vpoppasswd|vpopmail&#34; > ~vpopmail/etc/vpopmail.mysql

chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql

chmod 640 ~vpopmail/etc/vpopmail.mysql

/usr/local/mysql/bin/mysql –password=&#34;secret&#34;

Cr&#101;ate DATABASE vpopmail;

GRANT sel&#101;ct,ins&#101;rt,up&#100;ate,del&#101;te,cr&#101;ate,dro&#112; ON vpopmail. TO vpopmailuser@localhost IDENTIFIED BY &#39;vpoppasswd&#39;;

quit

./configure

–disable-roaming-users

–enable-logging=p

–disable-passwd

–enable-clear-passwd

–disable-domain-quotas

–enable-auth-module=mysql

–disable-many-domains

–enable-auth-logging

–enable-mysql-logging

–enable-valias

–disable-mysql-limits

make

make install-strip

vi ~vpopmail/etc/vlimits.default

default_quota 20971520 # Set the mail box default size 20M.

echo &#34;myqmail.com&#34; > /home/vpopmail/etc/defaultdomain

# Setup the quota warning message that is sent to users when they are at 90% quota.

vi quotawarn.msg

######## Cr&#101;ate the quotawarn.msg file with the following commands. ########

From: SomeCompany Postmaster

Reply-To: postmaster@myqmail.com

To: SomeCompany User:;

Subject: Mail quota warning

Mime-Version: 1.0

Content-Type: text/plain; charset=iso-8859-1

Content-Transfer-Encoding: 7bit

Your mailbox on the server is now more than 90% full.

So that you can continue to receive mail,

you need to remove some messages from your mailbox.

If you require assistance with this,

please contact our support department :

email : support@myqmail.com

Tel : xx xxxx xxxx

######## End ########

cp quotawarn.msg /home/vpopmail/domains/.quotawarn.msg

echo &#34;Message rejected. Not enough storage space in user&#39;s mailbox to accept message.&#34; > /home/vpopmail/domains/.over-quota.msg

# add a domain

/home/vpopmail/bin/vadddomain myqmail.com myqmail

# add a test account

/home/vpopmail/bin/vadduser stone@myqmail.com stone

# del&#101;te a user

# /home/vpopmail/bin/vdeluser stone@myqmail.com

# del&#101;te a domain

# /home/vpopmail/bin/vdeldomain myqmail.com

################################

# Install autoresponder

################################

cd /usr/local/src

tar -xvzf autorespond-2.0.4.tar.gz

chown -R root.root autorespond-2.0.4

cd autorespond-2.0.4

make

make install

################################

# Install ezmlm / ezmlm-idx

################################

cd /usr/local/src

tar -xvzf ezmlm-0.53.tar.gz

chown -R root.root ezmlm-0.53

cd /usr/local/src

tar -xvzf ezmlm-idx-0.40.tar.gz

chown -R root.root ezmlm-idx-0.40

cp -R ezmlm-idx-0.40/ ezmlm-0.53/

# (you need to press y quite a few times to allow the patch files to overwrite the o&#114;iginal files)

cd ezmlm-0.53

patch < idx.patch

patch -p1 < ../ezmlm-idx-0.53.400.unified_41.patch

make

make man

make setup

################################

# Install qmailadmin

################################

cd /usr/local/src

tar -xvzf qmailadmin-1.2.0.tar.gz

chown -R root.root qmailadmin-1.2.0

cd qmailadmin-1.2.0

./configure

–enable-htmldir=/usr/local/apache/htdocs

–enable-cgibindir=/usr/local/apache/cgi-bin

–enable-maxusersperpage=12

–enable-maxaliasesperpage=12

–enable-modify-quota

–disable-ezmlm-mysql

–disable-help

make

make install-strip

# Chinese qmailadmin

# Backup the o&#114;ginal files.

mv /usr/local/share/qmailadmin/lang/en /usr/local/share/qmailadmin/lang/en_bak

mv /usr/local/src/qmailadmin_zh /usr/local/share/qmailadmin/lang/en

# Test the qmailadmin

http://mail.myqmail.com/cgi-bin/qmailadmin

################################

# Install sqwebmail

################################

cd /usr/local/src

tar -xvzf sqwebmail-3.5.3.tar.gz

chown -R root.root sqwebmail-3.5.3.tar.gz

cd sqwebmail-3.5.3

./configure

–without-authpwd –without-authshadow –without-authpam

–without-authuserdb –without-authldap –without-authdaemon

–with-authvchkpw –with-fcgi –enable-unicode=gb2312

–enable-webpass=vpopmail

–enable-cgibindir=/usr/local/apache/cgi-bin

–enable-imagedir=/usr/local/apache/htdocs/images/webmail

–enable-mimetypes=/usr/local/apache/htdocs

–enable-mimecharset=gb2312

–with-defaultlang=zh

make

make install

make install-configure

cp -a /usr/local/apache/htdocs/images/webmail /usr/local/apache/htdocs/

mv -f /usr/local/src/zh-cn/ /usr/local/share/sqwebmail/html/zh-cn

mv /usr/local/src/images/webmail/ /usr/local/apache/htdocs/images/webmail/

# Test the webmail

http://mail.myqmail.com/cgi-bin/sqwebmail

Download the source

qmail, http://www.qmail.org/netqmail-1.05.tar.gz

ucspi-tcp, ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz

daemontools, ftp://cr.yp.to/daemontools/daemontools-0.76.tar.gz

References:

http://www.lifewithqmail.org/lwq.html

http://www.pipeline.com.au/staff/mbowe/isp/webmail-server.htm

http://cr.yp.to

start

;;

reload)

echo -n &#34;Reloading httpd: &#34;

killproc httpd -HUP

echo

;;

*)

echo &#34;Usage: THE frist ………………

qmail is an excellent MTA(Mail Transport Agent) written by Dan Bernstein.

Why qmail:

Security. qmail is secure.

Speed. qmail is capable of handing millions of deliveries per day on a moderate system.

Reliability. qmail writes mail to disk before it announces success.

Extremely easy virtual domain administration.

User-controlled mailing lists using ezmlm.

Intuitive, straightforward, and simple administration.

Requirements:

You must be running UNIX o&#114; a UNIX-like operating system.

You must have a working DNS, and your system must have a DNS name.

You must have a working C compiler.

Install file list:

netqmail-1.05.tar.gz

ucspi-tcp-0.88.tar.gz

daemontools-0.76.tar.gz

vpopmail-5.4.0.tar.gz

mysql-standard-4.0.20-pc-linux-i686.tar.gz

apache_1.3.31.tar.gz

php-4.3.7.tar.gz

autorespond-2.0.4.tar.gz

ezmlm-0.53.tar.gz

ezmlm-idx-0.40.tar.gz

qmailadmin-1.2.0.tar.gz

sqwebmail-3.5.3.tar.gz

Patches:

ezmlm-idx-0.53.400.unified_41.patch

Scripts:

qmailctl

inst_check

qmailadmin_zh

zh-cn/

images/webmail/

Preparation:

Login the system as root.

mkdir -p /usr/local/src

mkdir -p /package

Move the files of installation, patches and scripts except daemontools-0.76.tar.gz to /usr/local/src

Move daemontools-0.76.tar.gz to /package

chmod 1755 /package

Start installation:

cd /usr/local/src

tar -xvzf netqmail-1.05.tar.gz

cd netqmail-1.05

./collate.sh # important sentence!!!

cd ..

tar -xvzf ucspi-tcp-0.88.tar.gz

rm .tar # optional, unless space is very tight

cd /package

tar -xvzf daemontools-0.76.tar.gz

rm .tar # optional, again

################################

# Install qmail

################################

mkdir /var/qmail

mkdir /etc/qmail

ln -s /etc/qmail /var/qmail/control

# Cr&#101;ate users and groups

userdel alias

userdel qmaild

userdel qmaill

userdel qmailp

userdel qmailq

userdel qmailr

userdel qmails

groupdel nofiles

groupdel 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 qmail -d /var/qmail qmailq

useradd -g qmail -d /var/qmail qmailr

useradd -g qmail -d /var/qmail qmails

cd /usr/local/src/netqmail-1.05/netqmail-1.05

make setup check

# If your DNS is configured properly, this script should be all you need at this point:

./config

# o&#114; you can configure your domain.

./config-fast mail.myqmail.com

################################

# Install ucspi-tcp

################################

cd /usr/local/src/ucspi-tcp-0.88

patch < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch

make

make setup check

################################

# Install daemontools

################################

cd /package

tar -xvzf daemontools-0.76.tar.gz

cd /package/admin/daemontools-0.76/src

patch < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch

cd ..

package/install

# Start qmail script

vi /var/qmail/rc

######## Write the following section to file:/var/qmail/rc ########

#!/bin/sh

# Using stdout for logging

# Using control/defaultdelivery from qmail-local to deliver messages by default

exec env – PATH=&#34;/var/qmail/bin:$PATH&#34;

qmail-start &#34;`cat /var/qmail/control/defaultdelivery`&#34;

######## End ########

chmod 755 /var/qmail/rc

mkdir /var/log/qmail

echo ./Maildir/ >/var/qmail/control/defaultdelivery

mv /usr/local/src/qmailctl /var/qmail/bin/

chmod 755 /var/qmail/bin/qmailctl

ln -s /var/qmail/bin/qmailctl /usr/bin

# Cr&#101;ate the supervise

mkdir -p /var/qmail/supervise/qmail-send/log

mkdir -p /var/qmail/supervise/qmail-smtpd/log

vi /var/qmail/supervise/qmail-send/run

######## Write the following section to file:/var/qmail/supervise/qmail-send/run ########

#!/bin/sh

exec /var/qmail/rc

######## End ########

vi /var/qmail/supervise/qmail-send/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-send/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

######## End ########

vi /var/qmail/supervise/qmail-smtpd/run

######## Write the following section to file:/var/qmail/supervise/qmail-smtpd/run ########

#!/bin/sh

QMAILDUID=`id -u qmaild`

NOFILESGID=`id -g qmaild`

MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`

LOCAL=`head -1 /var/qmail/control/me`

if [ -z &#34;$QMAILDUID&#34; -o -z &#34;$NOFILESGID&#34; -o -z &#34;$MAXSMTPD&#34; -o -z &#34;$LOCAL&#34; ]; then

echo QMAILDUID, NOFILESGID, MAXSMTPD, o&#114; LOCAL is unset in

echo /var/qmail/supervise/qmail-smtpd/run

exit 1

fi

if [ ! -f /var/qmail/control/rcpthosts ]; then

echo &#34;No /var/qmail/control/rcpthosts!&#34;

echo &#34;Refusing to start SMTP listener because it&#39;ll cr&#101;ate an open relay&#34;

exit 1

fi

exec /usr/local/bin/softlimit -m 2000000

/usr/local/bin/tcpserver -v -R -l &#34;$LOCAL&#34; -x /etc/tcp.smtp.cdb -c &#34;$MAXSMTPD&#34;

-u &#34;$QMAILDUID&#34; -g &#34;$NOFILESGID&#34; 0 smtp /var/qmail/bin/qmail-smtpd 2>&amp;1

######## End ########

echo 20 > /var/qmail/control/concurrencyincoming

chmod 644 /var/qmail/control/concurrencyincoming

vi /var/qmail/supervise/qmail-smtpd/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-smtpd/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd

######## End ########

chmod +t /var/qmail/supervise/qmail-send

chmod +t /var/qmail/supervise/qmail-smtpd

chmod 755 /var/qmail/supervise/qmail-send/run

chmod 755 /var/qmail/supervise/qmail-send/log/run

chmod 755 /var/qmail/supervise/qmail-smtpd/run

chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

mkdir -p /var/log/qmail/smtpd

chown qmaill /var/log/qmail /var/log/qmail/smtpd

ln -s /var/qmail/supervise/ /service/

# Allow the local host to inject mail via SMTP:

echo &#39;127.:allow,RELAYCLIENT=&#34;&#34;&#39; >>/etc/tcp.smtp

qmailctl cdb

# Stop and disable the installed MTA:

/etc/init.d/sendmail stop

/sbin/init.d/sendmail stop

/etc/rc.d/init.d/sendmail stop

# Uninstall the sendmail:

rpm -e –nodeps sendmail

# Verify that nothing is listening to the SMTP port (25):

netstat -a | grep smtp

# If something is running, make sure it&#39;s not qmail by doing:

qmailctl stop

# The repeat the netstat check:

netstat -a | grep smtp

# Replace any existing /usr/lib/sendmail with the qmail version:

mv /usr/lib/sendmail /usr/lib/sendmail.old # ignore errors

mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ignore errors

chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old # ignore errors

ln -s /var/qmail/bin/sendmail /usr/lib

ln -s /var/qmail/bin/sendmail /usr/sbin

# Cr&#101;ate these aliases &#34;stone&#34;:

echo stone > /var/qmail/alias/.qmail-root

echo stone > /var/qmail/alias/.qmail-postmaster

ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon

chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster

# Start qmail service:

qmailctl start

# Now qmail should now be running. You can run &#34;qmailctl stat&#34; to verify that the services are up and running:

# qmailctl stat

# And run &#34;qmailctl cdb&#34; to reload the /etc/tcp.smtp

# qmailctl cdb

mkdir /var/qmail/supervise/qmail-pop3d

vi /var/qmail/supervise/qmail-pop3d/run

######## Write the following section to file:/var/qmail/supervise/qmail-pop3d/run ########

#!/bin/sh

exec /usr/local/bin/softlimit -m 3000000

/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup

mail.myqmail.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&amp;1

######## End ########

mkdir /var/qmail/supervise/qmail-pop3d/log

vi /var/qmail/supervise/qmail-pop3d/log/run

######## Write the following section to file:/var/qmail/supervise/qmail-pop3d/log/run ########

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t

/var/log/qmail/pop3d

######## End ########

mkdir /var/log/qmail/pop3d

chown qmaill /var/log/qmail/pop3d

chmod 755 /var/qmail/supervise/qmail-pop3d/run

chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

ln -s /var/qmail/supervise/qmail-pop3d /service

vi /var/qmail/bin/qmailctl

######## Add the following section to &#34;start&#34; part of the file:/var/qmail/bin/qmailctl ########

if svok /service/qmail-pop3d ; then

svc -u /service/qmail-pop3d /service/qmail-pop3d/log

else

echo qmail-pop3d supervise not running

fi

######## End ########

######## Add the following section to &#34;stop&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34; qmail-pop3d&#34;

svc -d /service/qmail-pop3d /service/qmail-pop3d/log

######## End ########

######## Add the following section to &#34;stat&#34; part of the file:/var/qmail/bin/qmailctl ########

svstat /service/qmail-pop3d

svstat /service/qmail-pop3d/log

######## End ########

######## Add the following section to &#34;pause&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34;Pausing qmail-pop3d&#34;

svc -p /service/qmail-pop3d

######## End ########

######## Add the following section to &#34;cont&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34;Continuing qmail-pop3d&#34;

svc -c /service/qmail-pop3d

######## End ########

######## Add the following section to &#34;restart&#34; part of the file:/var/qmail/bin/qmailctl ########

echo &#34; Restarting qmail-pop3d.&#34;

svc -t /service/qmail-pop3d /service/qmail-pop3d/log

######## End ########

# Test the Installation:

cd /usr/local/src

sh inst_check

# When everything looks right, inst_check will report:

# Congratulations, your LWQ installation looks good!

################################

# Install mysql

################################

groupadd mysql

useradd -g mysql mysql

cd /usr/local

tar -xvzf /usr/local/src/mysql-standard-4.0.20-pc-linux-i686.tar.gz

ln -s mysql-standard-4.0.20-pc-linux-i686 mysql

cd mysql

scripts/mysql_install_db

cd ..

chown -R root.mysql mysql-standard-4.0.20-pc-linux-i686

chmod -R 640 mysql

chmod -R u+X,g+X mysql

chmod -R ug+x mysql/bin

chmod -R g+w mysql/data

chmod -R u+x mysql/scripts

cp /usr/local/mysql/support-files/my-medium.cnf /usr/local/mysql/data/my.cnf

chgrp mysql /usr/local/mysql/data/my.cnf

cd /usr/local/mysql

bin/safe_mysqld –user=mysql &amp;

# Set the root password

/usr/local/mysql/bin/mysqladmin -u root password &#39;secret&#39;

# Configure MySQL so it is running all the time from bootup onwards

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

chmod 744 /etc/rc.d/init.d/mysql

chkconfig –add mysql

################################

# Install apache

################################

cd /usr/local/src

chown -R root.root apache_1.3.31.tar.gz

tar -xvzf apache_1.3.31.tar.gz

groupadd www

useradd -g www www

cd /usr/local/src/apache_1.3.31

./configure

–prefix=/usr/local/apache

–enable-module=so

–enable-module=rewrite

–enable-shared=rewrite

–server-uid=www

–server-gid=www

make

make install

################################

# Install php

################################

cd /usr/local/src

tar -xvzf php-4.3.7.tar.gz

chown -R root.root php-4.3.7.tar.gz

cd php-4.3.7

./configure

–with-mysql=/usr/local/mysql

–with-apxs=/usr/local/apache/bin/apxs

make

make install

cp php.ini-dist /usr/local/lib/php.ini

vi /usr/local/lib/php.ini

######## Modify the /usr/local/lib/php.ini file and make sure it contains the following commands. ########

max_execution_time=60

memory_limit=10M

post_max_size=8M

upload_max_filesize=8M

file_uploads=On

log_errors=On

error_log=/usr/local/apache/logs/php_error_log

######## End ########

chown -R root.www /usr/local/lib/php

chmod -R g-w,o-rwx /usr/local/lib/php

vi /usr/local/apache/conf/httpd.conf

######## Modify the /usr/local/apache/conf/httpd.conf file and make sure it contains the following commands. ########

User www

Group www

ServerAdmin postmaster@myqmail.com

ServerName mail.five-star.cn

# Following line should be present already as it would be ins&#101;rted by the PHP make

# Make sure you move it outside of the IfDefineSSL section if the make (incorrectly) put it there

LoadModule php4_module libexec/libphp4.so

# uncomment (or add) the following line

AddType application/x-httpd-php .php

# Add the index.php into this line so apache will use this file as a default in addition to index.html

DirectoryIndex index.php index.html

######## End ########

rm -Rf /usr/local/apache/htdocs/

rm -f /usr/local/apache/index.html.

rm -Rf /usr/local/apache/cgi-bin/

cd /usr/local

chown -R root.root apache

chmod 755 apache

chmod -R 600 apache/

chmod -R u+X apache

cd apache

chmod -R u+x bin

chgrp -R www cgi-bin

chmod -R u+x,g+x cgi-bin

chgrp -R www icons

chmod -R g+rX icons

chgrp -R www logs

chmod g+wX logs

chgrp -R www htdocs

chmod -R g+rX htdocs

# Run apache every time at bootup.

rm -rf /etc/rc.d/init.d/httpd

vi /etc/rc.d/init.d/httpd

######## Cr&#101;ate the /etc/rc.d/init.d/httpd file with the following commands. ########

#!/bin/sh

#

# Startup script for the Apache Web Server

#

# chkconfig: 345 85 15

# description: Apache is a World Wide Web server. It is used to serve

# HTML files and CGI.

# processname: httpd

# pidfile: /var/run/httpd.pid

# Source function library.

./etc/rc.d/init.d/functions

# See how we were called.

case &#34;&#34; in

start)

echo -n &#34;Starting httpd: &#34;

daemon /usr/local/apache/bin/httpd

echo

touch /var/lock/subsys/httpd

;;

stop)

echo -n &#34;Shutting down http: &#34;

killproc httpd

echo

rm -f /var/lock/subsys/httpd

rm -f /var/run/httpd.pid

;;

status)

status httpd

;;

restart)

stop

start

;;

reload)

echo -n &#34;Reloading httpd: &#34;

killproc httpd -HUP

echo

;;

*)

echo &#34;Usage: {start|stop|restart|reload|status}&#34;

exit 1

esac

exit 0

######## End ########

chown root.root /etc/rc.d/init.d/httpd

chmod 744 /etc/rc.d/init.d/httpd

chkconfig –add httpd

################################

# Install vpopmial

################################

groupadd vchkpw

useradd -g vchkpw vpopmail

cd /usr/local/src

tar -xvzf vpopmail-5.4.0.tar.gz

chown -R root.root vpopmail-5.4.0

cd vpopmail-5.4.0

mkdir ~vpopmail/etc

chown vpopmail.vchkpw ~vpopmail/etc

echo &#34;localhost|0|vpopmailuser|vpoppasswd|vpopmail&#34; > ~vpopmail/etc/vpopmail.mysql

chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql

chmod 640 ~vpopmail/etc/vpopmail.mysql

/usr/local/mysql/bin/mysql –password=&#34;secret&#34;

Cr&#101;ate DATABASE vpopmail;

GRANT sel&#101;ct,ins&#101;rt,up&#100;ate,del&#101;te,cr&#101;ate,dro&#112; ON vpopmail. TO vpopmailuser@localhost IDENTIFIED BY &#39;vpoppasswd&#39;;

quit

./configure

–disable-roaming-users

–enable-logging=p

–disable-passwd

–enable-clear-passwd

–disable-domain-quotas

–enable-auth-module=mysql

–disable-many-domains

–enable-auth-logging

–enable-mysql-logging

–enable-valias

–disable-mysql-limits

make

make install-strip

vi ~vpopmail/etc/vlimits.default

default_quota 20971520 # Set the mail box default size 20M.

echo &#34;myqmail.com&#34; > /home/vpopmail/etc/defaultdomain

# Setup the quota warning message that is sent to users when they are at 90% quota.

vi quotawarn.msg

######## Cr&#101;ate the quotawarn.msg file with the following commands. ########

From: SomeCompany Postmaster

Reply-To: postmaster@myqmail.com

To: SomeCompany User:;

Subject: Mail quota warning

Mime-Version: 1.0

Content-Type: text/plain; charset=iso-8859-1

Content-Transfer-Encoding: 7bit

Your mailbox on the server is now more than 90% full.

So that you can continue to receive mail,

you need to remove some messages from your mailbox.

If you require assistance with this,

please contact our support department :

email : support@myqmail.com

Tel : xx xxxx xxxx

######## End ########

cp quotawarn.msg /home/vpopmail/domains/.quotawarn.msg

echo &#34;Message rejected. Not enough storage space in user&#39;s mailbox to accept message.&#34; > /home/vpopmail/domains/.over-quota.msg

# add a domain

/home/vpopmail/bin/vadddomain myqmail.com myqmail

# add a test account

/home/vpopmail/bin/vadduser stone@myqmail.com stone

# del&#101;te a user

# /home/vpopmail/bin/vdeluser stone@myqmail.com

# del&#101;te a domain

# /home/vpopmail/bin/vdeldomain myqmail.com

################################

# Install autoresponder

################################

cd /usr/local/src

tar -xvzf autorespond-2.0.4.tar.gz

chown -R root.root autorespond-2.0.4

cd autorespond-2.0.4

make

make install

################################

# Install ezmlm / ezmlm-idx

################################

cd /usr/local/src

tar -xvzf ezmlm-0.53.tar.gz

chown -R root.root ezmlm-0.53

cd /usr/local/src

tar -xvzf ezmlm-idx-0.40.tar.gz

chown -R root.root ezmlm-idx-0.40

cp -R ezmlm-idx-0.40/ ezmlm-0.53/

# (you need to press y quite a few times to allow the patch files to overwrite the o&#114;iginal files)

cd ezmlm-0.53

patch < idx.patch

patch -p1 < ../ezmlm-idx-0.53.400.unified_41.patch

make

make man

make setup

################################

# Install qmailadmin

################################

cd /usr/local/src

tar -xvzf qmailadmin-1.2.0.tar.gz

chown -R root.root qmailadmin-1.2.0

cd qmailadmin-1.2.0

./configure

–enable-htmldir=/usr/local/apache/htdocs

–enable-cgibindir=/usr/local/apache/cgi-bin

–enable-maxusersperpage=12

–enable-maxaliasesperpage=12

–enable-modify-quota

–disable-ezmlm-mysql

–disable-help

make

make install-strip

# Chinese qmailadmin

# Backup the o&#114;ginal files.

mv /usr/local/share/qmailadmin/lang/en /usr/local/share/qmailadmin/lang/en_bak

mv /usr/local/src/qmailadmin_zh /usr/local/share/qmailadmin/lang/en

# Test the qmailadmin

http://mail.myqmail.com/cgi-bin/qmailadmin

################################

# Install sqwebmail

################################

cd /usr/local/src

tar -xvzf sqwebmail-3.5.3.tar.gz

chown -R root.root sqwebmail-3.5.3.tar.gz

cd sqwebmail-3.5.3

./configure

–without-authpwd –without-authshadow –without-authpam

–without-authuserdb –without-authldap –without-authdaemon

–with-authvchkpw –with-fcgi –enable-unicode=gb2312

–enable-webpass=vpopmail

–enable-cgibindir=/usr/local/apache/cgi-bin

–enable-imagedir=/usr/local/apache/htdocs/images/webmail

–enable-mimetypes=/usr/local/apache/htdocs

–enable-mimecharset=gb2312

–with-defaultlang=zh

make

make install

make install-configure

cp -a /usr/local/apache/htdocs/images/webmail /usr/local/apache/htdocs/

mv -f /usr/local/src/zh-cn/ /usr/local/share/sqwebmail/html/zh-cn

mv /usr/local/src/images/webmail/ /usr/local/apache/htdocs/images/webmail/

# Test the webmail

http://mail.myqmail.com/cgi-bin/sqwebmail

Download the source

qmail, http://www.qmail.org/netqmail-1.05.tar.gz

ucspi-tcp, ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz

daemontools, ftp://cr.yp.to/daemontools/daemontools-0.76.tar.gz

References:

http://www.lifewithqmail.org/lwq.html

http://www.pipeline.com.au/staff/mbowe/isp/webmail-server.htm

http://cr.yp.to

{start|stop|restart|reload|status}&#34;

exit 1

esac

exit 0

######## End ########

chown root.root /etc/rc.d/init.d/httpd

chmod 744 /etc/rc.d/init.d/httpd

chkconfig –add httpd

################################

# Install vpopmial

################################

groupadd vchkpw

useradd -g vchkpw vpopmail

cd /usr/local/src

tar -xvzf vpopmail-5.4.0.tar.gz

chown -R root.root vpopmail-5.4.0

cd vpopmail-5.4.0

mkdir ~vpopmail/etc

chown vpopmail.vchkpw ~vpopmail/etc

echo &#34;localhost|0|vpopmailuser|vpoppasswd|vpopmail&#34; > ~vpopmail/etc/vpopmail.mysql

chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql

chmod 640 ~vpopmail/etc/vpopmail.mysql

/usr/local/mysql/bin/mysql –password=&#34;secret&#34;

Cr&#101;ate DATABASE vpopmail;

GRANT sel&#101;ct,ins&#101;rt,up&#100;ate,del&#101;te,cr&#101;ate,dro&#112; ON vpopmail. TO vpopmailuser@localhost IDENTIFIED BY &#39;vpoppasswd&#39;;

quit

./configure

–disable-roaming-users

–enable-logging=p

–disable-passwd

–enable-clear-passwd

–disable-domain-quotas

–enable-auth-module=mysql

–disable-many-domains

–enable-auth-logging

–enable-mysql-logging

–enable-valias

–disable-mysql-limits

make

make install-strip

vi ~vpopmail/etc/vlimits.default

default_quota 20971520 # Set the mail box default size 20M.

echo &#34;myqmail.com&#34; > /home/vpopmail/etc/defaultdomain

# Setup the quota warning message that is sent to users when they are at 90% quota.

vi quotawarn.msg

######## Cr&#101;ate the quotawarn.msg file with the following commands. ########

From: SomeCompany Postmaster

Reply-To: postmaster@myqmail.com

To: SomeCompany User:;

Subject: Mail quota warning

Mime-Version: 1.0

Content-Type: text/plain; charset=iso-8859-1

Content-Transfer-Encoding: 7bit

Your mailbox on the server is now more than 90% full.

So that you can continue to receive mail,

you need to remove some messages from your mailbox.

If you require assistance with this,

please contact our support department :

email : support@myqmail.com

Tel : xx xxxx xxxx

######## End ########

cp quotawarn.msg /home/vpopmail/domains/.quotawarn.msg

echo &#34;Message rejected. Not enough storage space in user&#39;s mailbox to accept message.&#34; > /home/vpopmail/domains/.over-quota.msg

# add a domain

/home/vpopmail/bin/vadddomain myqmail.com myqmail

# add a test account

/home/vpopmail/bin/vadduser stone@myqmail.com stone

# del&#101;te a user

# /home/vpopmail/bin/vdeluser stone@myqmail.com

# del&#101;te a domain

# /home/vpopmail/bin/vdeldomain myqmail.com

################################

# Install autoresponder

################################

cd /usr/local/src

tar -xvzf autorespond-2.0.4.tar.gz

chown -R root.root autorespond-2.0.4

cd autorespond-2.0.4

make

make install

################################

# Install ezmlm / ezmlm-idx

################################

cd /usr/local/src

tar -xvzf ezmlm-0.53.tar.gz

chown -R root.root ezmlm-0.53

cd /usr/local/src

tar -xvzf ezmlm-idx-0.40.tar.gz

chown -R root.root ezmlm-idx-0.40

cp -R ezmlm-idx-0.40/ ezmlm-0.53/

# (you need to press y quite a few times to allow the patch files to overwrite the o&#114;iginal files)

cd ezmlm-0.53

patch < idx.patch

patch -p1 < ../ezmlm-idx-0.53.400.unified_41.patch

make

make man

make setup

################################

# Install qmailadmin

################################

cd /usr/local/src

tar -xvzf qmailadmin-1.2.0.tar.gz

chown -R root.root qmailadmin-1.2.0

cd qmailadmin-1.2.0

./configure

–enable-htmldir=/usr/local/apache/htdocs

–enable-cgibindir=/usr/local/apache/cgi-bin

–enable-maxusersperpage=12

–enable-maxaliasesperpage=12

–enable-modify-quota

–disable-ezmlm-mysql

–disable-help

make

make install-strip

# Chinese qmailadmin

# Backup the o&#114;ginal files.

mv /usr/local/share/qmailadmin/lang/en /usr/local/share/qmailadmin/lang/en_bak

mv /usr/local/src/qmailadmin_zh /usr/local/share/qmailadmin/lang/en

# Test the qmailadmin

http://mail.myqmail.com/cgi-bin/qmailadmin

################################

# Install sqwebmail

################################

cd /usr/local/src

tar -xvzf sqwebmail-3.5.3.tar.gz

chown -R root.root sqwebmail-3.5.3.tar.gz

cd sqwebmail-3.5.3

./configure

–without-authpwd –without-authshadow –without-authpam

–without-authuserdb –without-authldap –without-authdaemon

–with-authvchkpw –with-fcgi –enable-unicode=gb2312

–enable-webpass=vpopmail

–enable-cgibindir=/usr/local/apache/cgi-bin

–enable-imagedir=/usr/local/apache/htdocs/images/webmail

–enable-mimetypes=/usr/local/apache/htdocs

–enable-mimecharset=gb2312

–with-defaultlang=zh

make

make install

make install-configure

cp -a /usr/local/apache/htdocs/images/webmail /usr/local/apache/htdocs/

mv -f /usr/local/src/zh-cn/ /usr/local/share/sqwebmail/html/zh-cn

mv /usr/local/src/images/webmail/ /usr/local/apache/htdocs/images/webmail/

# Test the webmail

http://mail.myqmail.com/cgi-bin/sqwebmail

Download the source

qmail, http://www.qmail.org/netqmail-1.05.tar.gz

ucspi-tcp, ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz

daemontools, ftp://cr.yp.to/daemontools/daemontools-0.76.tar.gz

References:

http://www.lifewithqmail.org/lwq.html

http://www.pipeline.com.au/staff/mbowe/isp/webmail-server.htm

qmail全部控制文件列表

[1.qmail全部控制文件列表(按照相关性排列) ]

qmail-inject

defaultdomain

defaulthost

idhost

plusdomain

qmail-qmqpc

qmqpservers

qmail-remote

helohost

smtproutes

timeoutconnect

timeoutremote

qmail-send

bouncefrom

bouncehost

concurrencylocal

concurrencyremote

doublebouncehost

doublebounceto

envnoathost

locals

me

percenthack

queuelifetime

virtualdomains

qmail-smtpd

badmailfrom

databytes

localiphost

rcpthosts

morercpthosts

timeoutsmtpd

smtpgreeting

—————————————————————–

[2.各控制文件的作用 ]

2.1 qmail-inject

qmail-inject接受本地邮件消息后检测邮件头是否符合RFC822标准,并传送给qmail-queue排进队列

defaultdomain

用来向那些没有使用正确的username@hostname.domain格式的邮件中增加邮件地址的,默认情况下,

如果主机地址中没有结束符&#34;.&#34;,qmail-inject将给主机名后添加defaultdomain的内容,如果该文

件不存在,将使用me文件中的值代替.

例如:defaultdomain值为linuxfane.com

本地产生了一封发送给rainbow@rainbow的邮件,那么qmail-inject将用linuxfane.com来补全这个

后缀,变成rainbow@rainbow.linuxfane.com

defaulthost

用来定义主机名,用来向地址中不含主机名的邮件补足邮件地址的。类似于defaultdomain。

例如:defaulthost值为linuxfane.com

那么发送给 rainbow的消息,将被qmail-inject用defaulthost的值来补足为rainbow@linuxfane.com,

以便于qmail-send快速分辨是否属于本地地址。

idhost

用来指定邮件中Message-ID:头字段的主机名

例如:idhost值为linuxfane.com

那么邮件头中如下:

Message-ID:<1234567890.12345.qmail@linuxfane.com>

如果idhost值为rainbow.linuxfane.com

那么邮件头中如下:

Message-ID:<1234567890.12345.qmail@rainbow.linuxfane.com>

plusdomain

用来将其值添加在任何一个以一个+号结尾的地址

_________________________________________________________________

2.2 qmail-qmqpc

qmail-qmqpc是快速邮件排队协议(QMQP)使用的程序,QMQP是一个QMAIL专用协议,用在工作站级QMAIL

服务器向中心服务器发送队列。

qmqpservers

用来指定qmail-qmqpc使用的上级服务器

通常该功能应用很少,我认为qmail-qmqpc用法就是代替qmail-queue来直接传给上级服务器。

_________________________________________________________________

2.3 qmail-remote

qmail-remote通过SMTP协议向远程主机传送邮件。

helohost

该文件用来指定qmail-remote程序与远程邮件主机SMTP会话中的主机名。

smtproutes

用来指定到固定目的的静态SMTP路线。

例子:smtproutes内容如下

rainbow.linuxfane.com:mail8.rainbow.jp

:fw.rainbow.linuxfane.com:8088

第一行的存在会将发给rainbow.linuxfane.com的邮件重定向到mail8.rainbow.jp主机

第二行的存在会将任何不符合之前行条件的邮件重定向到fw.rainbow.linuxfane.com的8088端口,让

邮件安全的穿越防火墙

qmmail-remote将按照smtproutes中的行序来进行处理

timeoutconnect

用来指定qmail-remote尝试同一个远程邮件主机建立一个SMTP会话的时间。默认值状态下如果超出60

秒没有得到远程邮件主机的回应,那么将断开连接。

timeoutremote

用来指定qmail-remote在一个SMTP连接已经建立后,远程邮件主机的每一个回应的时间数。默认值为

1200秒。

_________________________________________________________________

2.4 qmail-send

qmail-send用来检测队列中每一个邮件的状态,并调用相应的程序进行处理。例如一个目的为本地的

邮件将会被qmail-send调用qmail-lspawn处理。

bouncefrom | bouncehost

默认情况下,退回给原始发送方的邮件的发件人地址为MAILER-DAEMON@HOSTNAME,如果你想修改

MAILER-DAEMON这段,那么就修改bouncefrom文件吧。

如果想修改MAILER-DAEMON@HOSTNAME中HOSTNAME这段,那么就修改bouncehost文件。

例如:bouncefrom内容为SERVER-MANAGER | bouncehost文件内容为mail8.rainbow.jp

那么一封因为邮件地址不存在而被退回的通知邮件的发件人将是 SERVER-MANAGER@mail8.rainbow.jp

concurrencylocal

用来决定qmail可以同时运行的本地投递进程的数目,默认值是10,标准安装的qmail最大可设值是120。

安装的时候可以通过修改conf-spawn来将其变为255以下任何数目。

concurrencyremote

用来决定qmail可以同时运行的远程投递进程的数目,默认值是20,就是说,qmail可以在同一时间内

同时发送20封邮件,标准安装的qmail最大可设值是120。安装的时候可以通过修改conf-spawn来将其

变为255以下任何数目。

doublebouncehost | doublebounceto

这两个控制文件类似于bouncefrom和bouncehost的关系,也是doublebouncehost指定主机名,

doublebounceto指定用户名。

他们的功能是为一个被退回两次的邮件制定一条出路。

例如:doublebouncehost内容为rainbow.linuxfane.com | doublebounceto内容为rainbow

那么一个被退回2次的邮件将被发送给rainbow@rainbow.linuxfane.com

没有这两个文件的时候,那么发送给postmaster@me文件中的域名

envnoathost

qmail-send用来给没有主机名的邮件收件人制定一个主机名的,通常这个文件并没有必要,qmail-send

总是使用me文件中的域名。

locals

用来为qmail指明位于本地的邮件地址。qmail-send利用此文件来判断收件人地址是否是一个本地地址。

例如:locals文件中写有rainbow.linuxfane.com

那么qmail-send检测到队列中有发送给@rainbow.linuxfane.com的邮件的时候,就会调用qmail-lspawn

来进行本地投送。

me

如果没有me文件,那么你的qmail将拒绝执行。me文件用来指定本地邮件服务器的主机名。

以上列出的许多控制文件在没有被创建的时候,qmail都会用me中的值来代替。

percenthack

在UUCP协议中带有%并在该文件中列出的地址将会被转换为一个标准的DNS格式主机名。

queuelifetime

用来指定一个邮件在队列中的最大存活时间,默认是604800秒,当一个邮件达到这个时间线后,qmail将

最后一次尝试发送这封邮件,如果依然失败,会将其从队列中删除。

virtualdomains

让qmail接受本地邮件以外,还接受该文件中指定的域或者邮件地址,就是常说的虚拟域支持。

_________________________________________________________________

2.5 qmail-smtpd

qmail-smtpd接受远程主机的邮件并转交给队列处理程序qmail-queue来处理。

badmailfrom

用来指定不喜欢的发件人的邮件地址或者是域名

例如:badmailfrom中写有

advt@msn.com

@hotmail.com

如果advt@msn.com给该邮件主机送信时,将得到code 553,告知其是一个不受欢迎的发件人。

而所有来自hotmail.com的发件人也将得到同样的code 553。

databytes

用来指定该邮件服务器可以接受邮件的最大字节数。

例如:databytes指定为8000000

那么如果有人给该主机发送的邮件字节数超过了这个商业上默认的最大容忍限度,将得到code 552,告知

其邮件大小超出了该邮件主机所能容忍的限度。

恐怖的是,默认状态下,这个文件并没有,如果有人用你服务器上的两个不存在的地址作为FROM/TO发一

个100M的邮件

localiphost

用来为使用ip来标示目的主机的邮件消息指定本地主机名的

例如:rainbow.linuxfane.com的ip地址为198.17.1.2 | localiphost内容为rainbow.linuxfane.com

那么一封发送给rainbow@[198.17.1.2]的邮件的地址会被转换为rainbow@rainbow.linuxfane.com

rcpthosts | morercpthosts

这两个文件用来指定qmail可以接收的除本地主机名外的其他域名

他们的作用是相同的,不过因为rcpthosts中的域名不能超过50行,所以才出现了morercpthosts文件

timeoutsmtpd

用来指定qmail-smtpd等待远程SMTP主机发送数据的时间线。默认的情况下,如果连接建立后1200秒内没有

接受到远程SMTP主机的任何信息,那么将关闭这个连接。

smtpgreeting

用来指定SMTP连接的欢迎标志

例如:smtpgreeting值为 welcome connect to out open relay mail server – ad.rainbow.linuxfane.com

那么建立一个smtp连接的时候将会看到如下信息:

Trying 198.17.x.x…

Connected to ad.rainbow.linuxfane.com.

Escape characteris ^].

220 welcome connect to out open relay mail server – ad.rainbow.linuxfane.com ESMTP

qmail相关FAQ

第一部分:MTA

第二部分:igenus

第三部分: sqwebmail

第四部分: vpopmail + qmailadmin

各位还可以补充。

我们会定期将各位提供的FAQ和论坛上的好东西整理进去,并为各位作者署名。

第一部分:MTA

[b:faa5b147e2]1: 怎么加快 qmail 投递邮件速度?[/b:faa5b147e2]

A: /var/qmail/control下面是qmail的控制文件,这两个文件:

Concurrentcylocal default: 10 最大本地同时传送数

Concurrencyremote default: 20 最大远程同时传送数

[b:faa5b147e2]2: Qmail的主要配置文件有哪些?[/b:faa5b147e2]

A: http://chinaunix.net/forum/viewtopic.php?t=1126

[b:faa5b147e2]3: qmail+LDAP安装配置方法? (netloafer)[/b:faa5b147e2]

A: http://chinaunix.net/forum/viewtopic.php?t=1119

[b:faa5b147e2]4:Qmail如何限制附件的大小呢??[/b:faa5b147e2]

A:

在/var/qmail/control/databytes 文件中设置附件的大小,可以实现对qmail附件大小的限制,一般安装完成后,这个文件是没有的,你可以自己创建。

smtp方式是以qmail的databytes作限制的

[b:faa5b147e2]5: 用qmail怎么封mailfrom? (peng)[/b:faa5b147e2]

A:使用qmail控制文件封整个域或邮件地址

vi/var/qmail/control/badmailfrom

这个控制文件实现拒收邮件功能的,每一个地址要单独一行。而且,不用重起qmail就能生效。

例如:

peng@96633.net—–限制一个特定的用户

@sina.com—-限制整个域中的邮件

B:使用tcprules规则文件封IP地址(gadfly)。

#网段

10.10.10.:deny

#ip

10.10.10.1:deny

重新生成cdb文件就好了

[b:faa5b147e2]6. 如何让队列中的邮件马上传递? (peng) [/b:faa5b147e2]

A:

# kill -HUP qmail-send

要删除队列中的邮件

1) 停止QMAIL

2) mv /var/qmail/queue/lock /var/qmail/;find /var/qmail/queue/ -type f -exec rm {} ; ;mv /var/qmail/lock /var/qmail/queue/

3) 重启QMAIL.

队列中的邮件包含在以下目录中 /var/qmail/queue/{info,mess,remote,local}/hash/#number

[b:faa5b147e2]7、在邮件队列中快速删除从一个地方发过来但又不存在的邮件? (peng)[/b:faa5b147e2]

A:

设bad.jite.com是这个域。可以键入以下命令

# echo # > ~alias/.qmail-baddomain-default

# echo bad.jite.com:alias-baddomain>> /var/qmail/control/virtualdomains

# echo bad.jite.com:127.0.0.1 >> /var/qmail/control/smtproutes

然后运行/var/qmail/bin/qmail-tcpok,给qmail-send 一个HUP信号

[b:faa5b147e2]8、如何删除队列中的大量广告信息? (peng)[/b:faa5b147e2]

A:

先停止QMAIL.

1) 停止qmail, qmail-smtpd

2) 在以下默认目录下 /var/qmail/queue/mess

find . -type f -exec grep &#34;^Subject:&#34; {} ; -print -exec rm {} ;

3) 运行queue-fix清除相关文件,

4) 重启qmail.

[b:faa5b147e2]9、rh9下编译qmail出错:

./load auto-str substdio.a error.a str.a

substdio.a(substdo.o)(.text+0×43): In function `allwrite&#39;:

: undefined reference to `errno&#39;

collect2: ld returned 1 exit status

make: *** [auto-str] Error 1

什么问题?(microcao &amp;linuxsky)[/b:faa5b147e2]

A: errno 这个错误是因为 RH9 系统使用了新的 GLIBC 库 2.3.1 造成的

需要修改 QMAIL 的代码才能编译另外 DJB 的几乎所有程序都存在这个问题

QMAIL 官方已经提供了推荐的补丁

http://www.qmail.org/top.html#patches

打个这个补丁就行了

http://qmail.mirrors.space.net/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch

至于tcpserver可能也有相同的问题,patch都可以在以下目录找到

http://qmail.mirrors.space.net/moni.csi.hu/pub/glibc-2.3.1/

[b:faa5b147e2]10:Apr 7 17:52:15 www qmail: 1049709135.048259 delivery 38: deferral: Uh-oh:_home_directory_is_writable._(#4.7.0)如何解决? [/b:faa5b147e2]

A:需要将用户的邮件目录修改为700

由于vpopmail利用的是wildcard方式匹配的,所以homedir必须从domain的目录开始。假设gadfly@test.com目录是/home/vpopmail/domains/test.com/gadfly/

这样修改属性:

cd /home/vpopmail/domains/;chmod 700 test.com test.com/gadfly test.com/gadfly/Maildir/

[b:faa5b147e2]11:.qmail file is writable错误如何解决?(xmy)[/b:faa5b147e2]

A:用户目录下的.qmail文件组和其它用户属性不能可写。

至于vpopmail方式, 域目录下的.qmail-*必须去掉写属性

chmod go-w .qmail-*

或者

chmod 600 .qmail-*

此外还需注意的文件属性有libmysqlclient.so.10.0.0

chmod 755 /usr/lib/libmysqlclient.so.10.0.0

[b:faa5b147e2]12: 每发完一封

邮件后都会自动回复一封内容大概就是说发不出去的意思。自动回复的信件内容是这样的

…..

<log@yourdomain>:

Sorry, no mailbox here by that name. vpopmail (#5.1.1) [/b:faa5b147e2]

A:你的qmail是用新的iceblood版本安装的吧。

这个版本的qmail,缺省情况下,每封出入的信件都会发到log用户。

如果想禁止这个动作,需要替换qmail-queue.

将extra.h中的

#define QUEUE_EXTRA &#34;Tlog

返回顶部