歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> IBM AIX >> IBM Aix上Qmail的建立

IBM Aix上Qmail的建立

日期:2017/2/27 14:14:08   编辑:IBM AIX
  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.gztar 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上的安裝配置也大同小異,所以在這就不多做介紹了。



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



Copyright © Linux教程網 All Rights Reserved