.
[ リロード ]   [ ソース ]  [ トップ | 一覧 | 単語検索 | 最新 | バックアップ | ヘルプ ]


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(追加) ※はじめの空白は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
Expert Menu
最新記事
なぜここへ
Yahoo Japanから
検索結果から
友人に聞いて
前からURLを知っていた
他サイトからリンク
最新バージョンの確認

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