この話は、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 { 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 \
user_query = \ where CONCAT( pw_name,’@’, pw_domain ) = ‘%u’ |
設定は、/home/vpopmail/etc/vpopmail.mysqlに設定したテーブル名と、ユーザ名、パスワードを設定してください。
うちの環境はこれで何とか動くようなった。