1

I've installed GNU Mailman 3 on Debian 11 using apt install mailman3-full. I'm now trying to set up the web UI for it, as list admins will not want to use the command line to manage lists.

The Mailman docs say to consult the Postorius docs. The Postorius docs seem to cover initial Postorius configuration up to creating a Django site, but give no details on how this integrates with Mailman 3 — and surely the mailman3-full package, which includes mailman3-web, should already have done this?

The page at https://packages.debian.org/buster/mailman3-web implies that the web UI is visible at http://«host»/mailman3, but it is not. It does say it's optional, but I can't find any information on how to configure this.

lsof -nP -iTCP -sTCP:LISTEN shows ports 8001 and 8024 are listening:

python3 20949        list   23u  IPv4  97450      0t0  TCP 127.0.0.1:8024 (LISTEN)
python3 20953        list   24u  IPv4  97452      0t0  TCP 127.0.0.1:8001 (LISTEN)
python3 20963        list   24u  IPv4  97452      0t0  TCP 127.0.0.1:8001 (LISTEN)
python3 20964        list   24u  IPv4  97452      0t0  TCP 127.0.0.1:8001 (LISTEN)

but 8001 returns JSON and 8024 is Mailman's internal LMTP port. There doesn't seem to be any web UI exposed.

I'm not a Python developer, and know little of uWSGI, which is mentioned on the page. The uWSGI documentation is massive, and doesn't really have any sections which look like they might be helpful.

I can't find any instructions on how to configure the mailman3-full package so there's a working web UI — everything seems to be based around installing mailman3 from scratch, and assumes a good level of Python knowledge to boot.

Please could somebody tell me how to get the web UI working? (Or, failing that, point me to a mailing list package that works similarly and isn't Mailman?)

John Y
  • 155

1 Answers1

1

Installation instructions for Debian are provided in /usr/share/doc/mailman3-web/README.Debian.gz:

After installing mailman3-web, a few remaining steps are required to get a fully working Mailman3 suite:

  • The mail transport agent (MTA) needs to be configured to deliver list mail to mailman3. See /usr/share/doc/mailman3/README.Debian for further information.

  • The web server (either Apache or Nginx) needs to be configured. A snippet for Apache2 is included in /etc/mailman3/apache.conf, it may be included into Apache2 configuration (eg. default vhost) to serve mailman3-web upon installation. The Nginx file is a full vhost file that needs to be configured a little. It is located in /etc/mailman3/nginx.conf, and may be modified in place. Then, a symlink into /etc/nginx/sites-enabled and mailman3 will be ready. Note that the Apache2 snippet and the Nginx configuration differ also in the available urls they provide. The Apache2 snippet provides a /mailman3/ subdirectory as other sites may be present on the host. The Nginx file provides a standalone vhost, hence the /mailman3 suburl is expendable and thus not present, except for aliasing static files.

  • The Hyperkitty configuration snippet needs to be added to the Mailman3 configuration file at /etc/mailman3/mailman.cfg. This probably already has been done automatically during configuragion of the mailman3 package. If in doubt, reconfigure mailman3:

    # dpkg-reconfigure mailman3
    
  • A superuser for the Postorius web interface needs to be configured. This can be done during configuration of this mailman3-web package. If in doubt, reconfigure mailman3-web:

    # dpkg-reconfigure mailman3-web
    

    Alternatively, a superuser can be created with the following command:

    # django-admin createsuperuser --pythonpath /usr/share/mailman3-web \
        --settings settings --username <user> --email <mail-addr>
    
Stephen Kitt
  • 434,908
  • Ah, thanks — I was looking online for the instructions, and never really thought that there might be something in /usr/share/doc that wasn't mirrored on the web… – John Y May 30 '22 at 07:15