- PR -

qmail+vpopmailのmysql化

投稿者投稿内容
まさ
会議室デビュー日: 2002/07/08
投稿数: 7
お住まい・勤務地: 東京都中野区
投稿日時: 2002-07-08 11:02
知っている人がいたら教えて欲しいのですけど
今qmail+vpopmail+mysqlでヴァーチャルメールサーバを構築しているのですが
どうもvpopmail+mysqlの連携がうまくいきません。

mysqlをインストールしてvpopmailのconfigure時に
./configure --enable-roaming-users=y --enable-mysql=y
とやっているのですがなぜかmysqlのほうにドメインを追加されません。
ちなみにエラーも出なくて困っています。

誰か同じような現象があったとか原因がわかっている人がいたらご教授願えませ
んでしょうか?

ちなみに前構築したときはうまくいったんですけど
そのあとにクラッカーにOSを壊されてOSからもう一回
構築したらそんなことになっちゃいました。

ちゃんと、前うまくいったときのbash_history等を見てやっているはずなのです
が・・。

ちなみにOSはRedhat7.2jです。

よろしくお願いします。
鶴長鎮一
ベテラン
会議室デビュー日: 2001/08/29
投稿数: 78
お住まい・勤務地: 東京都
投稿日時: 2002-07-08 13:37
連載を担当させていただいております鶴長です。
1度はうまくいっているということですので、まずは、MySQLがうまく動
作しているかを確認して頂きたいとのですが、vpopmailに設定している、
MySQL接続ユーザー:パスワードを控えて頂き
> mysqlshow -uユーザー名 -p vpopmail

で接続できるかと、vpopmail等のテーブルが揃っていることかを確認頂く
ことはできますでしょうか。
まさ
会議室デビュー日: 2002/07/08
投稿数: 7
お住まい・勤務地: 東京都中野区
投稿日時: 2002-07-08 15:46
鶴長さん、ご返信ありがとうございます。
Mysqlは動いていると思います。
nmapでportscanかけてもport(3306)が空いていますし
mysqlのコマンドも打てます。
vpopmailのテーブルは作られてないです。
症状としては根本的にvpopmailがmysqlにアクセスしていないと思います。
mysql側のvpopmailからのログもないし、vconvert等のコマンドを打っても
エラーも出ませんので。

ちなみにここに書き込んだ後にうまく行ったサーバからダウンロードした
vpopmailの解凍済みファイルをあげて、configure、make、make install-stripを
やってみたらなぜかmysqlにはアクセスがいってました。
おんなじtar.gzファイルを使っているのになぜなんでしょうか???
vconvertをやってみたらmysqlでroot@localhostがaccess denyのエラーが出ました。
grantとかもちゃんとやっているのですがなぜだか今実験中です。
鶴長鎮一
ベテラン
会議室デビュー日: 2001/08/29
投稿数: 78
お住まい・勤務地: 東京都
投稿日時: 2002-07-08 18:29
鶴長です。
> おんなじtar.gzファイルを使っているのになぜなんでしょうか???
う〜ん不思議ですね

> vconvertをやってみたらmysqlでroot@localhostがaccess denyのエラーが出ました。

"mysql -uroot -p vpopmail"がちゃんとはいたらいているということでしたら次の点
はいかがでしょうか。

make 前の vmysql.h の下記の項目ですが

/* Edit to match your set up */
#define MYSQL_UPDATE_SERVER "localhost"
#define MYSQL_UPDATE_USER "root"
#define MYSQL_UPDATE_PASSWD "secret"

#define MYSQL_READ_SERVER "localhost"
#define MYSQL_READ_USER "root"
#define MYSQL_READ_PASSWD "secret"
/* End of setup section*/

MySQLサーバーを localhostで指定されている場合は grant で設定する際のユーザーはroot@localhost でいいのですが、localhostを指定してもUNIXソケットを使わない場合
があります。("ping localhost"で127.0.0.1へpingを打っていれば正常です)
その場合は grantで root@% (かなり緩い条件ですが) に対して設定する必要があり
ます。
以上ご参考いただければ幸いです。
まさ
会議室デビュー日: 2002/07/08
投稿数: 7
お住まい・勤務地: 東京都中野区
投稿日時: 2002-07-16 15:30
まさです。
ちょっとDNSサーバの構築とネットワーク環境のトラブルではまっていて遅れてしまいました。

やっぱり
./vconvert -c -m
がうまくいきません。
エラーの内容は↓です。
could not connect to mysql update server Access denied for user: 'root@localhost
' (Using password: YES) with database
could not connect to mysql update server Access denied for user: 'root@localhost
' (Using password: YES)
converting test.jsp.gr.jp vmysql: sql error[2]: MySQL server has gone away
vmysql: sql error[6]: MySQL server has gone away
vmysql: sql error[2]: MySQL server has gone away
vmysql: sql error[6]: MySQL server has gone away
done
converting jsp.gr.jp vmysql: sql error[2]: MySQL server has gone away
vmysql: sql error[6]: MySQL server has gone away
done
converting test2.jsp.gr.jp domain conversion failed
converting test3.jsp.gr.jp domain conversion failed
converting mail.jsp.gr.jp domain conversion failed
------------------------------------------

mysql -u root -p vpopmail
はパスワードを打ったらうまく入れてます。
localhostにpingはうまく通っています。
鶴長鎮一
ベテラン
会議室デビュー日: 2001/08/29
投稿数: 78
お住まい・勤務地: 東京都
投稿日時: 2002-07-16 19:16
鶴長です。
1つずつ確認させて頂きたいのですが、まず、root に対する MySQL の参照権がど
うなっているか見ていただくことはできますでしょうか。

> mysql -uroot -p mysql
mysql> select * from user where User = 'root' and Host = 'localhost';

これの結果で、すべての priv に大して"Y"が立っていますでしょうか?
送って頂いたlogを見る限り、パスワードはあっているものの UPDATE の権限が無い
と出ているので、まずは user テーブルから確認させてください。
まさ
会議室デビュー日: 2002/07/08
投稿数: 7
お住まい・勤務地: 東京都中野区
投稿日時: 2002-07-16 20:33
まさです。
ご返信ありがとうございます。

Rootに対する参照権はすべてyになっています。
↓は一部抜粋したものです。
mysql> select Host,User,Select_priv,Insert_priv,Update_priv,Delete_priv from use
r where Host = 'localhost' and User = 'root';
+-----------+------+-------------+-------------+-------------+-------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv |
+-----------+------+-------------+-------------+-------------+-------------+
| localhost | root | Y | Y | Y | Y |
+-----------+------+-------------+-------------+-------------+-------------+
1 row in set (0.00 sec)

ちなみに
mysql> select * from user;
http://www.jsp.gr.jp/mysql/select_user.txt
mysql> select * from db;
http://www.jsp.gr.jp/mysql/select_db.txt
です。
見たところあっているとおもうのですが・・・・。
鶴長鎮一
ベテラン
会議室デビュー日: 2001/08/29
投稿数: 78
お住まい・勤務地: 東京都
投稿日時: 2002-07-17 21:14
直接 vpopmail テーブルをアップデート出来ますでしょうか。差し障りがないところ
で pw_gecos フィールドを適当なものに変更した場合をご報告頂ければ幸いです。

> mysql -uroot -p vpopmail
mysql> update vpopmail set pw_gecos = '変更内容' where pw_name = "ユーザー名";

今、考えられるのは....特権の設定で次のような行が user テーブルにあった場合に
は、rootが判定される前に、こちらが効いてしまう場合があります。
コード:
+-----------+------+-------------+-------------+-------------+-------------+ 
| Host      | User | Select_priv | Insert_priv | Update_priv | Delete_priv | 
+-----------+------+-------------+-------------+-------------+-------------+ 
| localhost | %    | N           | N           | N           | N           | 
+-----------+------+-------------+-------------+-------------+-------------+ 


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