Last Updated on 2022年3月13日 by かんりにん
▼dracインストールとローカルでの動作確認
2004/10/20
dracはpop before SMTPを実装するためのアプリです。
といっても、この後SMTP-authへ変更してしまいましたが…
【参照サイト】
お世話になっています。
PostfixをPOP before SMTPで利用
http://tsuttayo.sytes.net/postfix/popsmtp.html
postfix + courier-imap(pop3d) + dracでPOP before SMTP
http://cmf.ohtanz.com/pbs.html
1)ファイルダウンロード
[user@example user]$ wget ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z
2)ファイルの移動と展開
[user@example drac]$ su - Password: [root@example root]# cd /usr/local/src [root@example root]# mkdir [root@example root]# cp /home/user/drac.tar.Z /usr/local/src/drac/ [root@example root]# exit [user@example user]$ cd /usr/local/src/drac/ [user@example drac]$ [user@example drac]$ tar zxvf drac.tar.Z COPYRIGHT Changes INSTALL PORTING README version.h dracauth.3 rpc.dracd.1m dracd.allow-sample dracd-setup dracd-setup.linux Makefile drac.x dracauth.c rpc.dracd.c testing.c [user@example drac]$ [user@example drac]$
3)設定ファイルのディレクティブ書き換え
変更するファイルは
- Makefile
- rpc.dracd.c
- dracd-setup.linux
の3つ。
[user@example drac]$ cp Makefile Makefile.org [user@example drac]$ vi Makefile
《設定変更箇所》 INSTALL = install EBIN = /usr/sbin MAN = /usr/share/man/man DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH CFLAGS = $(DEFS) -g LDLIBS = -ldb TSTLIBS = -L. -ldrac RPCGENFLAGS = -C -I MANADM = 8
[user@example drac]$ cp rpc.dracd.c rpc.dracd.c.org [user@example drac]$ vi rpc.dracd.c
《設定変更箇所》 #define DBFILE "/etc/postfix/dracd.db" #define ALFILE "/etc/postfix/dracd.allow"
[user@example drac]$ cp dracd-setup.linux dracd-setup.linux.org [user@example drac]$ vi dracd-setup.linux
《設定変更箇所》 daemon rpc.dracd -i -e 10& ※「-i」は起動時にdracd.dbを初期化するオプション
「-e m」は最後に認証してからの有効期限(m分)
4)コンパイルとインストール
[user@example drac]$ make cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o testing.o testing.c rpcgen drac.x cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o dracauth.o dracauth.c cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o drac_xdr.o drac_xdr.c cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o drac_clnt.o drac_clnt.c rm -f libdrac.a ar cq libdrac.a dracauth.o drac_xdr.o drac_clnt.o : libdrac.a cc -o testing testing.o -L. -ldrac -lnsl cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o rpc.dracd.o rpc.dracd.c cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH -g -c -o drac_svc.o drac_svc.c cc -o rpc.dracd rpc.dracd.o drac_xdr.o drac_svc.o -ldb [user@example drac]$ [user@example drac]$ su - Password: [root@example root]# cd /usr/local/src/drac/ [root@example drac]# make install install -c -o bin -g bin -m 0755 rpc.dracd /usr/sbin [root@example drac]# [root@example drac]# cp dracd-setup.linux /etc/rc.d/init.d/dracd [root@example drac]#
5)シンボリックリンク作成
[root@example drac]# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc3.d/S78dracd [root@example drac]# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc5.d/S78dracd [root@example drac]# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc6.d/K22dracd
6)dracd.allowをコピーして編集
[root@example drac]# cp dracd.allow-sample /etc/postfix/dracd.allow [root@example postfix]# cd /etc/postfix/ [root@example postfix]# vi dracd.allow
《設定変更箇所》
#255.255.255.255 192.168.16.8 ← ここをコメントにする 255.255.255.255 127.0.0.1
7)qpopper用ライブラリをコピー
※qpopperインストール時に必要。
[root@example drac]# cd /usr/local/src/drac/ [root@example drac]# cp libdrac.a /usr/lib/ [root@example drac]# ls -al /usr/lib | grep libdrac.a
- rw-r–r– 1 root root 21638 Oct 25 18:21 libdrac.a
[root@example drac]#
8)dracデーモンを起動
※portmap起動 [root@example drac]# /etc/init.d/portmap start Starting portmapper: [ OK ] [root@example drac]# [root@example drac]#
※dracd起動 [root@example drac]# /etc/rc.d/init.d/dracd start Starting rpc.dracd daemon: [root@example drac]# [root@example drac]# [root@example drac]# ps -aef | grep dracd root 26105 1 0 18:26 pts/2 00:00:00 /bin/sh - /etc/rc.d/init.d/dracd start root 26107 26105 0 18:26 pts/2 00:00:00 initlog -q -c rpc.dracd 5 root 26108 26107 0 18:26 pts/2 00:00:00 rpc.dracd 5 root 26110 25862 0 18:26 pts/2 00:00:00 grep dracd [root@example drac]#
9)ローカル動作確認
[root@example drac]# su - user [user@example user]$ cd /usr/local/src/drac/ [user@example drac]$ ./testing localhost 10.20.30.40 [user@example drac]$ db_dump -p /etc/postfix/dracd.db VERSION=3 format=print type=hash h_nelem=2 db_pagesize=512 HEADER=END 10.20.30.40 1098699135 DATA=END [user@example drac]$
以上でローカル動作確認テスト完了。