Изменение почтового пароля пользователем через roundcube

Изменение почтового пароля пользователем через roundcube

Небольшая заметка на тему настройки своего почтового сервера с веб интерфейсом roundcube. У него есть плагин, который позволяет пользователю самостоятельно менять свой почтовый пароль. Проблема в том, что по умолчанию он не заработает, обязательно нужна настройка. При этом она будет сильно зависеть от конкретной ситуации. Я опишу пару таких типовых настроек.


Хочешь научиться строить и поддерживать высоконагруженные приложения? Тогда рекомендую познакомиться с онлайн-интенсивом «Tarantool» в OTUS. Актуально для системных администраторов и devops инженеров. Подробности по .

Итак, речь идет о почтовом сервере, настроенном примерно так же, как в моей статье — Настройка postfix + dovecot + mysql база + postfixadmin + roundcube + dkim на CentOS 8. У нас установлен roundcube и активирован плагин password. В конфигурационном файле roundcube это выглядит следующим образом:

$config['plugins'] = array('acl', 'managesieve', 'password', 'userinfo');

В веб интерфейсе функционал по смене пароля реализован вот так.

Если вы просто активируете плагин и не настроите, пользователь будет получать ошибку при попытке изменить пароль. Это и понятно, ведь у roundcube своя база данных и никакого подключения к базе с учетными записями почты у нее по умолчанию нет. Вот это и надо настроить. Для этого идем в директорию плагина — /plugins/password и создаем конфигурационный файл, который будем настраивать.

# cp config.inc.php.dist config.inc.php

Открываем конфиг и добавляем туда следующие параметры.

$config['password_algorithm'] = 'md5-crypt';
$config['password_db_dsn'] = 'mysql://dbuser:dbpassword@localhost/postfix';
$config['password_query'] = 'UPDATE postfix.mailbox SET password = %P, modified = NOW() WHERE username = %u';
md5-crypt метод шифрования паролей в базе mysql
dbuser пользователь базы данных, где хранятся учетки
dbpassword пароль пользователя
postfix база данных mysql

Если у вас пароли в базе не зашифрованы, то настройки будут выглядеть вот так:

$config['password_algorithm'] = 'clear';
$config['password_db_dsn'] = 'mysql://dbuser:dbpassword@localhost/postfix';
$config['password_query'] = 'UPDATE postfix.mailbox SET password = %p, modified = NOW() WHERE username = %u';

Сохраняйте конфигурационный файл и пробуйте изменять пароль через web интерфейс. Теперь изменение почтового пароля должно корректно работать.

Супер-интенсив «Tarantool»

Если у вас есть желание освоить платформу in-memory вычислений, востребованную в современных высоконагруженных приложениях, рекомендую пройти интенсив Tarantool в OTUS. Обучение длится 5 дней.

Что даст вам этот интенсив:

  • Узнаете архитектуру и внутреннее устройство Tarantool.
  • Поймете сильные и слабые стороны Tarantool.
  • Сможете назвать сходства и отличия от других СУБД.
  • Увидите кейсы использования: куда брать, куда не брать.
  • Установите и запустите Tarantool.
  • Поднимете собственный кластер.

Смотрите подробнее программу по .
Источник

Просмотров:

Добавить комментарий

Adblock
detector