[Mailman] Mail discussion and e-newsletter lists

Hi,

I packaged Mailman (2.x) for Yunohost, if someone wants to test and give me feedbacks you are very much welcome. Note that the state is clearly in progress, as so far I tested it only a virtual machine by simulating MX record. It seems to be working, but I haven’t tested it in a prod environment.

Sources : https://github.com/alexAubin/mailman_ynh

Disclaimer - I am not a mail expert, and especially not a postfix expert. Feel free to review what I’ve done and propose a cleaner configuration if you know what you’re doing :smile: .

Description

Official website

Mailman is a free software for managing electronic mail discussion and e-newsletter lists. Mailman propose a web interface where admins can create, configure and moderate lists, and users can register to lists and check archives (example).

What the package does

It installs mailman and configure nginx and postfix. After the installation, you should be able to access the web interface through http://yourDomain.tld/mailman/ (or the path you chose during install). Mailman lists are created with the format listname@lists.yourDomain.tld (you can also change the lists prefix during install).

NB : You will need to configure a DNS (MX?) record for lists.yourDomain.tld

Installation

sudo yunohost app install https://github.com/alexAubin/mailman_ynh

Then you will need configure a DNS (MX?) record for lists.yourDomain.tld

1 Like

[Version française dessous]
Hi every one,

Thanks @CaptainSqrt2 for this package: installing was really easy!

I faced the first problem after having created the first mailing-list: all went good, I received an email which confirms the setting of this list. But the adress it gave brings me back to the YunoHost (SSO) portal…
I didn’t make the DNS configuration, because the url is “http://mydomain.tld/cgi-bin/mailman/admin/list-name” (and so not in a list.mydomain.tld sub-domain.

Have someone a clue about what I should check or try?


Bonjour,

Merci beaucoup @CaptainSqrt2 pour avoir packagé Mailman!

Toute l’installation s’est bien passée, mais l’adresse qui m’est donnée par le courriel de confirmation reçu suite à la création de la première ML m’indique une adresse qui me ramène sur le portail Yunohost (donc non identifiée par YunoHost).
Je n’ai pas fait la config DNS pour le sous-domaine list.mondomaine.tld parce que l’url donnée par Mailman n’avait pas l’air de la nécessiter. (Et donc je n’ai pas bien pris vraiment de temps pour le faire… ).

Quelqu’un.e aurait-ille des pistes pour mon problème?

:smile:

Hellow,

thanks for the feedback !

I’m not sure to understand exactly what the problem is though :confused:. The URL for the admin interface should be something like : http://YOURDOMAIN.TLD/mailman/admin/LISTNAME. It is expected that it redirects to the SSO : you should be at least login as some user to attempt to access the admin interface (then it asks the list admin password anyway).

If you want the lists to work, your should create the DNS MX entry for lists.yourdomain.tld (or whatever suffix you chose), otherwise people won’t be able to send mails to the lists :smile: (or at least my understanding is that it shouldn’t work :stuck_out_tongue: )

Cheers !

Alex

Hello,

I do not speak English very well, I also apologize for it, so I would make it short :

In https://github.com/alexAubin/mailman_ynh/blob/master/conf/nginx.conf

I think that it miss :

location /pipermail {
                                  alias /var/lib/mailman/archives/public;
                                  autoindex on;
}

to access archive of mailing list.

Hello,

sorry to bother, but I broke my installation of Mailman and I’m not able to install it again. Well, in fact, I never was able to install it.
After several minutes, I still don’t have the prompt. So I have some questions :

  • Is the “user admin” a user of YunoHost ?
  • Is the “Mailman administration password” a new password ?
  • Is it possible to have no prefix for the lists.
    How can I fix this ?

I’m using YunoHost 2.4.2

Thanks for your help, and for your work. :slight_smile:

Hey there,

sorry about that,

unfortunately the package have not been maintained for quite some time (maybe a year ?), and it was kind of quick and dirty… Hopefully a package for Sympa (a more modern mailing list manager)

To answers the specific questions :

  • The user admin is in the LDAP database. It’s not really a user like the “john doe” or whatever you manage with “yunohost user”, it’s a special user.
  • The mailman administration password is a new password, yes
  • From my understanding of mailman and postfix, it’s easier to have no prefix for the lists. Though theorically you should be able to have no prefix, but I’m not sure how to do it exactly. The app assume there’s a prefix.

Cheers !

Hi,

thanks for the answer.
The admin user is created by the script ?

I wanted to use Sympa but did not find any package for it. Is there any worx on it ?

Uh sorry, I realize you were talking about the mailman admin, not the Yunohost admin.

From what I recall, the mailman admin (which should be a regular YunoHost user) is the user who will have access to mailman web administration pages (e.g. to create new lists and so on). He will still need the administration password though. This user should be created / exist before installing mailman.

Sympa is not packaged for now. There are some discussions about it but it won’t be before a few monthes :confused:.

Ok.

So, if I use a YunoHost user as Mailman admin, installation never finishes.

I need to install a list server. I would prefer to install a packaged one. Is it better to help debugging Mailman package ? Or to see what is needed to install Sympa ? I need a listserver on my Yunohost instance for the end of february.

Let know what you think is better. I won’t have time to make a test environnement, but I can share my steps to install Sympa.

Well, I don’t know what’s better :slight_smile:.

Personally I have experience with Mailman, so I can help you debugging. On the other hand, having someone look into installing Sympa would be a good start to package it. But I have no experience about it.

Do you have some logs to investigate what fails in Mailman install ?

Hello,

installation stops here :
2017-01-31 12:13:33,084 INFO yunohost.hook - [32725.1] create mode 100644 yunohost/apps/mailman/manifest.json
2017-01-31 12:13:33,084 INFO yunohost.hook - [32725.1] create mode 100755 yunohost/apps/mailman/scripts/install
2017-01-31 12:13:33,084 INFO yunohost.hook - [32725.1] create mode 100755 yunohost/apps/mailman/scripts/remove
2017-01-31 12:13:33,084 INFO yunohost.hook - [32725.1] create mode 100755 yunohost/apps/mailman/scripts/upgrade
2017-01-31 12:13:33,084 INFO yunohost.hook - [32725.1] create mode 100644 yunohost/apps/mailman/settings.yml
2017-01-31 12:13:33,565 INFO yunohost.hook - [32725.1] Preconfiguring packages …

Hello,

I’m sorry but I had no time to go further this days. :worried:

I would like to had pointers to the install script to see where it hangs, more precisely. Is it possible to use the “yunohost app install” command with a local copy of the repository ?

Hi,

my first wrong installation broke apt chain. Mailman package seems to work. I’m trying to fix my stupid actions .

Problems fixed now, Mailman installed. :slight_smile:

Thanks for the attention. :slight_smile:

Yes, you can git clone the repo and install from local files. If you really want to investigate and run the install multiple time, you might want to use ynh-dev to have a virtual machine with which you can have snapshots.

But according to your last message maybe you’re okay with it now :stuck_out_tongue:

Hello,

I’m back with my mailman installation. :slight_smile:

Posting to lists is now working but configurations in postfix and mailman where missing. I’ll give some details later.

I still have a problem. Access to mailing lists archives is missing. Adding this in mailman conf for nginx does not solve the problem.
location /pipermail {
alias /var/lib/mailman/archives/public;
autoindex on;
}

When I use the mailing list archive link, I’m back to the main Yunohost page.

Any idea ?

Cheerrs

Hey !

Thanks for keeping to look into that :stuck_out_tongue:

For pipermail, I think you also need to tell SSOwat that the page is not protected. I think you probably need to add “pipermail” at the end of this line in the install script : https://github.com/alexAubin/mailman_ynh/blob/master/scripts/install#L117 (though I didnt actually tried)

You can also manually edit the app settings in /etc/yunohost/apps/mailman (the unprotected_regex) and regen the ssowat conf with yunohost app ssowatconf if you want to avoid the full reinstallation.

Thanks for your quick answer.

I had a look at those regex rules, but the app is not public. Only YunoHost users should access Mailman and its archives. So a second path should be added to settings.yml. I can’t find how to do that.

If I modify ssowat.conf.json, pipermail access could be broken with other installations or upgrades I suppose.

Hello,

Since Sympa is definitely not lightweight enough to be suitable for small hardware or small VPS, I spent some time this weekend to rework the Mailman (2.1) app, such that it should now be usable for the mid/long-term :

  • No need anymore for a special prefix like lists.thedomain.tld (though you can still create a special domain lists.yourdomain.tld manually in YunoHost and install the app for this domain)
  • No more dirty hack of postfix conf, now uses a proper hook during postfix’s conf regen
  • Improved page for listinfo based on https://github.com/quimgil/mailman-templates/
  • Added some dirty hack to have a simpler footer instead of the ugly python/gnu/debian images…
  • Added backup/restore script
  • Cleaned the manifest and added missing fields
  • Cleaned install//remove scripts (formating + now uses standard helpers)

It would be nice if some people could test this on their machine before I flag the app as ‘working’ :wink:

2 Likes

Bonjour @Aleks ,

Merci pour ce travail :slight_smile:

Je viens juste de tester l’installation, l’inscription et désinscription à une liste publique, et procédé à la désinstallation.
Contexte : YunoHost 2.7.* installé sur base Debian 8 Jessie à jour sur un VPS avec redirection vers mon_serveur.tld par IP et non DNS.

  • Installation : pas de problème.
  • le DNS n’est pas bien configuré, il est impossible d’utiliser la fonction de confirmation d’inscription ou de désinscription par réponse au mail. Cependant le lien figurant dans le corps du message fonctionne pour ces deux opérations.
  • Désinstallation : pas de problème.

EDIT : Il faudrait voir comment franciser ces messages :wink: Peut-être puis-je aider ?


Hi @Aleks,

Thanks for this work :slight_smile:

I just tested the installation, subscription and unsubscription to a public list, and proceeded to uninstall.
Context: YunoHost 2.7. * Installed on Debian 8 Jessie updated on a VPS redirection to my_server.tld via IP not by DNS.

  • Installation: no problem.
  • If the DNS is not configured correctly, you can not use the un/subscription confirmation function by replying to the mail. However, the link in the body of the message works for both of these operations.
  • Uninstall: no problem.

EDIT: You should see how to Frenchify these messages :wink: May i could try to help ?

ppr

1 Like

Hey,

thanks a lot @ppr for the quick feedback :wink:

Not sure to understand the bullet point about DNS (are you talking about the listname-subscribe@domain.tld feature ?)

Regarding the internationalization, you are surely welcome to propose translations for the manifest :wink: