2017-05-06 00:22:26 +02:00
|
|
|
Download Roundcube 1.3.x (beta at the time of Feb 2017) to the web htdocs directory and extract it (here `rc/`):
|
|
|
|
```
|
|
|
|
cd data/web/rc
|
|
|
|
wget -O - https://github.com/roundcube/roundcubemail/releases/download/1.3-beta/roundcubemail-1.3-beta-complete.tar.gz | tar xfvz -
|
|
|
|
# Change folder name
|
|
|
|
mv roundcubemail-1.3* rc
|
|
|
|
# Change permissions
|
|
|
|
chown -R root: rc/
|
|
|
|
```
|
|
|
|
|
|
|
|
Create a file `data/web/rc/config/config.inc.php` with the following content.
|
|
|
|
|
|
|
|
**Change the `des_key` parameter to a random value.** It is used to temporarily store your IMAP password.
|
|
|
|
|
|
|
|
```
|
|
|
|
<?php
|
|
|
|
error_reporting(0);
|
|
|
|
if (!file_exists('/tmp/mime.types')) {
|
|
|
|
file_put_contents("/tmp/mime.types", fopen("http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types", 'r'));
|
|
|
|
}
|
|
|
|
$config = array();
|
|
|
|
$config['db_dsnw'] = 'mysql://' . getenv('DBUSER') . ':' . getenv('DBPASS') . '@mysql/' . getenv('DBNAME');
|
|
|
|
$config['default_host'] = 'tls://dovecot';
|
|
|
|
$config['default_port'] = '143';
|
|
|
|
$config['smtp_server'] = 'tls://postfix';
|
|
|
|
$config['smtp_port'] = 587;
|
|
|
|
$config['smtp_user'] = '%u';
|
|
|
|
$config['smtp_pass'] = '%p';
|
|
|
|
$config['support_url'] = '';
|
|
|
|
$config['product_name'] = 'Roundcube Webmail';
|
|
|
|
$config['des_key'] = 'rcmail-!24ByteDESkey*Str';
|
|
|
|
$config['log_dir'] = '/dev/null';
|
|
|
|
$config['temp_dir'] = '/tmp';
|
|
|
|
$config['plugins'] = array(
|
|
|
|
'archive',
|
|
|
|
);
|
|
|
|
$config['skin'] = 'larry';
|
|
|
|
$config['mime_types'] = '/tmp/mime.types';
|
|
|
|
$config['imap_conn_options'] = array(
|
|
|
|
'ssl' => array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true)
|
|
|
|
);
|
|
|
|
$config['enable_installer'] = false;
|
|
|
|
$config['smtp_conn_options'] = array(
|
|
|
|
'ssl' => array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true)
|
|
|
|
);
|
|
|
|
```
|
|
|
|
|
|
|
|
Point your browser to `https://myserver/rc/installer` and follow the instructions.
|
|
|
|
Initialize the database and leave the installer.
|
|
|
|
|
|
|
|
**Delete the directory `data/web/rc/installer` after a successful installation!**
|
|
|
|
|
|
|
|
### Enable change password function in Roundcube
|
|
|
|
|
|
|
|
Open `data/web/rc/config/config.inc.php` and enable the password plugin:
|
|
|
|
|
|
|
|
```
|
|
|
|
...
|
|
|
|
$config['plugins'] = array(
|
|
|
|
'archive',
|
|
|
|
'password',
|
|
|
|
);
|
|
|
|
...
|
|
|
|
```
|
|
|
|
|
|
|
|
Open `data/web/rc/plugins/password/password.php`, search for `case 'ssha':` and add above:
|
|
|
|
|
|
|
|
```
|
|
|
|
case 'ssha256':
|
|
|
|
$salt = rcube_utils::random_bytes(8);
|
|
|
|
$crypted = base64_encode( hash('sha256', $password . $salt, TRUE ) . $salt );
|
|
|
|
$prefix = '{SSHA256}';
|
|
|
|
break;
|
|
|
|
```
|
|
|
|
|
|
|
|
Open `data/web/rc/plugins/password/config.inc.php` and change the following parameters (or add them at the bottom of that file):
|
|
|
|
|
|
|
|
```
|
|
|
|
$config['password_driver'] = 'sql';
|
|
|
|
$config['password_algorithm'] = 'ssha256';
|
|
|
|
$config['password_algorithm_prefix'] = '{SSHA256}';
|
|
|
|
$config['password_query'] = "UPDATE mailbox SET password = %P WHERE username = %u";
|
|
|
|
```
|
2017-06-11 02:31:01 +02:00
|
|
|
|
2017-06-11 06:40:03 +02:00
|
|
|
Optionally, you can add Roundcube's link to the mailcow Apps list.
|
2017-06-11 02:31:01 +02:00
|
|
|
To do this, open or create `data/web/inc/vars.local.inc.php` and add the following code-block:
|
|
|
|
|
2017-06-11 06:40:35 +02:00
|
|
|
*NOTE: Don't forget to add the `<?php` delimiter on the first line*
|
2017-06-11 02:31:01 +02:00
|
|
|
|
|
|
|
````
|
|
|
|
...
|
|
|
|
$MAILCOW_APPS = array(
|
|
|
|
array(
|
|
|
|
'name' => 'SOGo',
|
|
|
|
'link' => '/SOGo/'
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
'name' => 'Roundcube',
|
|
|
|
'link' => '/roundcube/'
|
|
|
|
)
|
|
|
|
);
|
|
|
|
...
|
|
|
|
````
|