mailman #29

  • By jose
  • Latest version (#29)
  • precise
  • Stable
  • Edge

Description

The GNU Mailing List Manager, which manages email discussion lists much
like Majordomo and Smartmail. Unlike most similar products, Mailman
gives each mailing list a web page, and allows users to subscribe,
unsubscribe, etc. over the web. Even the list manager can administer
his or her list entirely from the web. Mailman also integrates most
things people want to do with mailing lists, including archiving, mail
<-> news gateways, and so on. It has all of the features you expect
from such a product, plus integrated support for the web (including
web based archiving), automated bounce handling and integrated spam
prevention.


Overview

The GNU Mailing List Manager, which manages email discussion lists much like
Majordomo and Smartmail. Unlike most similar products, Mailman gives each
mailing list a web page, and allows users to subscribe, unsubscribe, etc. over
the web. Even the list manager can administer his or her list entirely from the
web. Mailman also integrates most things people want to do with mailing lists,
including archiving, mail <-> news gateways, and so on. It has all of the
features you expect from such a product, plus integrated support for the web
(including web based archiving), automated bounce handling and integrated spam
prevention.

Usage

To use this charm, you need to edit your config.yaml file, to make sure you put
the proper domain. After that, you can now proceed to deploy mailman by running:

juju deploy mailman

Once that has been done, mailman will be fully working, and you can access it by
going to the public address stated when you run:

juju status

I should remind you that the public address is the one for the mailman machine.

In order to find a list of mailing lists created, you can go to
http://yourdoma.in/cgi-bin/mailman/listinfo.

The administrative interface of the site can be found at
http://yourdoma.in/cgi-bin/mailman/admin

In order to create a new mailing list, go to
http://yourdoma.in/cgi-bin/mailman/create. The last field in the form will be a
password: this password is the one you will be setting with the password
configuration option.

Configuration

As this charms deploys postfix and Mailman in one single box, the configuration
variables for postfix also need to be set. For postfix you have the following
configuration variables:

domain: This is the domain you will be using for the server (what, in the
email address, goes after the @). It is example.com by default, so don't be
surprised if Mailman initially displays example.com as the host for the mailing
lists - it can be changed and all settings will change accordingly.

rootuser: The root username (it is usually root or ubuntu). Usually, doesn't
need to be touched.

ssl-key: The SSL key on your system, which should be stated as cat ~/smtpd.key

ssl-cert: The SSL certificate on your system, which should be stated as cat ~/smtpd.crt

cacert: The cacert.pem file you generated on your system, which should be
stated as cat ~/cacert.pem

cakey: The cakey.pem file you generated on your system, which should be
stated as cat ~/cakey.pem

password: This is the most important configuration variable. Without this
one being set, the charm will refuse to configure. This password will be the
master password for the site.

In order to set any of this configuration options, execute:

juju set mailman [option]=[value]

Known limitations and issues

Please, note that the charm will refuse to deploy in case a password has not
been supplied by the user. (Yep, I want to make sure you set a password!)

Adding TLS/SSL support

This charm has Transport Socket Layer (TLS) and Secure Socket Layer (SSL)
support for the postfix part. Even though this option is not necessary, it is
highly recommended. To add TLS/SSL support to postfix, just trigger the add-ssl
hook. For this script to work you will have to follow the instructions below for
generating keys/certificates (in case you do not have them yet) and placing them
in the correct directories.

Generating the keys and certificates

In case you want to add TLS/SSL to this charm you will need to use keys and SSL
certificates. If you already have those done, please skip to the bottom of this
step, otherwise please follow this instructions.

To generate self-signed certificates, you need to issue the following commands
on a Terminal:

touch smtpd.key
chmod 600 smtpd.key
openssl genrsa 1024 > smtpd.key
openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Please, note that the third and fourth commands have prompts you have to fill
in with the correct information.

Once you have generated the certificates, you can go ahead and execute the
following command:

juju set mailman ssl-key="`cat smtpd.key`" ssl-cert="`cat smtpd.crt`" cacert="`cat cacert.pem`" cakey="`cakey.pem`"

Renewing the keys and certificates

The renewal of keys and SSL certificates can be done in the same way that you
added SSL support. Just re-run the following command, specifying the new
certificates and keys locations instead of the old ones:

juju set mailman ssl-key="`cat smtpd.key`" ssl-cert="`cat smtpd.crt`" cacert="`cat cacert.pem`" cakey="`cakey.pem`"

Once you do that, your keys and SSL certificates should be updated.

Contact Information

Author: José Antonio Rey jose@ubuntu.com
Report bugs at: http://bugs.launchpad.net/charms
Location
: http://jujucharms.com

Configuration

rootuser
(string) The root username
root
domain
(string) Your domain (what goes after the @)
example.com
cakey
(string) This is the cakey.pem file you generated. Should go as `cat ~/cakey.pem`
cacert
(string) This is the cacert.pem file you generated. Should go as `cat ~/cacert.pem`
password
(string) Password for the create page
ssl-cert
(string) This is the SSL Certificate address on your system. Should go as `cat ~/smtpd.crt`
ssl-key
(string) This is the SSL Key address on your system. Should go as `cat ~/smtpd.key`