Postfix/Dovecot で Roundcube パスワード プラグインを構成する

Postfix/Dovecot で Roundcube パスワード プラグインを構成する

私はRoundcube vを使用しています1.6.0、そして私はパスワードプラグイン正常に動作する。

ただし、次のエラー メッセージが表示されます (ブラウザー内)。

Could not save new password.
Encryption function missing.

Roundcube が私の秘密鍵にアクセスしようとするのはなぜですか?

私は Postfixadmin を使用して仮想ユーザー用に設定された Postfix/Dovecot を使用しています。


構成

/srv/live/php/roundcubemail-1.6.0/logs/errors.log

[13-Dec-2022 11:16:31 -0500]: PHP Error: Password plugin: Failed to execute command: /usr/bin/doveadm pw -s 'CRAM-MD5'.  
Error: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 12: ssl_cert: Can't open file /etc/ssl/private/fullchain.pem: Permission denied in /srv/live/php/roundcubemail-1.6.0/plugins/password/password.php on line 747 (POST /?_task=settings&_action=plugin.password-save)

編集:私は誤って以下をRoundcubeのメイン設定ファイルとしてリストしました。これはパスワードプラグインの設定です。

/srv/live/php/roundcubemail-1.6.0/plugins/password

$config['password_driver'] = 'sql';
$config['password_strength_driver'] = 'zxcvbn';
$config['password_zxcvbn_min_score'] = 5;
$config['password_confirm_current'] = true;
$config['password_minimum_length'] = 8;
$config['password_minimum_score'] = 0;
$config['password_algorithm'] = 'dovecot';
$config['password_algorithm_options'] = [];
$config['password_algorithm_prefix'] = '';
$config['password_dovecotpw'] = '/usr/bin/doveadm pw';
$config['password_dovecotpw_method'] = 'CRAM-MD5';
$config['password_dovecotpw_with_method'] = true;

/etc/dovecot/dovecot-sql.conf

driver = mysql
connect = host=localhost dbname=postfix_db user=postfix password=<redacted>
default_pass_scheme = MD5-CRYPT
user_query = SELECT '/var/www/mail/vmail/%d/%n' as home, 'maildir:/var/www/mail/vmail/%d/%n' as mail, 2000 AS uid, 2000 AS gid, concat('dirsize:storage=',  quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
# Get the password
password_query = SELECT username as user, password, '/var/www/mail/vmail/%d/%n' as userdb_home, 'maildir:/var/www/mail/vmail/%d/%n' as userdb_mail, 2000 as userdb_uid, 2000 as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
# If using client certificates for authentication, comment the above and uncomment the following
#password_query = SELECT null AS password, ‘%u’ AS user

ご協力をよろしくお願いいたします!


補足: 私の問題を正確に詳述している投稿は見つかりませんでした。

私は、Dovecotのパスワードスキーマを変更することで解決した、かなり似た設定/エラーを持つ2人の投稿者を見つけました。MD5暗号なぜそれが役立つのかはわかりませんが、いずれにせよこれを実行しようと計画していたので、これが何らかの解決策であるかどうか教えてください。

答え1

長い道のりでしたが、解決できました。Postfix管理者gitそして発見この問題この郵便受けその後のエラーError: net_connect_unix(/run/dovecot/stats-writer) failed: Permission deniedは、この郵便受け

要約する:

1. 新しいdovecot設定ファイルを作成する

/etc/dovecot/まず、 (またはdovecotの設定ファイルがある場所)に新しいファイルを作成します。
私は と呼びますssl-keys.conf。このファイルの権限は0600(所有者はroot:root)です。

dovecot.confこれには、プライマリ dovecot 設定ファイル (おそらく)から移動された 2 行のみが含まれます。

ssl-keys.conf

ssl_cert                   = </etc/ssl/private/fullchain.pem
ssl_key                    = </etc/ssl/private/privkey.pem

2. メインのdovecot設定ファイルを変更する

dovecot.conf次の行を追加します

!include_try ssl-keys.conf

service stats {
    unix_listener stats-reader {
        group = vmail
        mode = 0666
    }

    unix_listener stats-writer {
        group = vmail
        mode = 0666
    }
}

postfixadmin が dovecot/vmail グループの一部であることを確認します (vmail はメールまたは仮想ユーザー グループです)。

まだ行っていない場合は、dovecot.conf新しいファイルに追加した行を削除しますssl-keys.conf。その他はそのままにしておきます。

3. dovecotデータベース設定ファイルを変更する

Dovecot データベース構成ファイル (dovecot-sql.conf私の場合) で、次の内容を変更します。

default_pass_scheme = BLF-CRYPT

Roundcube パスワード プラグインの設定ファイルで、次の部分を変更します (残りは私の OP と同じです)。

$config['password_dovecotpw_method'] = 'BLF-CRYPT';
$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r 12';

関連情報