Я не могу правильно установить password_query из плагина пароля Roundcube, чтобы пользователи могли изменять пароли. Я перепробовал много конфигов без результата. Подключение через SQL, вот мои настройки:
$config['password_db_dsn'] = 'mysql://MY-USER:MY PASSWORD@conderus.mysql.dhosting.pl/MY-DATABASE-NAME’;
$config['password_crypt_hash'] = 'md5';
$config['password_idn_ascii'] = false;
$config['password_hash_algorithm'] = 'sha1';
$config['password_hash_base64'] = false;
Обычно на моем хостинге, когда я использую «localhost» или что-то в этом роде, ничего не работает. Я всегда должен указывать точное имя хоста базы данных и другие вещи.
Сервер: Linux 3.2.0-4-amd64 # 1 SMP Debian 3.2.82-1 x86_6
И ниже приведены мои настройки и журналы password_query, каждый раз при разных ошибках:
$config['password_query'] = 'UPDATE users SET crypt=ENCRYPT(%p,CONCAT(_utf8\'$5$\',RIGHT(MD5(RAND()),8),_utf8\'$\')) WHERE id=%u LIMIT 1';
[18-Sep-2019 11:32:34 +0200]: <df308198> DB Error: [1054] Unknown column 'id' in 'where clause' (SQL Query: UPDATE users SET crypt=ENCRYPT('MY-PASSWORD-HERE',CONCAT(_utf8'$5$',RIGHT(MD5(RAND()),8),_utf8'$')) WHERE id='MY@MAIL.PL' LIMIT 1) in /home/klient.dhosting.pl/conderus/wielechowski.pl/public_html/program/lib/Roundcube/rcube_db.php on line 543 (POST /?_task=settings&_action=plugin.password-save)
[18-Sep-2019 11:32:54 +0200]: <df308198> PHP Error: Request security check failed (POST /?_task=mail&_action=refresh)
$config['password_query'] = 'SELECT update_passwd(%c, %u)';
[18-Sep-2019 11:35:16 +0200]: <ef19691a> DB Error: [1305] FUNCTION ohcoh3_wielecho.update_passwd does not exist (SQL Query: SELECT update_passwd('HERE WAS SOME RANDOM STRING', 'MY@MAIL.PL')) in /home/klient.dhosting.pl/conderus/wielechowski.pl/public_html/program/lib/Roundcube/rcube_db.php on line 543 (POST /?_task=settings&_action=plugin.password-save)
$config['password_query'] = 'SELECT update_passwd(%c, %u)';
[18-Sep-2019 11:35:16 +0200]: <ef19691a> DB Error: [1305] FUNCTION ohcoh3_wielecho.update_passwd does not exist (SQL Query: SELECT update_passwd('HERE WAS SOME RANDOM STRING', 'MY@MAIL.PL')) in /home/klient.dhosting.pl/conderus/wielechowski.pl/public_html/program/lib/Roundcube/rcube_db.php on line 543 (POST /?_task=settings&_action=plugin.password-save)
$config['password_query'] = 'UPDATE mailbox SET password=%c WHERE username=%u';
[18-Sep-2019 11:38:44 +0200]: <b2841511> DB Error: [1146] Table 'ohcoh3_wielecho.mailbox' doesn't exist (SQL Query: UPDATE mailbox SET password='HERE WAS SOME RANDOM STRING' WHERE username='MY@MAIL.PL') in /home/klient.dhosting.pl/conderus/wielechowski.pl/public_html/program/lib/Roundcube/rcube_db.php on line 543 (POST /?_task=settings&_action=plugin.password-save)
$config['password_query'] = 'UPDATE mail_user SET password=%c WHERE email=%u LIMIT 1';
[18-Sep-2019 11:54:52 +0200]: <0593269d> DB Error: [1146] Table 'ohcoh3_wielecho.mail_user' doesn't exist (SQL Query: UPDATE mail_user SET password='HERE WAS SOME RANDOM STRING' WHERE email='MY@MAIL.PL' LIMIT 1) in /home/klient.dhosting.pl/conderus/wielechowski.pl/public_html/program/lib/Roundcube/rcube_db.php on line 543 (POST /?_task=settings&_action=plugin.password-save)
Возможно, проблема в том, что пользователь / почта / идентификатор всегда вводится как my@mail.com, и я вхожу в веб-почту Roundcube только по «моему», а не по полной почте.
Я не разбираюсь в таких вещах, я просто хотел запустить веб-почту для себя и своей семьи.
Еще у меня есть один важный вопрос. Я понимаю, что когда пользователь меняет пароль через веб-почту, пароль IMAP / POP ТАКЖЕ будет изменен? Или это всего лишь пароль от почты?
Спасибо