Qmail+LDAP安裝配置例項(一)(轉)
Qmail+LDAP安裝配置例項(一)(轉)[@more@]摘要Qmail+LDAP安裝配置例項(2002-07-02 12:31:13)By ideal 目前網上關於qmail+LDAP的配置不是很多,而且大多數是英文的。而qmail和openldap的配置沒有詳細的配置文件。前一段時間因為工作關係配置了qmail+LDAP的伺服器。現在將其整理處理,以供大家參考。希望對於大家有所幫助。 Qmail 是基於類似UNIX作業系統的Internet Mail Transfer Agent (MTA) 。我的安裝環境是linux7.1 核心是2.4.2,gcc version 2.96,元件全部安裝。安裝步驟1.作業系統:Red Hat Linux 7.1 kernel 2.4.2 gcc 2.962.所需軟體包:qmail-1.03.tar.gz () ucspi-tcp-0_88_tar.gz () checkpassword-0_90_tar.gz () qmail-ldap-1_03-20010301_patch.gz () openldap-2_0_7.tgz () daemontools, ftp://cr.yp.to/daemontools/daemontools-0.70.tar.gz3.主機IP地址和域名配置,在本例中為:IP:172.18.6.111域名:longshine.com 4. System requirements5. 安裝步驟 將所有需要安裝的包複製到/usr/local/src/qmail目錄專案mkdir -p /usr/local/src/qmailmv *.tar.gz /usr/local/src/qmail 然後解開安裝下面步驟解開這些包su -umask 022cd /usr/local/src/qmailtar zxvf qmail-1.03.tar.gztar xvf ucspi-tcp-0.88.tar.gztar zxvf daemontools-0.70.tar.gztar zxvf checkpassword-0.90.tar.gz 解開的資料包應該處在qmail-1.03, ucspi-tcp-0.88, daemontools-0.70和checkpassword-0.90目錄下,進入qmail目錄。cd qmail-1.03 建立相應的安裝目錄 由於qmail安裝程式會產生其需要的子目錄,所以只要生成安裝所需的'home' 目錄:mkdir /var/qmailln -s /usr/man /var/qmail/manmkdir /etc/qmailln -s /etc/qmail /var/qmail/controlln -s /usr/sbin /var/qmail/bin 生成qmail安裝需要的使用者以及組# groupadd nofiles# useradd -g nofiles -d /var/qmail/alias alias# useradd -g nofiles -d /var/qmail qmaild# useradd -g nofiles -d /var/qmail qmaill# useradd -g nofiles -d /var/qmail qmailp# groupadd qmail# useradd -g qmail -d /var/qmail qmailq# useradd -g qmail -d /var/qmail qmailr# useradd -g qmail -d /var/qmail qmails 編譯安裝 現在可以編譯安裝qmail:make setup check 在編譯安裝完成,需要進行配置如果DNS配置正確,只需執行下面的命令:./config 如果config在DNS中不能找到主機名,則需要執行config-fast 指令碼:./config-fast longshine. com qmail 現在已經安裝起來了,下面開始是啟動和配置qmail。 安裝 ucspi-tcp 進入 ucspi-tcp 目錄:cd /usr/local/src/qmail/ucspi-tcp-0.88makemake setup check 這樣ucspi-tcp 安裝起來了。 安裝daemontools 進入 daemontools 目錄:cd /usr/local/src/qmail/daemontools-0.70makemake setup check 安裝checkpassword 進入 checkpassword 目錄:cd /usr/local/src/qmail/checkpassword-0.90makemake setup check 注: 在某些LINUX版本中(我的安裝環境redhat 7.1), 如Red Hat 7,可能在編譯過程中會生成錯誤:./compile tai64nlocal.ctai64nlocal.c: In function `main':tai64nlocal.c:54: warning: assignment makes pointer from integer without a casttai64nlocal.c:55: dereferencing pointer to incomplete type 等等…. 如果這樣按照下面說明編輯tai64nlocal.c#include 更改為:#include 生成/service 目錄:mkdir /service 最後配置svscan 使得當系統啟動時候自動允許。編輯 /etc/inittab 檔案將下面一行加入檔案最後(注意是在一行中):SV:123456:respawn:env - PATH=/usr/local/bin:/usr/sbin:/usr/bin:/bin svscan /service /dev/console 2>/dev/console 然後執行下面命令重新讀人/etc/inittab:kill -HUP 1 可以使用'ps -ef | grep svscan' 或者 'ps waux | grep svscan' 證實svscan 正在執行。 啟動qmail2.8.1. /var/qmail/rc 編輯產生/var/qmail/rc檔案將下面命令進入其中#!/bin/sh# Using stdout for logging# Using control/defaultdelivery from qmail-local to deliver messages by defaultexec env - PATH='/var/qmail/bin:$PATH' qmail-start '`cat /var/qmail/control/defaultdelivery`'chmod 755 /var/qmail/rcmkdir /var/log/qmail 在qmail中,支援三種郵件儲存方式,分別是典型的/var/spool/mail方式、傳統的Unix user/Mailbox方式和新的 user/Maildir方式,其中前兩種方式為大多數的郵件客戶端所支援,但是它們均存在安全上的隱患,所以在這裡使用了第三種方式,下面分別敘述三種方式的建立方法:/var/spool/mail 方式#cp /var/qmail/boot/proc /var/qmail/rcuser/Mailbox 方式#cp /var/qmail/boot/home /var/qmail/rcuser/Maildir 方式1)#cp /var/qmail/boot/home /var/qmail/rc2)建立相應的郵件使用者,例如:#useradd test#passwd test3)使用qmail提供的工具建立Maildir,命令如下:$ /var/qmail/bin/maildirmake Maildir$ echo ./Maildir/ >.qmail (注意這裡必須以使用者許可權建立郵箱)4) 為了使root使用者也能收發郵件,使用如下命令:# su alias$ cd$ /var/qmail/bin/maildirmake Maildir$ echo ./Maildir/ >.qmail# echo ./Mailbox/ >/var/qmail/control/defaultdelivery系統start-up 檔案生成qmailctl 指令碼#!/bin/sh# For Red Hat chkconfig# chkconfig: - 30 80# description: the qmail MTAPATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbinexport PATHQMAILDUID=`id -u qmaild`NOFILESGID=`id -g qmaild`case '$1' instart)echo 'Starting qmail'if svok /service/qmail-send ; thensvc -u /service/qmail-sendelseecho qmail-send service not runningfiif svok /service/qmail-smtpd ; thensvc -u /service/qmail-smtpdelseecho qmail-smtpd service not runningfiif [ -d /var/lock/subsys ]; thentouch /var/lock/subsys/qmailfi;;stop)echo 'Stopping qmail...'echo ' qmail-smtpd'svc -d /service/qmail-smtpdecho ' qmail-send'svc -d /service/qmail-sendif [ -f /var/lock/subsys/qmail ]; thenrm /var/lock/subsys/qmailfi;;stat)svstat /service/qmail-sendsvstat /service/qmail-send/logsvstat /service/qmail-smtpdsvstat /service/qmail-smtpd/logqmail-qstat;;doqueue|alrm|flush)echo 'Sending ALRM signal to qmail-send.'svc -a /service/qmail-send;;queue)qmail-qstatqmail-qread;;reload|hup)echo 'Sending HUP signal to qmail-send.'svc -h /service/qmail-send;;pause)echo 'Pausing qmail-send'svc -p /service/qmail-sendecho 'Pausing qmail-smtpd'svc -p /service/qmail-smtpd;;cont)echo 'Continuing qmail-send'svc -c /service/qmail-sendecho 'Continuing qmail-smtpd'svc -c /service/qmail-smtpd;;restart)echo 'Restarting qmail:'echo '* Stopping qmail-smtpd.'svc -d /service/qmail-smtpdecho '* Sending qmail-send SIGTERM and restarting.'svc -t /service/qmail-sendecho '* Restarting qmail-smtpd.'svc -u /service/qmail-smtpd;;cdb)tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtpchmod 644 /etc/tcp.smtp.cdbecho 'Reloaded /etc/tcp.smtp.';;help)cat <stop -- stops mail service (smtp connections refused, nothing goes out)start -- starts mail service (smtp connection accepted, mail can go out)pause -- temporarily stops mail service (connections accepted, nothing leaves)cont -- continues paused mail servicestat -- displays status of mail servicecdb -- rebuild the tcpserver cdb file for smtprestart -- stops and restarts smtp, sends qmail-send a TERM & restarts itdoqueue -- sends qmail-send ALRM, scheduling queued messages for deliveryreload -- sends qmail-send HUP, rereading locals and virtualdomainsqueue -- shows status of queuealrm -- same as doqueueflush -- same as doqueuehup -- same as reloadHELP;;*)echo 'Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}'exit 1;;esacexit 0 此指令碼可以透過獲得 使用vi 生成/var/qmail/bin/qmailctl基本將上面內容放入其中, 然後將其安裝在/etc/init.d /etc/rc.d/init.d 執行下面命令,產生連結:ln -s ../init.d/qmail /etc/rc0.d/K30qmailln -s ../init.d/qmail /etc/rc1.d/K30qmailln -s ../init.d/qmail /etc/rc2.d/S80qmailln -s ../init.d/qmail /etc/rc3.d/S80qmailln -s ../init.d/qmail /etc/rc4.d/S80qmailln -s ../init.d/qmail /etc/rc5.d/S80qmailln -s ../init.d/qmail /etc/rc6.d/K30qmailln -s /var/qmail/bin/qmailctl /etc/init.d/qmail 使得指令碼可以執行 qmailctl且進入系統命令中chmod 755 /var/qmail/bin/qmailctlln -s /var/qmail/bin/qmailctl /usr/bin supervise 基本 現在產生qmail services目錄:mkdir -p /var/qmail/supervise/qmail-send/logmkdir -p /var/qmail/supervise/qmail-smtpd/logchmod +t /var/qmail/supervise/qmail-sendchmod +t /var/qmail/supervise/qmail-smtpd 生成/var/qmail/supervise/qmail-send/run 檔案:#!/bin/shexec /var/qmail/rc 生成/var/qmail/supervise/qmail-send/log/run 檔案:#!/bin/shexec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail 生成 /var/qmail/supervise/qmail-smtpd/run 檔案:#!/bin/shQMAILDUID=`id -u qmaild`NOFILESGID=`id -g qmaild`MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`exec /usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb -c '$MAXSMTPD' -u '$QMAILDUID' -g '$NOFILESGID' 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 生成concurrencyincoming 控制檔案:echo 20 > /var/qmail/control/concurrencyincomingchmod 644 /var/qmail/control/concurrencyincoming 生成/var/qmail/supervise/qmail-smtpd/log/run 檔案:#!/bin/shexec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd 使得所生成的指令碼可執行:chmod 755 /var/qmail/supervise/qmail-send/runchmod 755 /var/qmail/supervise/qmail-send/log/runchmod 755 /var/qmail/supervise/qmail-smtpd/runchmod 755 /var/qmail/supervise/qmail-smtpd/log/run 建立log 目錄:mkdir -p /var/log/qmail/smtpdchown qmaill /var/log/qmail /var/log/qmail/smtpd 將supervise 連結到/service:ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service 注: qmail 系統應該自動起來。如果不想此時候啟動,執行:qmailctl stop
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-940557/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Grub安裝、配置以及使用例項彙總講解(轉)
- jafka安裝配置和啟動一個自帶例項和手寫一個例項
- BIND 9快速安裝例項(轉)
- 單機環境安裝配置ASM例項ASM
- Argo 安裝和 workflow 例項配置檔案解析Go
- CAS跨域SSO例項安裝和配置指南跨域
- RedHat7.0下Oracle 8.1.6安裝例項(轉)RedhatOracle
- 5.6單例項安裝單例
- Redis單例項安裝Redis單例
- 在FreeBSD中安裝雙網路卡例項(轉)
- Memcached安裝與使用例項
- mysql 5.7單例項安裝MySql單例
- oracle例項安裝到 4% 不能繼續安裝Oracle
- DUBBO安裝配置注意事項
- Linux下安裝 Docker例項LinuxDocker
- 【Oracle】ASM例項安裝入門OracleASM
- oracle單例項12.2.0.1安裝Oracle單例
- 安裝Mongodb3.0.6單例項MongoDB單例
- ANT安裝、配置(轉)
- oracle rac安裝配置注意事項Oracle
- oracle 11g 單例項安裝Oracle單例
- oracle 多個例項安裝監聽Oracle
- 清除安裝失敗的asm例項ASM
- 安裝和配置OPENLDAP(轉)LDA
- TortoiseGit安裝與配置(轉)Git
- db2 安裝後建立例項錯誤!高手指教(轉)DB2
- mysqld_multi安裝多個mysql例項MySql
- SVN安裝配置及安全注意事項
- Oracle8.1.6i+ Apache1.3.14+PHP4.0.3完全安裝例項(轉)OracleApachePHP
- MYSQL + MHA +keepalive + VIP安裝配置(一)--MYSQL安裝配置MySql
- 【轉】Jenkins 安裝與配置Jenkins
- 安裝配置Jboss完全篇 (轉)
- openssh的安裝及配置(轉)
- ☆ 安裝配置篇3 - WebSphere ☆ (轉)Web
- Android應用例項之----基於BroadCastReceiver的SD卡裝載解除安裝例項!AndroidASTSD卡
- vue3官網介紹,安裝,建立一個vue例項Vue
- Linux平臺Oracle 11g單例項 安裝部署配置快速參考LinuxOracle單例
- GNU make安裝注意事項(轉)