After a lot of debuging, I finaly figured out what is going on.
Someone who wrote a ”Rondcube password changer driver for VestaCP” should convert a function to class in file /usr/share/roundcube/plugins/password/drivers/vesta.php
Plugin ‘passwod’ is expecting a class in that file, but there is only a function.
Anyway, here is a solution to fix this.
- Open file /usr/share/roundcube/plugins/password/drivers/vesta.php
-
Find a line that contain: function password_save($curpass, $passwd)
-
Delete that line
-
On the same place, paste this:
class rcube_vesta_password {
function save($curpass, $passwd)
- Find a line that contain: $fp = fsockopen(‘ssl://’ . $vesta_host, $vesta_port);
-
Delete that line
-
On that place paste this:
$errno = "";
$errstr = "";
$context = stream_context_create();
$result = stream_context_set_option($context, 'ssl', 'verify_peer', false);
$result = stream_context_set_option($context, 'ssl', 'verify_host', false);
$result = stream_context_set_option($context, 'ssl', 'allow_self_signed', true);
$fp = stream_socket_client('ssl://' . $vesta_host . ':'.$vesta_port, $errno, $errstr, 60, STREAM_CLIENT_CONNECT, $context);
- At the end of file write: }
-
Save the file.
Also, you need to change one configuration file, to make it works.
- Open /etc/roundcube/plugins/password/config.inc.php
- Find: $rcmail_config[‘password_vesta_host’] = ‘localhost’;
- Change localhost to your server hostname (if you are not sure what is your hostname, open /etc/hostname file)
- Also, if you changed Vesta port, change it here too, you will find in next line $rcmail_config[‘password_vesta_port’]
- Save the file.
Also, you need this:
Run as root in SSH console:
CODE: SELECT ALL
cp /var/lib/roundcube/plugins/jqueryui/config.inc.php.dist /var/lib/roundcube/plugins/jqueryui/config.inc.php
chown admin:admin /var/log/roundcube