Mailman 3.0 – a long time coming

The Postman Cometh

No Package Service

Although Mailman 3 has now been available since May 2015, there are still no easily installable packages for the major distributions, although everything has been collected together at GitLab, as previously mentioned. The following packages must be installed from the repository along with all associated dependencies:

  • mailman3,
  • mailman3-hyperkitty (an adapter between Mailman 3 and HyperKitty),
  • hyperkitty,
  • postorius,

Additionally, the packages python-whoosh and python-BeautifulSoup – which should have been installed automatically as dependencies – must be present. Apache (httpd) is used as a web server, and the mod_wsgi module is for Python adaptations.

The packages install the startup scripts for the services, as well as configurations for logrotate and Postorius and HyperKitty in /etc/httpd/conf.d/. There you will find the configuration for the WSGI connection:

WSGIScriptAlias /hyperkitty   /etc/hyperkitty/sites/default/wsgi.py
WSGIDaemonProcess hyperkitty   threads=25 python-path=  /etc/hyperkitty/sites/default

When working with the pre-made packages, you only have to correct a few minor errors in postorius.conf and hyperkitty.conf. Apache httpd version 2.4.x is used in CentOS 7, so instead of the information contained for Apache 2.2,

Order deny,allow
Allow from all

the administrator needs this 2.4 counterpart:

Require all granted

When installing Postorius and HyperKitty in parallel on the same server, the aliases for /static (and for the favicon.ico) have overlapping configurations. Simply use individual aliases here for the required directories below /static, as shown in Listing 1. The admin and browserid directories from the Postorius package are also used automatically via the eponymous HyperKitty directories.

Listing 1

Using Aliases

# for hyperkitty
Alias /static/admin               /var/lib/hyperkitty/sites/default/static/admin
Alias /static/browserid           /var/lib/hyperkitty/sites/default/static/browserid
Alias /static/CACHE               /var/lib/hyperkitty/sites/default/static/CACHE
Alias /static/django_extensions   /var/lib/hyperkitty/sites/default/static/django_extensions
Alias /static/hyperkitty          /var/lib/hyperkitty/sites/default/static/hyperkitty
Alias /static/paintstore          /var/lib/hyperkitty/sites/default/static/paintstore
Alias /static/rest_framework      /var/lib/hyperkitty/sites/default/static/rest_framework
# for postorius
Alias /static/postorius           /var/lib/postorius/sites/default/static/postorius

Another problem with HyperKitty emerged in later tests. At the start, it was possible neither to read its settings nor to create the database or cache files. Unfortunately, in the worst case, I even received a nondescript Internal Server Error , because Mailman 3 does not yet intercept errors cleanly everywhere.

Missing Apache user rights to the corresponding folders from the packages cause this error. A simple workaround is to close those directories to the Apache user,

chown -R apache:apache   /var/lib/hyperkitty/sites/default
chown -R apache:apache   /var/lib/postorius/sites/default

then perform standard tasks such as installing Postfix, supplementing the Postfix configuration (main.cf), installing PostgreSQL (if desired), launching the services, and releasing the ports in the firewall.

Conclusions

The obstacles that still remain when installing Mailman 3 spoil the fun in the new version. The fact that there are still (almost) no packages for major distributions also makes the first few steps more difficult. It is difficult to get rid of the uncomfortable feeling of working with very fresh software despite the "stable" addition.

If the installation is mastered, the basic configuration sorted, and the first message successfully sent via lists, a look at the HyperKitty web interface will compensate for a few hardships. In fact, the Mailman developers have already written a lot of error corrections or urgently required functions on the list for version 3.1. Additional features, such as connecting Mailman Core via NNTP, which Mailman 2 could do, are firmly on the wish list but have not yet been ported to the new architecture.

Those who can boast experience with Mailman 2 will soon find that Mailman 3 is a suite designed from scratch. If you consider the current version to be a technical preview of a new Mailman era, clear strengths and a lot of potential for the program are apparent. The seven years of work have paid off. The individual sub-components and their interfaces and the clear segregation of duties in Mailman 3 make complete sense from a design standpoint. Modularity will also allow custom integrations in the future.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus