□CentOS6でdrac(POP befor SMTP)
かなしいかな、CentOS6にはdracがない。(いやもういいでしょ、POP befor SMTPなんて、というのはおいといて)
あっちこっちからぱくってこようと思ったけど、結局はCentOS6でのdb4のバージョンが古いために、ソースからゴリゴリしないとだめ。
cd /usr/src/package
wget ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z
cd /usr/src/
mkdir dracd
cd dracd/
tar xvzf ../package/drac.tar.Z
で、rpc.dracd.c を
---------- : : // 2013.01.22 T.Kabu //long explimit = 30 * 60; /* expiry limit (seconds) */ long explimit = 90 * 60; /* expiry limit (seconds) */ : : : /* Parse command-line options */ main(argc, argv) int argc; char **argv; { int c; extern char *optarg; extern int optind; while ((c = getopt(argc, argv, "ie:")) != EOF) { switch (c) { case 'i': initdb = 1; break; case 'e': explimit = atoi(optarg) * 60; break; case '?': fprintf(stderr, "Usage: %s [-i] [-e expire] [dbfile]\n", argv[0]); exit(2); } } // 2013.01.22 T.Kabu fprintf(stderr, "rpc.dracd initdb=%d explimit=%d\n", initdb, explimit); if ( optind < argc ) dbfile = argv[optind]; dracmain(); /* the main function from rpcgen */ exit(1); } ----------
emacs ./Makefile
---------- ###INSTALL = /usr/ucb/install ###EBIN = /usr/local/sbin ###MAN = /usr/local/man/man INSTALL = install EBIN = /usr/sbin MAN = /usr/share/man/ : : ###DEFS = -DTI_RPC -DFCNTL_LOCK -DSYSINFO DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C # Compiler flags ###CC = cc CC = gcc RANLIB = : ###CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-4.1.25/build_unix #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-3.1.17/build_unix #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-2.4.14/Unix #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db.1.85/PORT/sunos.5.2/include CFLAGS = $(DEFS) -g -fPIC ###LDLIBS = -L/usr/local/src/db/db-4.1.25/build_unix -lnsl -ldb-4.1 #LDLIBS = -L/usr/local/src/db/db-3.1.17/build_unix -lnsl -ldb #LDLIBS = -L/usr/local/src/db/db-2.4.14/Unix -lnsl -ldb #LDLIBS = -L/usr/local/src/db/db.1.85/PORT/sunos.5.2 -lnsl -ldb LDLIBS = -ldb ###TSTLIBS = -L. -ldrac -lnsl TSTLIBS = -L. -ldrac ###RPCGENFLAGS = #RPCGENFLAGS = -C RPCGENFLAGS = -C -I # Man sections ###MANLIB = 3 ###MANADM = 1m MANLIB = 3 MANADM = 8 ----------
※CFLAGSに-fPICをつけないと、このあとのプラグイン生成で怒られる。:-P
のようにしたら
make
make install
make install-man
cp drac.h /usr/include/
cp libdrac.a /usr/lib64
ldconfig
mkdir /etc/mail
これだけではdrac_plugin.soがないので、作らないといけない
http://www.designet.co.jp/open_source/drac_plugin/
yum -y install dovecot-devel db4-devel
すると、/usr/include/dovecot などができる。
cd /usr/src/package
wget “http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fdovecot2-drac%2F53176%2Fdovecot2-drac-0.1.tar.gz”
mv redir.php\?m\=jaist\&f\=%2Fdovecot2-drac%2F53176%2Fdovecot2-drac-0.1.tar.gz dovecot2-drac-0.1.tar.gz
cd /usr/src/
tar xvzf ./package/dovecot2-drac-0.1.tar.gz
cd dovecot2-drac/
make DOVDIR=/usr/include/dovecot
cp ./drac_plugin.so /usr/lib64/dovecot/
OKなら、VineLinuxのマシンからでも/etc/init.d/dracdその他をもらってきてしまおう(VineLinuxならこの辺そろっているから苦労ない)
scp vine-server:/etc/init.d/dracd /etc/init.d/
scp vine-server:/usr/sbin/rc.dracd /usr/sbin/
chkconfig –level 2345 rpcbind on
chkconfig –add dracd
chkconfig –level 2345 dracd on
として
/etc/init.d/rpcbind restart
/etc/init.d/dracd restart
/etc/init.d/dovecot restart
あとは実際にPOP3でアクセスして、
strings /etc/mail/dracd.db
してIPアドレスが出てくればOK。