VpopmailとDovecotの連携

この話は、1ヶ月以上前に設定したのですが、なかなか時間がなくて、今回書くことにしました。

Dovecotのコンパイルがうまくいかない。

Vpopmailのlibvpopmail.soが出てこない。

 

そこで、vpopmailは、mysqlに保存しているので、dovecotの設定をmysqlから拾うように設定を変更した。

ただし前提条件として、vpopmailの設定を、アカウントの設定(ドメイン)をひとつのテーブルに集約する設定をしていると話をすすめる。

また、dovecotのmysql設定ファイルを/etc/dovecot-mysql.confとする。

 

dovecotのmysqlのプラグインをインストール

設定ファイルをこのように書き換える。(抜粋)

mail_location = maildir:/home/vpopmail/domains/%d/%n/Maildir
auth default {
mechanisms = cram-md5 plain login digest-md5
#passdb pam {
#}
passdb sql {
args = /etc/dovecot-mysql.conf
}
# userdb passwd {
# }
userdb sql {
args = /etc/dovecot-mysql.conf
}

  socket listen {
    client {
      user = vpopmail
      group = vchkpw
    }
  }
}

first_valid_uid = 89

メールディレクトリの%u、%nの説明

例えば、user@domainというアドレスがある。

%uでuser@domain

%nで@の前のuser
%dで@の後ろのdomain

を取り出すということ

 

dovecot-mysql.confの設定内容

driver = mysql
connect = host=/var/lib/mysql/mysql.sock \
dbname=vpopmail user=vpopmail password=password

password_query = SELECT CONCAT( pw_name,’@’, pw_domain ) \

AS username, pw_passwd AS password FROM vpopmail  \
where CONCAT( pw_name,’@’, pw_domain ) = ‘%u’

 

user_query = \
AS uid, 89 AS gid \
SELECT pw_dir AS home,  89 AS uid, 89 AS gid \
FROM vpopmail \

where CONCAT( pw_name,’@’, pw_domain ) = ‘%u’

 

設定は、/home/vpopmail/etc/vpopmail.mysqlに設定したテーブル名と、ユーザ名、パスワードを設定してください。

うちの環境はこれで何とか動くようなった。

カテゴリー: 未分類 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です