roundcube #2

  • By charmers
  • Latest version (#2)
  • precise
  • Stable
  • Edge

Description

RoundCube Webmail is a browser-based multilingual IMAP client with an
application-like user interface. It provides full functionality
expected from an e-mail client, including MIME support, address book,
folder manipulation and message filters. The user interface is fully
skinnable using XHTML and CSS 2.


Juju charm Roundcube
author: Nick Barcet nick.barcet@canonical.com

Usage

  1. Setup your site specific parameters in roundcube.yaml
    vi roundcube.yaml
    

A list of all settable parameter with description is available using

    juju get roundcube

or listing config.yaml

  1. Deployment with mysql and haproxy

    juju bootstrap
    juju deploy --config roundcube.yaml roundcube
    juju deploy mysql
    juju deploy haproxy
    juju add-relation mysql roundcube
    juju add-relation roundcube haproxy
    juju expose haproxy
    
  2. Accessing your new roundcube site should be ready at
    http://[haproxy-machine-addr]/. To find out the public address of haproxy,
    look for it in the output of the 'juju status' command.

Note about HTTPS

to enable https access to your site, you can set "do_https" to the value of the
https port you want to listen to (443 is the default for https). You will also
need to provide the paths to existing SSLCertificate (ssl_crt) and key
(ssl_key). This means that you will have to use juju scp to upload your
certificates before making the config changes and adding other units.

You can also use the default ssl snake oil certificates provided by the ssl-cert
package:

# This config activates https on port 443
do_https: 443
ssl_crt: /etc/ssl/certs/ssl-cert-snakeoil.pem 
ssl_key: /etc/ssl/private/ssl-cert-snakeoil.key

If the certificate you provide is invalid, apache will fail to load. If the
paths you provide are invalid, the https site will no be activated.

juju debug-log

should be your friend, go have a look.

The certificates should be uploaded to the first unit you start, a peer relation
between all units will ensure that they will be reused identically everywhere.

Configuration

db_max_length
(int) maximum length of a query in bytes
512000
smtp_port
(int) SMTP port.
25
ssl_key
(string) Full path (in the running unit) of the certificate key file that Apache will use for https. The file needs to be placed using the juju scp command.
smtp_pass
(string) SMTP password (if required) if you use %p as the password Roundcube will use the current user's password for login
%p
default_host
(string) IMAP mail host chosen to perform the log-in
imap.domain.tld
db_persistent
(boolean) use persistent db-connections
optimize_http
(int) enables mod_deflate, mod_headers and mod_expires as recommended for production use.
1
smtp_server
(string) SMTP mail host to send emails
smtp.server.tld
do_https
(int) Will setup apache with ssl vhost on the port value specified if different from 0 (default ssl port is 443)
default_port
(int) IMAP server port
143
smtp_user
(string) SMTP username (if required) if you use %u as the username Roundcube will use the current username for login
%u
force_https
(boolean) with this option enabled, all non-secure connections will be redirected. set the port for the ssl connection as value of this option if it differs from the default 443
ssl_crt
(string) Full path (in the running unit) of the certificate file that Apache will use for https. The file needs to be placed using the juju scp command.
use_https
(boolean) tell PHP that it should work as under secure connection even if it doesn't recognize it as secure ($_SERVER['HTTPS'] is not set) e.g. when you're running Roundcube behind a https proxy