Mailman3

From Run Your Own
Jump to navigation Jump to search

Installing Mailman3 on Debian stable

gather around for I have to tell you,
a tale of trial and error,
of how a brave sysadmin one day had to do
the config of despair and terror. 

rra 

Good to have links

Update repos and install packages

Install a webserver and your database backend:

$ sudo apt install nginx mariadb

Then install mailman3 and mailman3-web

$ sudo apt install mailman3 mailman3-web --no-install-recommmends

The first package contains all the backend stuff, whilst mailman3-web contains hyperkitty and postorious web interfaces.

You will get prompted about autoconfiguring database backends, accept that for now. We can change it later.

You will find all the necessary config files are in /etc/mailman3 and /usr/share/mailman3 or /usr/share/mailman3-web

Configure Mailman3

Next, the Hyperkitty configuration snippet needs to be added to the Mailman3 configuration file in /etc/mailman3/mailman.cfg.

Verify these lines are present at the bottom of the mailman.cfg file:

[archiver.hyperkitty]
class: mailman_hyperkitty.Archiver
enable: yes
configuration: /etc/mailman3/mailman-hyperkitty.cfg

If it is not there run $ sudo dpkg-reconfigure mailman3

(if running this, select NOT to reinstall db and YES to add snippet)

Configure Mailman3-web

$ sudo dpkg-reconfigure mailman3-web

  • NO to reinstall db,
  • accept we.lurk.org for domain,
  • set domain name for sender email address to we.lurk.org (instead of localhost.local),
  • set postorius superuser to:
    • User name: yourusername
    • Password: yourpassword
    • Email address: youremail@yourdomain.xxx
  • Selected nginx for web server,
  • YES to restart web server

Configure NGINX

Copy /etc/mailman3.conf to /etc/nginx/sites-enabled/we.lurk.org.

Then in that file replaces all instances of mail.example.com to we.lurk.org.

Also ensure you enable the HTTPS settings and point towards the right certificate.

Make a folder /var/log/nginx/mailman3/ and make sure nginx can access it.


TODO

  • set up the proper database (mysql/mariadb)
  • copy existing db to this new system to see if we can import the data
  • more config and tweaks?