• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Little HowTo to get RoundCube work

mk.keck

New Pleskian
Hi all there,

I've successfully added Roundcube as default webmail. Here's a little howto:

1.) Download Roundcube 0.3beta
It's really stable and has new api for plugins.
Perhabs you may also use SVN-Version and keep it updated. But I've not tested.

2.) Unpack RoundCube on your local machine...
... NOT on your server, because you must make some changes.

3.) Login into your Plesk account
3.1.) Click on the "Home" and than on "Database Servers"
3.2.) Click in the server list on the icon "... access this server via DB WebAdmin"
in the line "Local MySQL server (default for MySQL)"
3.3.) phpMyAdmin should be opened
3.4.) Create a new database called "roundcube"
3.5.) Browse on your local machine to the folder "/roundcubemail/SQL"
and oben the file "mysql.initial.sql" with notepad.
3.6.) Copy all and paste it, after clicking on the "SQL"-Tab in phpMyAdmin,
to the large textarea. Than click "Go".
Now you've created our roundcube database.
3.7.) In phpMyAdmin click in left frame on the "Home"-icon and select in right
frame "Privileges". In the "User owerview" click on the icon "Add a new user".
3.8.) Add like follow:
- Username (use text field): yourusername
- Host (Local): localhost
- Password (use text field): yourpassword
- Retype: yourpassword
- Click "Go".
3.9.) Scroll down to "Database-specific privileges" and select "roundcube"
in the dropdown list called "Add privileges on the following database".
After that click on "Check All" in "Database-specific privileges" and than click on "Go"
3.10.) Check your Privileges again:
- Click on the Tab "Privileges"
- You should see in the table yourusername - localhost - Yes - USAGE - No

4.) Create config/db.inc.php for RoundCube:
On your local machine copy the folow lines to the new file "/roundcubemail/config/db.inc.php"
<?php

/**
* -----------------------------------------------------------------------
* Configuration file for database access
*
* This file is part of the RoundCube Webmail client
* Copyright (C) 2005-2009, RoundCube Dev. - Switzerland
* Licensed under the GNU GPL
* -----------------------------------------------------------------------
*/

$rcmail_config = array();

$rcmail_config['db_dsnw'] = 'mysql://yourusername:yourpassword@localhost/roundcube';
$rcmail_config['db_dsnr'] = '';

$rcmail_config['db_max_length'] = 512000;
$rcmail_config['db_persistent'] = FALSE;

$rcmail_config['db_table_users'] = 'users';
$rcmail_config['db_table_identities'] = 'identities';
$rcmail_config['db_table_contacts'] = 'contacts';
$rcmail_config['db_table_session'] = 'session';
$rcmail_config['db_table_cache'] = 'cache';
$rcmail_config['db_table_messages'] = 'messages';

$rcmail_config['db_sequence_users'] = 'user_ids';
$rcmail_config['db_sequence_identities'] = 'identity_ids';
$rcmail_config['db_sequence_contacts'] = 'contact_ids';
$rcmail_config['db_sequence_cache'] = 'cache_ids';
$rcmail_config['db_sequence_messages'] = 'message_ids';
?>


5.) Create config/main.inc.php for RoundCube:
On your local machine copy the folow lines to the new file "/roundcubemail/config/main.inc.php"

<?php

/**
* -----------------------------------------------------------------------
* Main configuration file
*
* This file is part of the RoundCube Webmail client
* Copyright (C) 2005-2009, RoundCube Dev. - Switzerland
* Licensed under the GNU GPL
* -----------------------------------------------------------------------
*/

$rcmail_config = array();

$tmp = strtolower($_SERVER['HTTP_HOST']);
$tmp = str_replace('www.', '', $tmp);
$tmp = str_replace('webmail.', '', $tmp);
$rcmail_config['real_host_name'] = $tmp;
$rcmail_config['real_mail_host'] = 'mail.' . $tmp;
unset($tmp);

$rcmail_config['default_host'] = $rcmail_config['real_mail_host'];
$rcmail_config['default_port'] = 143;

$rcmail_config['username_domain'] = ''; // $rcmail_config['real_host_name'];
$rcmail_config['mail_domain'] = ''; // $rcmail_config['real_host_name'];

$rcmail_config['smtp_server'] = $rcmail_config['real_mail_host'];
$rcmail_config['smtp_port'] = 25;
$rcmail_config['smtp_user'] = '%u';
$rcmail_config['smtp_pass'] = '%p';
$rcmail_config['smtp_auth_type'] = '';
$rcmail_config['smtp_helo_host'] = '';
$rcmail_config['smtp_log'] = TRUE;

$rcmail_config['imap_auth_type'] = null;
$rcmail_config['imap_root'] = null;
$rcmail_config['imap_delimiter'] = null;

$rcmail_config['include_host_config'] = FALSE;
$rcmail_config['sendmail_delay'] = 30;

$rcmail_config['debug_level'] = 1;
$rcmail_config['log_dir'] = 'logs/';
$rcmail_config['log_date_format'] = 'd-M-Y H:i:s O';
$rcmail_config['log_driver'] = 'file';
$rcmail_config['log_logins'] = FALSE;
$rcmail_config['syslog_id'] = 'roundcube';
$rcmail_config['syslog_facility'] = LOG_USER;

$rcmail_config['temp_dir'] = 'temp/';
$rcmail_config['plugins_dir'] = 'plugins/';
$rcmail_config['plugins'] = array(
'emoticons',
'markasjunk'
);

$rcmail_config['enable_caching'] = TRUE;
$rcmail_config['message_cache_lifetime'] = '14d';
$rcmail_config['list_cols'] = array('subject', 'from', 'date', 'size', 'flag', 'attachment');
$rcmail_config['skin_include_php'] = FALSE;

$rcmail_config['auto_create_user'] = TRUE;
$rcmail_config['des_key'] = '9IDJVL8%nf6%RTgOwpyfkuDv';
$rcmail_config['double_auth'] = FALSE;
$rcmail_config['ip_check'] = FALSE;
$rcmail_config['keep_alive'] = 60;
$rcmail_config['min_keep_alive'] = 60;
$rcmail_config['session_lifetime'] = 10;
$rcmail_config['session_domain'] = '.' . $rcmail_config['real_host_name'];
$rcmail_config['virtuser_file'] = '';
$rcmail_config['virtuser_query'] = '';

$rcmail_config['language'] = null;
$rcmail_config['date_short'] = 'D H:i';
$rcmail_config['date_long'] = 'd.m.Y H:i';
$rcmail_config['date_today'] = 'H:i';
$rcmail_config['useragent'] = 'RoundCube Webmail/0.3-beta';
$rcmail_config['quota_zero_as_unlimited'] = TRUE;
$rcmail_config['create_default_folders'] = TRUE;
$rcmail_config['check_all_folders'] = FALSE;
$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
$rcmail_config['protect_default_folders'] = TRUE;
$rcmail_config['drafts_mbox'] = 'Drafts';
$rcmail_config['junk_mbox'] = 'Junk';
$rcmail_config['sent_mbox'] = 'Sent';
$rcmail_config['trash_mbox'] = 'Trash';
$rcmail_config['delete_always'] = FALSE;
$rcmail_config['default_charset'] = 'ISO-8859-1';
$rcmail_config['enable_spellcheck'] = TRUE;
$rcmail_config['spellcheck_engine'] = 'googlie';
$rcmail_config['spellcheck_languages'] = NULL;
$rcmail_config['spellcheck_uri'] = '';
$rcmail_config['address_book_type'] = 'sql';
$rcmail_config['autocomplete_addressbooks'] = array('sql');
$rcmail_config['ldap_public'] = array();
$rcmail_config['dont_override'] = array();

$rcmail_config['enable_installer'] = FALSE;
$rcmail_config['generic_message_footer'] = '';
$rcmail_config['http_received_header'] = FALSE;
$rcmail_config['http_received_header_encrypt'] = FALSE;

$rcmail_config['identities_level'] = 0;
$rcmail_config['mail_header_delimiter'] = NULL;
$rcmail_config['max_pagesize'] = 500;

$rcmail_config['mdn_requests'] = 0;
$rcmail_config['mime_magic'] = '/usr/share/misc/magic';
$rcmail_config['product_name'] = 'RoundCube WebMail';
$rcmail_config['skin'] = 'default';

$rcmail_config['draft_autosave'] = 300;
$rcmail_config['dst_active'] = (bool)date('I');
$rcmail_config['flag_for_deletion'] = FALSE;
$rcmail_config['focus_on_new_message'] = TRUE;
$rcmail_config['htmleditor'] = TRUE; // FALSE;
$rcmail_config['inline_images'] = TRUE;
$rcmail_config['logout_expunge'] = FALSE;
$rcmail_config['logout_purge'] = FALSE;
$rcmail_config['message_sort_col'] = 'date';
$rcmail_config['message_sort_order'] = 'DESC';
$rcmail_config['mime_param_folding'] = 0;
$rcmail_config['pagesize'] = 50;
$rcmail_config['prefer_html'] = TRUE;
$rcmail_config['prettydate'] = FALSE; // TRUE;
$rcmail_config['preview_pane'] = TRUE; // FALSE;
$rcmail_config['read_when_deleted'] = TRUE;
$rcmail_config['show_images'] = 2; // 0;
$rcmail_config['skip_deleted'] = FALSE;
$rcmail_config['timezone'] = 'auto';
?>


6.) Create imp/login.php and imp/index.php for RoundCube:
With this new files, it is posibble to click on Plesk "Open Webmail" Link.
On your local machine copy the folow lines to the new file "/roundcubemail/imp/login.php" AND "/roundcubemail/imp/index.php"
<?php
header('Location: ./../');
exit();
?>


7.) Uploading ...
7.1) Backup the original psa-horde!
Browse on your server, best is if you use WinSCP (logged in as root), to the folder "/usr/share/" and rename "psa-horde" to "psa-horde-BK".
7.2) Create in "usr/share/" a new folder "ps-horde".
7.3) Open on your local machine the folder of "roundcube/".
7.4) Select all files and upload them to your server.

8.) Comments
- Note: You make this on your own risk
- Note: Updates on your new "psa-horde" won't work, it's in reality "roundcube" :)
- Note: Before you make an update/upgrade with Plesk make a backup of your folder "psa-horde"
- Please comment if any of this HowTo is not clear
- Please ask, if you have problems
- Sorry for my bad english ....

Regards
Michael
 
Hi mk.keck

Thank you for the detailed instructions. I have managed to install Roundcube on windows Plesk server using your doc.
 
mk.keck, your instructions replace horde. However are you able to run both roundcube and horde co-currently?

Better still run rcube on different domain but link webmail.domain to that domain? That is what trying to do since its the only viable approach when you have multiple servers.
 
Back
Top