歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Qmail+LDAP安裝配置實例(二)

  摘要 Qmail+LDAP安裝配置實例(2002-07-02 12:31:03) By ideal SMTP 訪問控制   允許本地主機通過SMTP發信: echo '127.:allow,RELAYCLIENT=''' >>/etc/tcp.smtp qmailctl cdb 停止已經安裝的MTA   如果MTA 是Sendmail,應該使用下面命令中的一個停止sendmail 工作: /etc/init.d/sendmail stop /sbin/init.d/sendmail stop /etc/rc.d/init.d/sendmail stop   或者下面命令停止 kill PID-of-sendmail   通過下面命令卸裝Sendmail : rpm -e --nodeps sendmail   最後,使用qmail版本的sendmail代替系統/usr/lib/sendmail的sendmail: 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   注: 生成'sendmail鏈接是重要的,因為有許多應用涉及發mail。   最後一步產生系統別名(aliases) echo alias > /var/qmail/alias/.qmail-root echo alias > /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 啟動qmail qmailctl start 添加pop3服務   生成 /var/qmail/supervise/qmail-pop3d/run 腳本包含下面內容: #!/bin/sh exec /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup longshine.com /bin/checkpassWord /var/qmail/bin/qmail-pop3d Maildir 2>&1   生成/var/qmail/supervise/qmail-pop3d/log/run 腳本包含下面內容: #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/pop3d   建立log目錄使得腳本可以執行且將此服務鏈接到/service: chmod +t /var/qmail/supervise/qmail-pop3d 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 在qmailctl腳本中添加下面內容:   在qmailctl'的 'start' 部分: if svok /service/qmail-pop3d ; then svc -u /service/qmail-pop3d else echo qmail-pop3d service not running fi   在qmailctl'的 'stop' 部分: echo ' qmail-pop3d' svc -d /service/qmail-pop3d   在qmailctl'的 'stat' 部分: svstat /service/qmail-pop3d svstat /service/qmail-pop3d/log   在qmailctl'的 'pause' 部分: echo 'Pausing qmail-pop3d' svc -p /service/qmail-pop3d


  在qmailctl'的 'cont' 部分: echo 'Continuing qmail-pop3d' svc -c /service/qmail-pop3d   在qmailctl'的 'restart' 部分: echo '* Restarting qmail-pop3d.' svc -t /service/qmail-pop3d   在/etc/hosts腳本中添加 172.18.6.111 longshine.com qmail的測試   測試安裝:   可以參照TEST.deliver 和 TEST.receive 文檔測試其工作是否正常。注意日志是由 multilog 而不是splogger生成的。   測試Pop3和SMTP服務   首先啟動qmail郵件服務器,然後測試,使用如下命令:   本地測試: #run_mail #netstat -na grep 25 #netstat -na grep 110 #telnet localhost 110 user test pass test list retr 1   遠程測試:   利用Windows下的圖形郵件客戶端(如 Outlook、FoxMail等)來測試郵件的收發。   為qmail增加LDAP支持   qmail可以通過LDAP來代替傳統的/etc/passwd方式的Pop3認證,以便提高認證效率和有效的支持大容量的郵件客戶,為了使 qmail獲得LDAP支持,需要在qmail的基礎上增加具備LDAP認證的Patch包,最好使用qmail新的壓縮包,具體操作使用如下命令: #rm -rf qmail-1.03 #zip -zxvf qmail-1.03.tar.gz #gunzip qmail-ldap-1_03-20010301_patch.gz #cd qmail-1.03 #patch -p1 < ../ qmail-ldap-1.03-20010501.patch   在patch包打好之後,需要修改qmail的Makefile文件來配置相應的LDAP信息,具體如下(這裡只說明必須修改的,其余的可選項請參考QLDAPINSTALL.TXT文檔): 1) -LDAPFLAGS = -DCLEARTEXTPASSWORD   配置是否在LDAP目錄中使用明文密碼。 2) -LDAPLIBS =   配置使用的LDAP接口庫,在本例中為:  LDAPLIBS=-L/usr/local/lib -L/usr/X11R6/lib/modules -lldap -llber -lldap_r -lpthread -lresolv 3)-SHADOWLIBS = -lcrypt -lshadow   -SHADOWOPTS = -DPW_SHADOW   配置使用的密碼認證方式。   在Makefile設置修改完畢後,重新編譯qmail源文件,然後覆蓋安裝qmail,使用如下命令: #make setup check   安裝openldap zip -zxvf openldap-2.07.tgz cd openldap-2.07 ./configure make depend make make test su root -c 'make install'   這樣openldap安裝完成   在/var/qmail/control/下建立相應的LDAP支持文件: #cat ldapserver 172.18.6.111 #cat ldapbasedn dc=longshine , dc=com #cat ldapobjectclass

qmailUser   將qmail.schema拷貝到openldap的相應目錄下面 cp /usr/local/src/qmail/qmail-1.03/qmail.schema /usr/local/etc/openldap/schema/.   編輯configuration 文件 /usr/local/etc/openldap/slapd.conf) database ldbm suffix 'dc=longshine,dc=com' rootdn 'cn=Manager,dc= longshine ,dc=' rootpw secret Directory /usr/local/var/openldap-ldbm   增加相應的shema文件 include /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/nis.schema include /usr/local/etc/openldap/schema/inetorgperson.schema include /usr/local/etc/openldap/schema/qmail.schema   啟動 SLAPD. su root -c /usr/local/libexec/slapd   為了檢測openldap是否運行和配置正確。可以執行ldapsearch命令進行檢測。缺省的,ldapsearch 安裝在/usr/local/bin/ldapsearch: ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts   應該可以看見 dn: namingContexts: dc=longshine,dc=com   增加目錄的初始人口。   分為二步: 生成一個LDIF 文件 運行ldapadd   是編輯器生成一個LDIF 文件,包含如下內容: dn: dc=,dc= objectclass: dcObject objectclass: organization o: dc: dn: cn=Manager,dc=,dc= objectclass: organizationalRole cn: Manager   我的此文件Manager.ldif文件內容為dn: dc=longshine,dc=com,dc=cn objectclass: dcObject objectclass: organization o: longshine dc: longshine dn: cn=Manager,dc=longshine,dc=com objectclass: organizationalRole cn: Manager   現在運行ldapadd程序 ldapadd -x -D 'cn=Manager,dc=longshine,dc=com' -W -f /root/manager.ldif   如果要輸入密碼為secret。   增加qmail用戶信息,生成test.ldif文件 dn: cn=testUser,dc=longshine,dc=com cn: testUser sn: testUser objectClass: top objectClass: person objectClass: inetOrgPerson objectClass: qmailUser mail: [email protected] mailHost: longshine.com mailMessageStore: /home/test/Maildir/ mailQuota: 1000000S,100C uid: test userPassword: test qmailUID: 508 qmailGID: 508   注qmailUID,qmailGID可以通過/etc/passwd文件查詢到。使用下面命令進入ldapadd -x -D 'cn=Manager,dc=longshine,dc=com' -W -f /root/test.ldif   如果要輸入密碼為secret。   將/var/qmail/supervise/qmail-pop3d/run 腳本包含下面內容: #!/bin/sh exec /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup

longshine.com /var/qmail/bin/auth_pop /var/qmail/bin/qmail-pop3d Maildir 2>&1   測試LDAP: ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts   使用什麼命令查看添加的時間是否正確。如果不正確可以使用 ldapdelete -x -D'cn=Manager,dc=longshine,dc=com' -w secret "cn=testUser,dc=longshine,dc=com"   刪除,然後重新添加。   測試基於LDAP的Pop3認證   在上述步驟完成後,從新測試qmail郵件系統的運行狀況,主要從以下三個方面測試,具體命令如下:   本地測試   具體請參考TEST.deliver 和 TEST.receive 的方法。   Pop3+SMTP測試 telnet localhost 25 和telnet localhost 110   測試工具 #/var/qmail/bin/qmail-ldaplookup -u test #/var/qmail/bin/qmail-ladplookup -m [email protected]   也可用Windows下的圖形郵件客戶端(如 outlook、foxmail等)來測試郵件的收發。   參考資料 Life with qmail (http://www.lifewithqmail.org/lwq.Html) QLDAPINSTALL (http://www.openldap.org/doc/admin/quickstart.html) qmail+LDAP安裝與配置(http://www.chinabyte.com/builder/Linux/linux_detail.shtm?id=1650&parid=1&dtype=1) X.D.Chen'



mailMessageStore: /home/test/Maildir/ mailQuota: 1000000S,100C uid: test userPassword: test qmailUID: 508 qmailGID: 508   注qmailUID,qmailGID可以通過/etc/passwd文件查詢到。使用下面命令進入ldapadd -x -D 'cn=Manager,dc=longshine,dc=com' -W -f /root/test.ldif   如果要輸入密碼為secret。   將/var/qmail/supervise/qmail-pop3d/run 腳本包含下面內容: #!/bin/sh exec /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup longshine.com /var/qmail/bin/auth_pop /var/qmail/bin/qmail-pop3d Maildir 2>&1   測試LDAP: ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts   使用什麼命令查看添加的時間是否正確。如果不正確可以使用 ldapdelete -x -D'cn=Manager,dc=longshine,dc=com' -w secret "cn=testUser,dc=longshine,dc=com"   刪除,然後重新添加。   測試基於LDAP的Pop3認證   在上述步驟完成後,從新測試qmail郵件系統的運行狀況,主要從以下三個方面測試,具體命令如下:   本地測試   具體請參考TEST.deliver 和 TEST.receive 的方法。   Pop3+SMTP測試 telnet localhost 25 和telnet localhost 110   測試工具 #/var/qmail/bin/qmail-ldaplookup -u test #/var/qmail/bin/qmail-ladplookup -m [email protected]   也可用Windows下的圖形郵件客戶端(如 outlook、foxmail等)來測試郵件的收發。   參考資料 Life with qmail (http://www.lifewithqmail.org/lwq.html) QLDAPINSTALL (http://www.openldap.org/doc/admin/quickstart.html) qmail+LDAP安裝與配置(http://www.chinabyte.com/builder/Linux/linux_detail.shtm?id=1650&parid=1&dtype=1) X.D.Chen'



Copyright © Linux教程網 All Rights Reserved