« Previous 1 2 3 4
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.
Infos
- Mailman 1.0: https://mail.python.org/pipermail/mailman-announce/1999-July/000004.html
- Barry Warsaw on Mailman 3.0: http://aosabook.org/en/mailman.html
- Unicode handling: http://www.wefearchange.org/2012/06/the-right-way-to-internationalize-your.html
- Mailman components: https://mail.python.org/pipermail/mailman-announce/2015-April/000210.html
- Pickle: https://docs.python.org/2/library/pickle.html
- EPEL testing repository: http://mirror.speedpartner.de/epel/testing/7/x86_64/p/
- New Mailman 3.0 project site: https://gitlab.com/groups/mailman
- Mailman Bundler 3.0.0: https://pypi.python.org/pypi/mailman-bundler
- Buildout fix: https://github.com/omab/python-social-auth/issues/623
« Previous 1 2 3 4
Buy this article as PDF
(incl. VAT)