IBM Aix上Qmail的建立

火星人 @ 2014-03-12 , reply:0


  

  Qmail是一款完全可以替代Sendmail郵件體系的新一代Unix郵件系統,相比Sendmail而言,它具有更高的安全性、可靠性及運行效率,並且安裝配置都比較簡單。qmail是自由軟體,完全免費,遵從GPL版權聲明,並且在internet上可以找到大量的qmail附加軟體包來增強它的功能,因此,在各類郵件伺服器解決方案中它擁有最旺的人氣。

  我用的操作系統是IBM Aix4.32,但在qmail源代碼包的README文件里,只有aix4.2及其以前版本成功的測試記錄。下面介紹一下我在aix4.32上的安裝過程,這與別的unix操作系統上的安裝有些區別。

  我用的C編譯器是gcc2.95.2,採用較流行的Maildir郵箱存儲格式,使用系統用戶作為郵件賬戶來滿足最基本的收發郵件需求。通過訪問http://www.qmail.org或mirror站點下載qmail的核心軟體包qmail-1.03.tar.gz,在http://cr.yp.to/checkpwd/install.html下載pop3用戶密碼驗證程序checkpassword-0.90.tar.gz。

先解壓縮軟體包並進入解壓后的源代碼目錄:gzip -dc qmail-1.03.tar.gz|tar xvf -;cd qmail-1.03

仔細閱讀INSTALL和FAQ文件,並開始按步就班的安裝編譯源程序。

1、建立/var/qmail目錄: mkdir /var/qmail

2、按照INSTALL.ids文件中的方法一一建立qmail各後台進程所要用到的用戶和組。如果是通過命令行的方式來建立用戶和組的話,則需要修改/etc/security/login.cfg文件,在裡面添加/bin/true做為合法的shell,這樣有點麻煩,建議直接修改/etc/group和/etc/passwd兩個文件來建立用戶和組,更方便有效。

3、qmail默認的編譯器是cc,而我用的是gcc,所以有必要使得qmail在安裝時調用gcc來編譯。有兩種方式可以解決此問題,一種方式是給gcc建立一個名為cc的象徵性鏈接文件:ln -s /path-to-gcc/gcc /usr/bin/cc;另一種方式是修改conf-cc和conf-ld文件,將其默認的編譯器cc替換為gcc。

開始編譯及建立Qmail 的目錄結構:make setup check

這一步是我在安裝時遇到的最大阻礙,編譯出錯不能通過。憑藉我對unix下C編程的一知半解及根據編譯出錯提示,我修改了dns.c文件,刪除第11行「extern int h_errno;」。重新編譯,通過,在後來的使用過程中也沒有發現有什麼問題,正常。在其它的unix操作系統上安裝qmail時不會出現這樣的情況,但到底在aix上為什麼會這樣,我目前還不大清楚,希望高人指點。

4、在配置qmail前,請認真閱讀INSTALL.ctl和FAQ。配置命令有兩個,config和config-fast,config將試圖對本機IP地址在DNS上進行反向解析,從而確定本機域名;如果反向解析失敗,則配置也就失敗。建議用類似./config-fast your.full.host.name這樣的命令直接確定本伺服器主機域名來配置。

5、閱讀INSTALL.alias文件,這裡有對添加郵件用戶別名的一些介紹。但至少也要給一些不能接收郵件的系統帳戶添加別名,並修改/var/qmail/alias目錄下所有文件的訪問許可權來增加安全性。

# (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root)

# chmod 644 ~alias/.qmail*

6、有必要的話,可以先讀一讀NSTALL.mbox、INSTALL.maildir和INSTALL.vsm文件,這裡介紹了有關qmail郵件存儲格式和郵件投遞方面的內容。

7、建立/var/qmail/rc。/var/qmail/rc是用來啟動qmail的文件,很重要。拷貝/var/qmail/boot/home到/var/qmail/rc。

# cp /var/qmail/boot/home /var/qmail/rc

# chmod 755 /var/qmail/rc

我們採用Maildir郵箱存儲格式,對rc文件做相應的修改,修改其中./Mailbox為./Maildir,修改後的內容如下:  

exec env - PATH="/var/qmail/bin:$PATH" \

qmail-start ./Maildir splogger qmail

8、啟動qmail: csh -cf '/var/qmail/rc &'

最好將這條命令加到系統的啟動文件中,以便以後在系統重啟時自動啟動qmail。參照TEST.deliver介紹的方法進行測試。

9、如果當前系統上已安裝有sendmail並且在使用中,那麼請參照SENDMAIL、REMOVE.sendmail、REMOVE.binmail等文件做好從sendmail向qmail的轉移。別忘了安裝qmail的sendmail外殼:

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

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

10. 安裝checkpassword。它用於對pop3用戶的密碼驗證,安裝也很簡單,過程如下:

gzip checkpassword-0.90.tar.gz

tar -xf checkpassword-0.90.tar

cd checkpassword-0.90

make

make setup check

11、編輯/etc/inetd.conf文件,設置qmail-smtpd,用於發信,如下所示(所有文字在同一行):

smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd

同樣,添加qmail-pop3d,用於收信,如下所示(所有文字在同一行):

pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup your.domain.name /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir

12、重新啟動inetd:refresh -s inetd

13、創建郵件用戶。在每個用戶的初始目錄下用命令/var/qmail/bin/maildirmake創建郵箱目錄並賦予適當的許可權,也可以建立一個Shell腳本程序來完成每個郵件賬戶的創建,下面是一個簡單的例子,請創建好一個名為mailgrp的組,用於將郵件用戶加入到此組,如果給此腳本程序命名為qmadd,則增加郵件賬戶的語法為:qmadd


if test $1

then

echo "creating user $1 and its maildir directory..."

mkuser pgrp='mailgrp' $1

cd /home

chown $1 $1

cd $1

/var/qmail/bin/maildirmake Maildir

echo ./Maildir/ > .qmail

chown $1 Maildir

chown $1 Maildir/*

chown $1 .qmail

passwd $1

echo "$1's account has been created!"

else

echo "Usage: qmadd username"

fi

14、測試。如果郵件伺服器是用在internet上,別忘了DNS上的mx記錄應指向本伺服器的IP地址。在TEST.receive文件中介紹了一些對郵件收發的測試方式。在此我建議在windows客戶機上用foxmail或outlook來做收發郵件測試,這樣更為簡便有效。另外要注意/var/qmail/control目錄下一些文件的配置,rcpthosts文件用於對轉發信的限止,me文件表示系統的正式域名,timeoutconnect文件用於設置SMTP連接超時時間等。

  本文只是介紹了qmail最基本的安裝配置,如果要使得qmail有虛擬域支持、郵件列表管理、自動回復、webmail、web方式管理、web方式用戶註冊等功能,那需要安裝另外的附加軟體包,相關資料大家可以在internet上查找,有很多,雖然這些資料大都是針對linux操作系統的,不過aix上的安裝配置也大同小異,所以在這就不多做介紹了。




[火星人 via ] IBM Aix上Qmail的建立已經有88次圍觀

http://www.coctec.com/docs/linux/show-post-67984.html