Qmail的安装

运维 系统运维
怎么安装Qmail呢?在安装前需要做哪些准备?应当如何配置。本文主要介绍了Qmail的安装及配置步骤。

一、安装准备

  DNS必须是配置好的

  软件准备:qmail-1.03.tar.gz、ucspi-tcp-0.88.tar、daemontools-0.76.tar.gz、qmail-103.patch、checkpassword-0.90.tar

二、安装qmail

  [root@email /usr/local/src]# gzip -d qmail-1.03.tar.gz

  [root@email /usr/local/src]# tar xf qmail-1.03.tar

  [root@email /usr/local/src]# cd qmail-1.03

  对qmail打补丁(需将.patch文件拷到qmail目录下)

  [root@email /usr/local/src/qmail-1.03]# patch –p1 < qmail-103.patch(是p壹)

  创建qmail主目录及添加必须的系统用户

  由于qmail不是以root身份运行,而且qmail是同时由多个程序处理不同的工作,如接收邮件,发送邮件,本地投递等等, 所以需要多个用户身份:

  # mkdir /var/qmail

  [root@email /]# /usr/sbin/groupadd nofiles

  [root@email /]# /usr/sbin/useradd -g nofiles -d /var/qmail/alias -s /bin/false alias

  [root@email /]# /usr/sbin/useradd -g nofiles -d /var/qmail -s /bin/false qmaild

  [root@email /]# /usr/sbin/useradd -g nofiles -d /var/qmail -s /bin/false qmaill

  [root@email /]# /usr/sbin/useradd -g nofiles -d /var/qmail -s /bin/false qmailp

  [root@email /]# /usr/sbin/groupadd qmail

  [root@email /]# /usr/sbin/useradd -g qmail -d /var/qmail -s /bin/false qmailq

  [root@email /]# /usr/sbin/useradd -g qmail -d /var/qmail -s /bin/false qmailr

  [root@email /]# /usr/sbin/useradd -g qmail -d /var/qmail -s /bin/false qmails

  编译

  [root@email /usr/local/src/qmail-1.03]# make setup check

  这个命令将会完成所有的编译工作,生成所有的二进制程序,并将其拷贝到相应的目录,缺省qmail是安装在/var/qmail目 录下。

三、安装daemontools-0.76.tar.gz

  [root@mail src]# tar xvfz daemontools-0.76.tar.gz

  [root@mail src]# cd admin

  [root@mail src]# cd daemontools-0.76

  [root@maildaemontools-0.76]# package/install

  即可实现daemontools的安装。

四、 qmail配置

  qmail编译成功以后就应该开始对其进行配置,最简单的实现配置的方法是使用命令config:

  [root@mail qmail-1.03]# ./config

  config程序将试图对本地地址进行反向解析,以确定本机域名;若反向解析失败,则配置也就失败。可以参考 INSTALL.ctl文件内容。也可以在运行config程序时指定本机域名信息:

  用以下命令来增加域名

  [root@mail qmail-1.03]# ./config-fast your.full.host.name

  若你的主机有若干个域名,并且多个域的MX记录也指向该主机,则你就需要编辑/var/qmail/control/目录下的文件locals和 rcpthosts,在其中加入多个域名,例如本机器具有域名email.secfocus.com和email.secfocus.net,并且这两个域的MX记录分别指向email.secfocus.com和email.secfocus.net。则locals中应该具有如下内容:

  localhost

  email.secfocus.com

  secfocus.com

  email.secfocus.net

  secffocus.net

  而文件rcpthosts具有以下内容:

  localhost

  email.secfocus.com

  secfocus.com

  email.secfocus.net

  secfocus.net

  下一步 需要对某些不能接收邮件的系统帐户添加别名:

  [root@mail /usr/local/src/qmail-1.03]# cd /var/qmail/alias

  [root@mail /var/qmail/alias]# echo adam > .qmail-root

  [root@mail /var/qmail/alias]# echo bob > .qmail-postmaster

  [root@mail /var/qmail/alias]# echo bob > .qmail-mailer-daemon

  这里的bob或adam是系统管理员的普通用户帐号。qmail在接收到一个发给用户user1的信件,qmail-local则首先寻找名为user1的用户,若没有找到,qmail-local将去查询是否有名字为user1的别名用户,若有则发信给user1对应的真正用户。其中别名是通过在/var/qmail/alias中定义的,[root@mail ideal]$echo ./Maildir/ >/home/ideal/.qmail

五、设置daemontools

  (这一步的所有要建的文件夹及文件都在web-file/qmail下的supervise)

  下面设置当系统启动时自动启动qmail。这里要使用daemontool里面的svcan工具,这些第三方的工具的使用和含义参见附录A。按照前面的步骤,现在daemontools应该已经安装在/usr/local/bin目录下。

  首先,需要创建daemontools服务工作目录,该工具的作者推荐/service,这里我们就使用缺省目录:

  [root@email /]# mkdir /service

  [root@email /]# mkdir /var/qmail/supervise

  [root@email /]# mkdir /var/qmail/supervise/qmail-send

  [root@email /]# chmod +t /var/qmail/supervise/qmail-send

  [root@email /]# mkdir /var/qmail/supervise/qmail-send/log

  [root@email /]# mkdir /var/qmail/supervise/qmail-smtpd

  [root@email /]# chmod +t /var/qmail/supervise/qmail-smtpd

  [root@email /]# mkdir /var/qmail/supervise/qmail-smtpd/log

  [root@email /]# mkdir /var/log/qmail

  [root@email /]# mkdir /var/log/qmail/qmail-send

  [root@email /]# mkdir /var/log/qmail/qmail-smtpd

  [root@email /]# chown qmaill /var/log/qmail

  [root@email /]# chown qmaill /var/log/qmail/*

  下来,需要创建/var/qmail/supervise目录下的内容:

  [root@mail rc5.d]# cd /var/qmail/supervise/qmail-send

  在该目录下创建名为run的script内容如下:

  #!/bin/bash

  exec /var/qmail/rc

  在目录/var/qmail/supervise/qmail-send/log下创建run文件,内容如下:

  #!/bin/bash

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

  s2500000 /var/log/qmail/qmail-send

  在目录/var/qmail/supervise/qmail-mtpd下创建run文件,内容如下:

  #!/bin/sh

  QMAILDUID=`id -u qmaild`

  NOFILESGID=`id -g qmaild`

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

  /usr/local/bin/tcpserver -v -p -x /etc/tcp.smtp.cdb

  -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd

  2>&1

  在目录/var/qmail/supervise/qmail-smtpd/log/下创建run文件,内容如下:

  #!/bin/bash

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

  s2500000 /var/log/qmtpd

  将这几个script的属性均修改为可执行:

  [root@mail /]# chmod +x run

  由于svscan的工作方式,我们这里不在/service内创建真正的目录,而是创建符号连接/var/qmail/supervise下的真正目录。

六、启动qmail

  拷贝/var/qmail/boo/home 到/var/qmail/rc

  chmod +x rc

  之后就需要在/service下创建到/var/qmail/supervise下各个目录的的符号链接

  [root@mail qmail]# ln -s /var/qmail/supervise/* /service/

 

【编辑推荐】

  1. Sendmail配置策略
  2. Linux 下sendmail的配置
  3. Thunderbird的安装方法
  4. Sendmail Qmail Postfix 大比拼
  5. sendmail的安装方法
  6. Linux下的邮件服务器 Qmail
责任编辑:zhaolei 来源: 网络转载
相关推荐

2011-01-19 14:31:15

Qmail安装设定

2010-05-14 16:34:31

Mysql安装

2011-01-19 14:39:59

Qmail技巧

2011-01-19 15:40:25

Qmail安全

2011-01-21 18:08:22

Qmail

2011-01-19 15:33:07

Qmail邮件队列清除

2011-02-21 16:14:38

Qmail

2011-01-19 15:03:24

Qmail控制文件

2009-02-10 16:09:00

邮件服务器LinuxQmail

2011-02-21 16:04:40

Qmail

2011-01-19 16:31:15

Qmail

2011-02-21 15:47:18

2011-01-19 15:52:18

Qmail错误代码

2011-01-18 15:54:32

2011-02-21 15:17:45

Qmail

2011-02-21 14:10:33

QmailSMTP

2011-01-19 15:21:32

Qmail垃圾邮件

2011-01-19 11:10:30

2009-08-12 17:56:53

2011-02-21 13:40:17

点赞
收藏

51CTO技术栈公众号