• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Mattia Zago

New Pleskian
Hi,
I have installed the latest Onyx version, web pro edition.

I'm currently facing several issues with the webmail, all of them seems to be random and unrelated to each other.

  • Roundcube (1.2.2):
    • Error 500 on login (only for certain users, and not always).
      Relevant log from /var/log/plesk-roundcube/errors:
      Code:
      [29-Dec-2016 09:18:20 UTC] PHP Fatal error:  Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.' in /usr/share/psa-roundcube/program/lib/Roundcube/rcube_user.php:491
      Stack trace:
      #0 /usr/share/psa-roundcube/program/lib/Roundcube/rcube_user.php(491): DateTime->__construct('now')
      #1 /usr/share/psa-roundcube/program/include/rcmail.php(619): rcube_user->failed_login()
      #2 /usr/share/psa-roundcube/index.php(118): rcmail->login('********', '********', 'localhost', true)
      #3 {main}
      From the log it may seems that the password is incorrect, except that is not, and it works until the user try to add filters or managing the internal folders.
      As a side note: why are you printing the full credentials in a system log?!!?!?!?!
    • Users are unable to subscribe to their own folders.
      Symptoms: In the email panel only the inbox folder is shown.
      Error:
      roundcube_error1.png

      Logs: There aren't relevant logs in /var/log/plesk-roundcube/errors and neither in /var/log/httpd/error_log
  • Horde (6.2.15):
    • Some users are forced out when trying to access to inbox.
      Symptoms:
      horde_nopermission.png

      Logs: There aren't any relevant logs from /var/log/psa-horde/psa-horde.log and neither from /var/log/httpd/error_log
      Note: the last successful operation was the creation of a custom filter "from x move to folder y".
      This user
  • On the top of everything else, the push notifications are not working. I've tried with several apps on Android and on Thunderbird and Outlook as desktop clients. Any account must be refreshed manually in order to download the email (or forced with the fetch mechanism, which doesn't guarantee real time service). Maybe in this case I'm missing something in the configuration.

Configuration files in the first comment
 
Last edited:

Configuration Files:
/etc/psa-webmail/horde/horde.conf (standard, untouched)
Code:
Alias   = horde
Name    = Horde
Version = 6.2.15
Release = cos7.build1700161026.16
Docroot = /usr/share/psa-horde
Enabled = true
/etc/psa-webmail/horde/horde/conf.php (standard, untouched)
Code:
<?php
// Copyright 1999-2016. Parallels IP Holdings GmbH. All Rights Reserved.
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
// $Id: ******************************************************* $
$conf['vhosts'] = false;
$conf['debug_level'] = E_ERROR;
$conf['max_exec_time'] = 0;
$conf['compress_pages'] = true;
$conf['secret_key'] = '*******************************************';
$conf['umask'] = 077;
$conf['testdisable'] = true;
$conf['use_ssl'] = 2;
$conf['server']['name'] = $_SERVER['SERVER_NAME'];
$conf['urls']['token_lifetime'] = 30;
$conf['urls']['hmac_lifetime'] = 30;
$conf['urls']['pretty'] = false;
$conf['safe_ips'] = array();

$conf['session']['name'] = 'Horde';
$conf['session']['use_only_cookies'] = true;
$conf['session']['timeout'] = 0;
$conf['session']['cache_limiter'] = 'nocache';
$conf['session']['max_time'] = 72000;

$conf['cookie']['domain'] = $_SERVER['SERVER_NAME'];
$conf['cookie']['path'] = '/';

$conf['sql']['username'] = 'horde';
if (!($fd = fopen('/etc/psa-webmail/horde/.horde.shadow', 'r'))) {
  echo "<script>alert('Unable to get webmail password!')</script>";
  exit();
}
fscanf($fd, "%s", $buff);
fclose($fd);
$conf['sql']['password'] = preg_replace("/\n/", "", $buff);

$conf['sql']['socket'] = '/var/lib/mysql/mysql.sock';
$conf['sql']['protocol'] = 'unix';
$conf['sql']['database'] = 'horde';
$conf['sql']['charset'] = 'utf-8';
$conf['sql']['ssl'] = false;
$conf['sql']['splitread'] = false;
$conf['sql']['phptype'] = 'mysql';
$conf['nosql']['phptype'] = false;
$conf['ldap']['useldap'] = false;
$conf['auth']['admins'] = array();
$conf['auth']['checkip'] = false;
$conf['auth']['checkbrowser'] = true;
$conf['auth']['list_users'] = 'input';
$conf['auth']['resetpassword'] = true;
$conf['auth']['alternate_login'] = false;
$conf['auth']['redirect_on_logout'] = false;
$conf['auth']['params']['username'] = '';
$conf['auth']['params']['requestuser'] = true;
$conf['auth']['params']['app'] = 'imp';
$conf['auth']['driver'] = 'application';
$conf['auth']['params']['count_bad_logins'] = false;
$conf['auth']['params']['login_block'] = false;
$conf['auth']['params']['login_block_count'] = 5;
$conf['auth']['params']['login_block_time'] = 5;
$conf['signup']['allow'] = false;
$conf['log']['priority'] = 'ERR';
$conf['log']['ident'] = 'HORDE';
$conf['log']['name'] = '/var/log/psa-horde/psa-horde.log';
$conf['log']['type'] = 'file';
$conf['log']['params']['append'] = true;
$conf['log']['enabled'] = true;
$conf['log_accesskeys'] = false;
$conf['prefs']['maxsize'] = 65535;
$conf['prefs']['params']['driverconfig'] = 'horde';
$conf['prefs']['driver'] = 'Sql';
$conf['alarms']['params']['driverconfig'] = 'horde';
$conf['alarms']['params']['ttl'] = 300;
$conf['alarms']['driver'] = 'Sql';
$conf['group']['driverconfig'] = 'horde';
$conf['group']['driver'] = 'Sql';
$conf['perms']['driverconfig'] = 'horde';
$conf['perms']['driver'] = 'Sql';
$conf['share']['no_sharing'] = true;
$conf['share']['auto_create'] = true;
$conf['share']['world'] = true;
$conf['share']['any_group'] = false;
$conf['share']['hidden'] = false;
$conf['share']['cache'] = false;
$conf['share']['driver'] = 'Sqlng';
$conf['cache']['default_lifetime'] = 86400;
$conf['cache']['params']['sub'] = 0;
$conf['cache']['driver'] = 'File';
$conf['cache']['use_memorycache'] = '';
$conf['cachecssparams']['url_version_param'] = true;
$conf['cachecss'] = false;
$conf['cachejsparams']['url_version_param'] = true;
$conf['cachejs'] = false;
$conf['cachethemes'] = false;
$conf['lock']['params']['driverconfig'] = 'horde';
$conf['lock']['driver'] = 'Sql';
$conf['token']['params']['driverconfig'] = 'horde';
$conf['token']['driver'] = 'Sql';

// send email with authorization on SMTP server
$conf['mailer']['params']['host'] = 'localhost';
$conf['mailer']['params']['port'] = 25;
$conf['mailer']['params']['auth'] = true;
$conf['mailer']['type'] = 'smtp';

$conf['history']['params']['driverconfig'] = 'horde';
$conf['history']['driver'] = 'Sql';
$conf['davstorage']['params']['driverconfig'] = 'horde';
$conf['davstorage']['driver'] = 'Sql';
$conf['vfs']['params']['driverconfig'] = 'horde';
$conf['vfs']['type'] = 'Sql';
$conf['sessionhandler']['type'] = 'Builtin';
$conf['sessionhandler']['hashtable'] = false;
$conf['spell']['driver'] = 'aspell';
$conf['gnupg']['keyserver'] = array('pool.sks-keyservers.net');
$conf['gnupg']['timeout'] = 10;
$conf['openssl']['cafile'] = '/certs/ca-bundle.crt';
$conf['openssl']['path'] = '/usr/bin/openssl';
$conf['nobase64_img'] = false;
$conf['image']['driver'] = false;
$conf['exif']['driver'] = 'Bundled';
$conf['mime']['magic_db'] = ' /usr/share/misc/magic';
$conf['timezone']['location'] = 'ftp://ftp.iana.org/tz/tzdata-latest.tar.gz';
$conf['problems']['email'] = 'root@localhost';
$conf['problems']['maildomain'] = 'localhost';
$conf['problems']['tickets'] = false;
$conf['problems']['attachments'] = true;
$conf['menu']['links']['help'] = 'all';
$conf['menu']['links']['prefs'] = 'authenticated';
$conf['menu']['links']['problem'] = 'never';
$conf['menu']['links']['login'] = 'all';
$conf['menu']['links']['logout'] = 'authenticated';
$conf['portal']['fixed_blocks'] = array();
$conf['accounts']['driver'] = 'null';
$conf['user']['verify_from_addr'] = false;
$conf['user']['select_view'] = true;
$conf['facebook']['enabled'] = false;
$conf['twitter']['enabled'] = false;
$conf['urlshortener'] = false;
$conf['weather']['provider'] = false;
$conf['imap']['enabled'] = false;
$conf['imsp']['enabled'] = false;
$conf['kolab']['enabled'] = false;
$conf['hashtable']['driver'] = 'none';
$conf['activesync']['enabled'] = false;
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */

/etc/psa-webmail/roundcube/php.ini
Code:
; ATTENTION!
;
; DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY,
; SO ALL YOUR CHANGES WILL BE LOST THE NEXT TIME THE FILE IS GENERATED.

[PHP]
soap.wsdl_cache_limit = 5
cli_server.color = On
mysql.allow_persistent = On
mysqli.max_persistent = -1
session.bug_compat_42 = Off
mysql.connect_timeout = 60
session.use_only_cookies = 1
register_argc_argv = Off
mssql.min_error_severity = 10
session.name = PHPSESSID
mysqlnd.collect_statistics = On
session.hash_function = 0
session.gc_probability = 1
log_errors_max_len = 1024
mssql.secure_connection = Off
pgsql.max_links = -1
variables_order = "GPCS"
ldap.max_links = -1
sybct.allow_persistent = On
max_input_time = 60
odbc.max_links = -1
session.save_handler = files
mysqli.cache_size = 2000
pgsql.auto_reset_persistent = Off
magic_quotes_gpc = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
auto_prepend_file =
sendmail_path = /usr/sbin/sendmail -t -i
sybct.min_client_severity = 10
pgsql.max_persistent = -1
auto_globals_jit = On
soap.wsdl_cache_ttl = 86400
allow_url_fopen = On
zend.enable_gc = On
mysqli.allow_persistent = On
tidy.clean_output = Off
display_startup_errors = Off
user_dir =
session.cookie_lifetime = 0
mysqli.max_links = -1
default_socket_timeout = 60
session.serialize_handler = php
session.hash_bits_per_character = 5
unserialize_callback_func =
pdo_mysql.cache_size = 2000
default_mimetype = "text/html"
session.cache_expire = 180
max_execution_time = 30
mail.add_x_header = On
upload_max_filesize = 32M
ibase.max_links = -1
safe_mode = Off
suhosin.session.encrypt = Off
zlib.output_compression = Off
ignore_repeated_errors = Off
odbc.max_persistent = -1
mssql.compatability_mode = Off
file_uploads = On
ibase.max_persistent = -1
mysqli.reconnect = Off
mssql.allow_persistent = On
mysql.max_persistent = -1
mssql.max_links = -1
session.use_trans_sid = 0
mysql.default_socket =
mysql.max_links = -1
odbc.defaultbinmode = 1
sybct.max_persistent = -1
output_buffering = 4096
ibase.timeformat = "%H:%M:%S"
doc_root =
log_errors = On
mysql.default_host =
request_order = "GP"
display_errors = Off
mysqli.default_socket =
mysqli.default_pw =
html_errors = On
ibase.allow_persistent = 1
sybct.min_server_severity = 10
mysql.allow_local_infile = On
post_max_size = 33M
asp_tags = Off
memory_limit = 64M
short_open_tag = Off
SMTP = localhost
precision = 14
session.bug_compat_warn = Off
mssql.min_message_severity = 10
session.gc_maxlifetime = 21600
magic_quotes_runtime = Off
allow_url_include = Off
mysqli.default_host =
mysqli.default_user =
session.referer_check =
register_globals = Off
pgsql.log_notice = 0
mysql.default_port =
pgsql.ignore_notice = 0
mysql.trace_mode = Off
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
engine = On
odbc.allow_persistent = On
ibase.dateformat = "%Y-%m-%d"
track_errors = Off
max_file_uploads = 20
pgsql.allow_persistent = On
session.auto_start = Off
auto_append_file =
disable_classes =
pdo_mysql.default_socket =
mysql.default_password =
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
smtp_port = 25
sql.safe_mode = Off
session.cookie_path = /
expose_php = On
report_memleaks = On
session.gc_divisor = 500
mssql.max_persistent = -1
serialize_precision = 17
odbc.check_persistent = On
sybct.max_links = -1
mysqlnd.collect_memory_statistics = Off
session.cookie_domain =
session.cookie_httponly =
session.cache_limiter = nocache
enable_dl = Off
mysqli.default_port = 3306
disable_functions =
odbc.defaultlrl = 4096
soap.wsdl_cache_enabled = 1
soap.wsdl_cache_dir = "/tmp"
session.use_cookies = 1
mysql.default_user =
mysql.cache_size = 2000
implicit_flush = Off
ignore_repeated_source = Off
bcmath.scale = 0
/etc/psa-webmail/roundcube/roundcube.conf
Code:
Alias   = roundcube
Name    = roundcube
Version = 1.2.2
Release = cos7.build1700161122.21
Docroot = /usr/share/psa-roundcube
Enabled = true
 
29-Dec-2016 09:18:20 UTC] PHP Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.

Try adding your timezone in /usr/share/psa-roundcube/config/config.inc.php. For example:

Code:
date_default_timezone_set('Europe/Athens');
 
Back
Top