Configuración del complemento de contraseña de Roundcube con Postfix/Dovecot

Configuración del complemento de contraseña de Roundcube con Postfix/Dovecot

Estoy usando Roundcube v1.6.0, y estoy tratando de conseguir elComplemento de contraseñapara funcionar correctamente.

Sin embargo, recibo el siguiente mensaje de error (en el navegador):

Could not save new password.
Encryption function missing.

¿Por qué Roundcube quiere acceder a mi clave privada?

Estoy usando Postfix/Dovecot configurado para usuarios virtuales con Postfixadmin.


Configuración

/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)

editar:Enumeré por error lo siguiente como el archivo de configuración principal de Roundcube; esta es la configuración del complemento de contraseña

/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

¡Muchas gracias de antemano por tu ayuda!


nota al margen: no pude encontrar ninguna publicación que detallara mi problema exacto.

Encontré dos carteles con configuraciones/errores bastante similares que se resolvieron cambiando el esquema de contraseña de Dovecot deMD5abcrypt. No estoy seguro de por qué eso podría ayudar; pero como estaba planeando hacer esto de todos modos, avíseme si esta es de alguna manera la solución.

Respuesta1

Fue un viaje largo, pero lo arreglé. Terminé yendo alpostfixadmin gity encontrandoeste problemaconesta publicación. El error posterior Error: net_connect_unix(/run/dovecot/stats-writer) failed: Permission deniedse solucionó gracias aesta publicación

Para resumir:

1. Cree un nuevo archivo de configuración de palomar

Primero creará un nuevo archivo en /etc/dovecot/(o dondequiera que se encuentren sus archivos de configuración de Dovecot).
Yo llamo al mío ssl-keys.conf. Los permisos para este archivo son 0600(el propietario es root:root)

Esto contendrá solo dos (2) líneas que se mueven desde su archivo de configuración principal de dovecot (presumiblemente dovecot.conf):

ssl-keys.conf

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

2. Modifique el archivo de configuración principal de Dovecot.

En dovecot.conf, agregue las siguientes líneas

!include_try ssl-keys.conf

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

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

Asegúrese de que postfixadmin sea parte del grupo dovecot/vmail (donde vmail es su correo o grupo de usuarios virtuales).

Si aún no lo ha hecho, elimine las líneas dovecot.confque agregó al nuevo archivo ssl-keys.conf. Deja todo lo demás como está.

3. Modifique el archivo de configuración de la base de datos de dovecot.

En el archivo de configuración de su base de datos Dovecot ( dovecot-sql.confpara mí), modifique lo siguiente:

default_pass_scheme = BLF-CRYPT

En su archivo de configuración del complemento de contraseña de Roundcube, modifique lo siguiente (el resto es igual que mi OP):

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

información relacionada