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의 비밀번호 스키마를 다음에서 변경하여 해결된 다소 유사한 설정/오류가 있는 두 개의 포스터를 찾았습니다.MD5에게비크립트. 그것이 왜 도움이 될지 모르겠습니다. 하지만 어쨌든 이렇게 할 계획이었으므로 이것이 어떻게든 해결책이 되는지 알려 주시기 바랍니다.

답변1

긴 여정이었지만 고쳤습니다. 결국은 으로 향했다Postfixadmin 자식그리고 발견이 문제~와 함께이 게시물. 후속 오류는 다음 Error: net_connect_unix(/run/dovecot/stats-writer) failed: Permission denied덕분에 해결되었습니다.이 게시물

요약:

1. 새로운 비둘기장 구성 파일 만들기

/etc/dovecot/먼저 (또는 비둘기장 구성 파일이 있는 곳) 새 파일을 만듭니다 .
나는 내 전화를 겁니다 ssl-keys.conf. 이 파일에 대한 권한은 0600(소유자는 root:root) 입니다.

여기에는 기본 비둘기장 구성 파일(아마도 dovecot.conf)에서 이동된 두 줄만 포함됩니다.

ssl-keys.conf

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

2. 기본 비둘기장 구성 파일 수정

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

관련 정보