Installation

Note

The backend requires Python 3.4 or newer while the frontend requires Python 2.7

If you want to install a production setup please continue reading. If you instead want to end up with a development setup or want to have a bleeding edge production installation follow the developer instructions.

Note

For now no packages exist that you can install using your package manager, so you will have to use pip to install Mailman.

Backend

It is recommended to run mailman using a dedicated user. Consider using the user mailman with the home directory /var/lib/mailman

If you wish you can use a virtual enviroment which is considered to be best practice for deploying Python applications:

$ python -m venv /var/lib/mailman/env $ source /var/lib/mailman/env/bin/activate

Mailman can be installed using:

$ pip install mailman

If you whish to use the new archiver Hyperkitty, you need to install a plugin:

$ pip install mailman-hyperkitty-plugin

Frontend

This guide assumes the frontend is being installed to /srv/django/mailman.

Clone the settings from mailman-suite:

$ git clone git@gitlab.com/thelinuxguy/mailman-suite /srv/django/mailman

Create a virtualenv in /srv/django/mailman/env/:

$ virtualenv -p python2 /srv/django/mailman/env $ source /srv/django/mailman/env

At this point you need to decide what you want to install. The frontend of Mailman 3 is split into two projects. You can choose to install only one or both. Hyperkitty is the new archiver and Postorius is the new management interface. Since there is no known alternative to Postorius, you probably want to use it, while you may choose to not provide archives in which case omit hyperkitty from the command:

$ pip install postorius hyperkitty

You will need a Django project to deploy the frontend. At this point you should make yourself familiar with Django which provides excellent documentation. You should at least read the section about Settings.