Mailman Infrastructure SOP
Provides mailing list services for Fedora Hosted projects (hosted1) or the Fedora Project (collab1).
Owner: Fedora Infrastructure Team
Contact: #fedora-admin, sysadmin-main, sysadmin-tools, sysadmin-hosted group
Servers: hosted1, collab1
Purpose: Provides mailing list services.
Mailing list services for Fedora Hosted projects are located on the hosted1.fedoraproject.org server. Fedora Project mailing lists are on collab1.
Creating a new mailing list
- Log into hosted1 or collab1
- sudo /usr/local/bin/fedora-mailing-list-setup
[you@hosted1 ~] $ sudo /usr/local/bin/fedora-mailing-list-setup Password: Project name: project List name: project-devel Admin username: username # This is the admin user for the list. FAS Username: yourfasusername # This is the admin adding the lists username FAS Password: # This is the fas password for the admin user adding the list. [you@hosted1 ~] $
Note that list names should make sense, and not contain the words 'fedora' or 'list' - the fact that it has to do with Fedora and that it's a list are both obvious from the domain of the email address.
Important: Please make sure to add a valid description to the newly created list. (to avoid [no description available] on listinfo index)
Removing content from archives
It's not easy to remove content from the archives and it's generally useless as well because the archives are often mirrored by third parties as well as being in the INBOXs of all of the people on the mailing list at that time. Here's an example message to send to someone who requests removal of archived content:
Greetings, We're sorry to say that we don't remove content from the mailing list archives. Doing so is a non-trivial amount of work and usually doesn't achieve anything because the content has already been disseminated to a wide audience that we do not control. The emails have gone out to all of the subscribers of the mailing list at that time and also (for a great many of our lists) been copied by third parties (for instance: http://markmail.org and http://gmane.org). Sorry we cannot help further,
Mailing lists and their owners
Are you in need of checking who owns a certain mailing list without having to search around on list's frontpages?
If yes, mailman have a nice tool that will help us gaining our result in a few seconds:
Get a full list of all the mailing lists hosted on the server: (either fedoraproject.org or fedorahosted.org)
sudo /usr/lib/mailman/bin/list_admins -a
See which lists are owned by firstname.lastname@example.org:
sudo /usr/lib/mailman/bin/list_admins -a | grep email@example.com
Troubleshooting and Resolution
The mailman site password for hosted1 or collab1 can be found it /root/mm_sitepass
sudo cat /root/mm_sitepass
The site password can be used to reset lists admin passwords if required. Note: If you change the site password, please update this file.
ML password reset
When a user has requested their mailman password be reset perform the reset using:
sudo /usr/lib/mailman/bin/change_pw -l <listname>
The new mailman admin password will be e-mailed to all administrators set to the list.
If the server needs to be restarted mailman should come back on it's own. Otherwise each service on it can be restarted:
sudo service mailman restart sudo service postfix restart
How to delete a mailing list
Delete a list, but keep the archives
sudo /usr/lib/mailman/bin/rmlist <listname>
Delete a list and its archives
sudo /usr/lib/mailman/bin/rmlist -a <listname>
This is a place where instructions for migrating lists from redhat.com to lists.fp.o will be kept.
Things required from Red Hat:
- The list config (whatever the equivalent of /var/lib/mailman/lists/<listname> is)
- The list archives, in mbox form (/var/lib/mailman/archives/private/<listname>.mbox)
Put these items into their respective places on collab1.
If required at this point, change the list name as follows:
- Rename the archive and list directories to the new names
- Create a file called <newlist-name>.config and put the following in it:
real_name = '<new list name>'
- Don't do anything with that file until the next step :)
For all lists, do the following:
- In the <newlist-name>.config file created earlier, add the following line (create the file if you didn't need to rename the list):
acceptable_aliases = [ 'firstname.lastname@example.org' ].
- Verify the sanity of your new configuration via '/usr/lib/mailman/bin/config_list -i <new-list-name>.config -c <new-list-name>
- If that checks out, eliminate the -c from the previous command in order to make your changes.
- generate aliases for the new list /usr/lib/mailman/bin/genaliases
- change the url for the list /usr/lib/mailman/bin/withlist -l -r fix_url <new-list-name> -u admin.fedoraproject.org
- Rebuild the archives using '/usr/lib/mailman/bin/arch --wipe <new-list-name>'
- restore selinux contexts restorecon -rv /var/lib/mailman/lists /var/lib/mailman/archives/private
- rebuilding the archives means all links to the historical mailing lists posts will be broken. Can we get Red Hat to add http redirects from www.redhat.com/archives/<old-list-name> to the lists.fedoraproject.org/archives/<new-list-name> ?
- we'll need Red Hat to set up forwarding aliases for <old-list-name> to <new-list-name>
- fix the names of list that do not make any sense (e.g. feodra-extras-steering) in the current environment. relevant