- PR -

vpopmailでtcp.smtp.cdbが更新されない

1
投稿者投稿内容
AOBA
会議室デビュー日: 2006/03/18
投稿数: 7
投稿日時: 2007-07-17 23:20
vpopmailのpop before smtpを設定しているところです。
外部へのメールの送信が出来ませんでした。
調べてみると、open-smtpには、pop認証されたIPアドレスが書かれたのですが、
tcp.smtp.cdbは、更新されていないので、smtpの認証が出来ていないと思います。

属性を777に変更しても変わりませんでした。
どこか、調査するポイントを教えていただけないでしょうか。
よろしくお願いします。

vpopmailのバージョンはvpopmail-5.4.17です。
あるかな
大ベテラン
会議室デビュー日: 2003/11/04
投稿数: 245
投稿日時: 2007-07-18 20:38
こんばんは。

結構、目に付く話題ですが、症状や原因は様々なようです。
このフォーラムの検索で open-smtp をキーワードで探すと、
先達の作業内容を確認できます。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36714&forum=10
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33707&forum=10

ここら辺を参考に事前準備や再コンパイルを試してはどうでしょうか?
あと適切であろう所有者・所有権の情報は、上記スレに記載されています。
AOBA
会議室デビュー日: 2006/03/18
投稿数: 7
投稿日時: 2007-07-18 23:00
返信
ありがとうございます。

元のvpopmailのディレクトリをリネームしてから、
再インストールしてみましたが、駄目でした。

以下にそのときのconfigure の結果と/etc/init.d/qmailの内容を書いておきます。

./configure --enable-roaming-users=yes --enable-rel
ay-clear-minutes=10 --enable-tcpserver-file=/var/vpopmail/etc/tcp.smtp --enable-
clear-passwd=no

vpopmail 5.4.17
Current settings
---------------------------------------

vpopmail directory = /var/vpopmail
domains directory = /var/vpopmail/domains
uid = 512
gid = 512
roaming users = ON --enable-roaming-users
tcpserver file = /var/vpopmail/etc/tcp.smtp
open_smtp file = /var/vpopmail/etc/open-smtp
rebuild tcpserver file = ON --enable-rebuild-tcpserver-file (default)
password learning = OFF --disable-learn-passwords (default)
md5 passwords = ON --enable-md5-passwords (default)
file locking = ON --enable-file-locking (default)
vdelivermail fsync = OFF --disable-file-sync (default)
make seekable = ON --enable-make-seekable (default)
clear passwd = OFF --disable-clear-passwd
user dir hashing = ON --enable-users-big-dir (default)
address extensions = OFF --disable-qmail-ext (default)
ip alias = OFF --disable-ip-alias-domains (default)
auth module = cdb --enable-auth-module=cdb (default)
auth inc = -Icdb
auth lib =
system passwords = OFF --disable-passwd (default)
pop syslog = show only failed attempts
--enable-logging=e (default)
auth logging = ON --enable-auth-logging (default)


/etc/init.d/qmail

!/bin/sh
# chkconfig: 2345 80 30
# description: qmail server

[ -f /var/qmail/rc ] || exit 0
PATH=$PATH:/var/qmail/bin:/usr/local/bin

case "$1" in
start)
echo -n "Starting... qmail"
csh -cf '/var/qmail/rc &'

#exec env - PATH="/var/qmail/bin:/sbin/:bin:/usr/sbin:/usr/bin: \
#/usr/loval/sbin:/usr/local/bin" \
/usr/local/bin/tcpserver -H -R -l0 -v -x /var/vpopmail/etc/tcp.smtp.cdb
-u 502 \
-g 501 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 \
| /var/qmail/bin/splogger smtpd 3 &

/usr/local/bin/tcpserver -H -R -v -x /etc/tcp.pop3.cdb 0 pop3 \
/var/qmail/bin/qmail-popup hithit.co.jp /var/vpopmail/bin/vchkpw \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger vpopma
il 3 &

touch /var/lock/qmail
;;
stop)
echo "Shutting down qmail."
PID=`/bin/ps -aefw | grep qmail | awk '{print $2}'`
if [ ! -z "$PID" ] ; then
/bin/kill ${PID} 1> /dev/null 2>&1
fi
rm -f /var/lock/qmail
;;
*)
echo "Usage: "$0" {start|stop}"
exit 1
esac
exit 0

また、open-smtpのオーナーが、qmailの再起動を行うとrootになってしまうのも関係があるのでしょうか?

再インストールでは、vpopmailのディレクトリが出来上がった後に、リネームしたディレクトリから、domeinsの下のディレクトリをコピーをし、元に戻しました。

もう少し、調査してみますが、何か、ポイントがわかりましたら、教えていただけないでか。
よろしくお願いします。
おさるわん
会議室デビュー日: 2004/11/10
投稿数: 7
投稿日時: 2007-07-19 11:07
はずしたら、ごめんなさいね。
chmod +s /var/vpopmail/bin/vchkpw
これやったら、僕のところでは動きましたが...(良し悪しはわかりません。)
ちなみに、
ls -l /home/vpopmail/bin/vchkpw
-rwsr-xr-x 1 root vchkpw 167505 May 12 2006 /home/vpopmail/bin/vchkpw
になってます。
あるかな
大ベテラン
会議室デビュー日: 2003/11/04
投稿数: 245
投稿日時: 2007-07-19 12:36
インストール先のディレクトリリネームもそうですが、
ソースディレクトリのリネーム・再展開か、make distclean も一緒に行っていらっしゃいますか?

あと
/var/vpopmail/etc/tcp.smtp
を予め作成しておく必要もありそうですが、どうでしょうか?

> open-smtpのオーナーが、qmailの再起動を行うとrootになってしまうのも関係があるのでしょうか?
私の環境ではユーザーの受信時にオーナーが書き換わりますが、
clearopensmtp の cron 動作時にオーナーは書き戻されています。
ちなみに手動で clearopensmtp を実行した場合は、cdb は更新されますか?

おさるわん様のご指摘箇所も重要かもしれませんね。

tcp.smtp.cdb を書き換えてくれるのが、誰の仕事だったか。。。

#追記
clearopensmtp 名称をド忘れ。。。

[ メッセージ編集済み 編集者: あるかな 編集日時 2007-07-19 12:41 ]
AOBA
会議室デビュー日: 2006/03/18
投稿数: 7
投稿日時: 2007-07-20 19:26
ありがとうございます。解決しました。
やはり、Vvpopmailのインストールに問題が有りました。

あるかなさんの指摘があったので、ソースディレクトリを再展開してから、再度インストールしたところ、メールの送信が出来るようになりました。
その後にメールの受信が出来なくなり、その解決に時間がかかってしまいましたが。。。

メールの受信は、再インストール時に、リネームしておいた、前インストール先のdomainsディレクトリの下のディレクトリをコピーしたのですが、それではだめで、
一度、deldomeinsで削除してからadddomeinsでヴァーチャルドメインを作成し、出来たディレクトリへ、コピーしたところ受信できるようになりました。


本題の原因は、vpopmailをインストールした人が自分では無いため、元のconfigureの内容がわからなかったため最初のconfigureでtcp.smtpを指定する記述でミスが有りデフォルトの/etc/tcp.smtpになってしまい、複数回configureを行ってもmake distcleanを行わなければ設定がクリアされないことを知らなかったことです。

皆さんありがとうございました。


1

スキルアップ/キャリアアップ(JOB@IT)