.
Counter: 10024, today: 1, yesterday: 1

POP before SMTPの実装

本家サイトには、redhat9用のRPMが用意されていますが、ソースからコンパイルして redhatっぽくしています。 /etc/sysconfig/dracd を修正し、穴を空けている時刻(分)を調整できます。

[更新:2004年2月17日]
DRACの起動スクリプトに実行権を付けて、RUNレベル3にシンボリックリンクを張りましょう。

(インストールの準備)

# mkdir /usr/local/src/drac-1.12

(解凍)

# tar xvfz drac.tar.Z -C /usr/local/src/drac-1.12/

(インストール)

# cd /usr/local/src/drac-1.12/
# vi Makefile(修正)
INSTALL = /usr/bin/install
DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C
CC = gcc
CFLAGS = $(DEFS) -g
LDLIBS = -ldb
TSTLIBS = -L. -ldrac
RPCGENFLAGS = -C -I
MANADM = 8

# make
# make install
# cp libdrac.a /usr/local/lib

(設定)

# cp dracd.allow-sample /etc/mail/dracd.allow
# vi /etc/mail/dracd.allow(1行のみ)
255.255.255.255 127.0.0.1

# vi /etc/rc.d/init.d/dracd
 #!/bin/sh
 #
 # dracd: This shell script takes care of starting and stopping dracd
 # description: Dynamic Relay Authorization Control Daemon
 # processname: dracd
 # pidfile: /var/run/dracd.pid
 # Source function library.
 . /etc/init.d/functions
 # Source networking configuration.
 . /etc/sysconfig/network
 [ -f /usr/local/sbin/rpc.dracd ] || exit 0
 if [ -f /etc/sysconfig/dracd ] ; then
       . /etc/sysconfig/dracd
 else
       DRACD_OPTION="-i -e"
       TIME="5"
 fi
 RETVAL=0
 start() {
       # Start daemons.
       echo -n "Starting dracd: "
       daemon /usr/local/sbin/rpc.dracd $DRACD_OPTION $TIME
       RETVAL=$?
       echo
       [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dracd
       return $RETVAL
 }
 stop() {
       # Stop daemons.
       echo -n "Shutting down dracd: "
       killproc /usr/local/sbin/rpc.dracd
       RETVAL=$?
       echo
       [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dracd
       return $RETVAL
 }
 # See how we were called.
 case "$1" in
   start)
       start
       ;;
   stop)
       stop
       ;;
   restart|reload)
       stop
       start
       RETVAL=$?
       ;;
   status)
       status rpc.dracd
       RETVAL=$?
       ;;
   *)
       echo "Usage: dracd {start|stop|restart|status}"
       exit 1
 esac
 exit $RETVAL

# chmod 755 /etc/rc.d/init.d/dracd
# cd /etc/rc.d/rc3.d/
# ln -s ../init.d/dracd ./S88dracd
# vi /etc/sysconfig/dracd
 DRACD_OPTION="-i -e"
 TIME="1"

■sendmailの設定

# cd /usr/local/src/sendmail-8.12.10/cf/cf
# vi sendmail.mc(追加) ※下記編集部分4〜7行目の大きな空白はTAB
 Kdrac btree /etc/mail/dracd
 LOCAL_RULESETS
 SLocal_check_rcpt
 R$*     $: $&{client_addr}
 R$+     $: $(drac $1 $: ? $)
 R?      $@ ?
 R$+     $@ $#OK
# make sendmail.cf
# cp sendmail.cf /etc/mail/

■qpopperの設定

# cd /usr/local/src/qpopper-4.0.5
# make clean
# ./configure --enable-specialauth --with-drac=/usr/local/lib
# make
# make install

(起動)

# /etc/rc.d/init.d/sendmail restart
 Shutting down sendmail:                                    [  OK  ]
 Shutting down sm-client:                                   [  OK  ]
 Starting sendmail:                                         [  OK  ]
 Starting sm-client:                                        [  OK  ]
 
# /etc/rc.d/init.d/xinetd restart
 Stopping xinetd:                                           [  OK  ]
 Starting xinetd:                                           [  OK  ]
 
# /etc/rc.d/init.d/portmap restart
 Stopping portmapper:                                       [  OK  ]
 Starting portmapper:                                       [  OK  ]

# /etc/rc.d/init.d/dracd start
 Starting rpc.dracd daemon:                                 [  OK  ]

(起動確認)

# ps ax | grep dracd | grep -v grep
 20065 ?        S      0:00 /usr/local/sbin/rpc.dracd -i -e 5

# /etc/rc.d/init.d/dracd status
 rpc.dracd (pid 20065) is running...

(POP認証後の確認)

# db_dump -p /etc/mail/dracd.db
 VERSION=3
 format=print
 type=btree
 HEADER=END
  21*.***.***.***
  1074653406
 DATA=END


リロード   差分 ソース ファイル添付 添付ファイル一覧   Wikiトップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
トラックバック [ トラックバック(0) ]
トラックバック URL: http://linuxexpert.ne.jp/modules/pukiwiki/tb/36

Expert Menu
最新記事
なぜここへ
Yahoo Japanから
検索結果から
友人に聞いて
前からURLを知っていた
他サイトからリンク
最新バージョンの確認

Linuxexpert is one of the service presented by InfomationSquare. / OmakaseBlog Login  |  Register Now!