Настройка плагина паролей Roundcube с помощью Postfix/Dovecot

Настройка плагина паролей Roundcube с помощью Postfix/Dovecot

Я использую Roundcube v.1.6.0, и я пытаюсь получитьПлагин паролядля правильной работы.

Однако я получаю следующее сообщение об ошибке (в браузере):

Could not save new password.
Encryption function missing.

Почему Roundcube хочет получить доступ к моему закрытому ключу?

Я использую Postfix/Dovecot, настроенный для виртуальных пользователей с помощью Postfixadmin.


Конфигурация

/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 сMD5кbcrypt. Я не уверен, почему это может помочь; но поскольку я в любом случае планировал это сделать, пожалуйста, дайте мне знать, является ли это каким-то решением.

решение1

Это был долгий путь, но я исправил это. В итоге поехал вPostfixadmin gitи нахождениеЭта проблемасэта почта. Последующая ошибка Error: net_connect_unix(/run/dovecot/stats-writer) failed: Permission deniedбыла устранена благодаряэта почта

Обобщить:

1. Создайте новый файл конфигурации dovecot

Сначала вы создадите новый файл в /etc/dovecot/(или там, где находятся ваши файлы конфигурации dovecot).
Я называю свой ssl-keys.conf. Права доступа для этого файла следующие 0600(владелец root:root)

Он будет содержать только две (2) строки, которые будут перенесены из вашего основного файла конфигурации dovecot (предположительно dovecot.conf):

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';

Связанный контент