Peter Fraser writes:
Hi All
I would really be interested in getting this working of FreeBSD. I find the BSD’s to be very stable and easy to maintain. Please could anyone point me to any document or suggestions to get it working on FreeBSD? Much Appreciated.
Mailman 3 is a collections of pure Python applications, and should be installable from source and work as is on any POSIX system. Documents on mailman.readthedocs.io should support installation and operation on any such system. If you find anything that doesn't work on FreeBSD, please let us know.
Specifically you need an MTA that supports receiving SMTP and sending LMTP such as Exim4 or Postfix (I assume Sendmail and qmail also work but don't know of much use of those among Mailman 3 sites), a webserver that supports the Python WGSI standard, such as Apache with mod_wsgi or gunicorn (other components such as nginx or uswgi also figure in some configurations), and an RDBMS such as PostgreSQL or MySQL. I would guess the most "vanilla" stack is Mailman 3 suite (core, Postorius, and HyperKitty) + Postfix + Apache + mod_wsgi + PostgreSQL, but that's not the highest-performance configuration, and of course you may have specific requirements or preferences for MTA or webserver.
The most important choice is the RDBMS. We have very little experience with changing those after the initial installation, and there are minor differences among them so it's possible (unlikely but possible) that you would have trouble if you change your mind after initializing mailing lists. I would recommend PostgreSQL, as at least some configurations of MySQL cause some Mailman output documented as alphabetically ordered to come out unordered.[1] However, if you like MySQL, I doubt you will lose much by using it.
The other components are pretty much mix-and-match as you please, even after you've initialized mailing lists.
Footnotes: [1] This appears to be a Mailman bug, which as far as I know is still pending. According to MySQL documentation, Mailman's SQL is not conformant to the SQL standard, but it's not easy to fix since the SQL is written by a 3rd-party library.