歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> qmail的安裝和配置

qmail的安裝和配置

日期:2017/2/27 12:12:07   编辑:Linux文化

軟件准備:

qmail-1.03.tar.gz ucspi-tcp-0.88.tar daemontools-0.76.tar.gz qmail-103.patch checkpassword-0.90.tar

1>安裝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目錄下。

2>安裝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 [[email protected]]# package/install

  即可實現daemontools的安裝。

3> 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

4>.設置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下的真正目錄。

5>啟動qmail

  拷貝/var/qmail/boo/home 到/var/qmail/rc chmod +x rc

  之後就需要在/service下創建到/var/qmail/supervise下各個目錄的的符號鏈接

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

6>安裝ucspi-tcp和mysql

  ucspi-tcp-0.88.tar.gz   MySQL-3.22.32-1.i386.rpm   MySQL-client-3.22.32-1.i386.rpm   MySQL-share-3.22.32-1.i386.rpm   MySQL-devel-3.22.32-1.i386.rpm

  安裝ucspi-tcp

  make   make setup check

  安裝mysql

  rpm –ivh 各個軟件包

  後啟動mysql

  mysql –u root mysql   >update user set password=password where user=’root’; (‘password填上你希望得密碼’)

  後重啟機器。

7>安裝vpopmail

  vpopmail-4.9.8-1.tar.gz 或 vpopmail-5.2.tar.gz

  (sqwebmail-3.x以上要安裝vpopmail-5.2.tar.gz,安裝過程是一樣得。)

  首先安裝好ucspi-tcp

  編輯/etc下得tcp.smtp文件如下:

  127.0.0.1:allow,RELCYCLIENT=””   192.168.0.:allow,RELCYCLIENT=””   :allow

  第一步:修改文件/usr/src/vpopmail-4.9.4/vmysql.h,修改

  /* Edit to match your set up */   #define MYSQL_SERVER "localhost"   #define MYSQL_USER "root"   #define MYSQL_PASSWD "passwoerd"   /* End of setup section*/

  中mysql服務器的地址,若你的mysql服務器存放在其他機器上,則將localhost修改為你的mysql服務器的ip地址;若你希望使用其他具有對數據庫讀寫及創建庫和表格的用戶來訪問數據庫,則將root為你希望的用戶名;將passwoerd修改為你的mysql數據庫對應的訪問密碼。

  拷貝//usr/local/lib/mysql下的所有內容到/lib/中

  第二步:創建需要的用戶和組:

  /usr/sbin/groupadd vchkpw   /usr/sbin/useradd -g vchkpw vpopmail

  第三步:配置編輯vpopmail:

  ./configure --enable-roaming-users=y --enable-hardquota=10000000 (這裡如是高版本的是delfaulquota)   --enable-default-domain=secfocus.com --enable-mysql=y   --enable-sqlincdir=/usr/local/include/mysql/   --enable-sqllibdir=/usr/local/lib/mysql   --enable-ucspi-dir=../ucspi-tcp-0.88 --enable-passwd=n   (注:以上全為一行)   make   make install

  第四步:添加虛擬域

  /home/vpopmail/bin/vadddomain domain1.com   /home/vpopmail/bin/vaddaliasdomain domain2.com

8>設置pop3及smtp

  首先安裝checkpassword 和ucspi-tcp 在/etc/xinetd.d 目錄下建立pop-3和smtp如下。

  cat > smtp   service smtp   { socket_type =stream     protocol =tcp     wait =no     user =qmaild     server =/var/qmail/bin/qmail-smtpd     server_args = 2>&1 | /var/qmail/bin/splogger smtpd 3& / disable =no    }   #cat > pop-3    service pop-3    { socket_type =stream protocol =tcp wait =no user =root server =/var/qmail/bin/qmail-popup     server_args = abc.mytritech.com       home/vpopmail/bin/vchkpw       /var/qmail/bin/qmail-pop3d Maildir     &

  這時候從客戶端使用outlook express等MUA軟件,應該可以收到剛才測試所發送的郵件。(有時你的pop-3會出現在本機上起來了,而在遠程起不來,就請停掉iptables/ipchains. )

9>刪除sendmail


摘自:linux寶庫


Copyright © Linux教程網 All Rights Reserved