Differences between revisions 2 and 7 (spanning 5 versions)
Revision 2 as of 2020-04-13 20:22:49
Size: 1182
Editor: Sciuro
Comment:
Revision 7 as of 2020-04-14 19:14:27
Size: 3970
Editor: Sciuro
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
== DNS ==
Watch out using FreeBSD and sendmail! If you want to have a single hostname as a domain for your mailinglist server, you can't have a CNAME in your DNS. So the next is '''WRONG!''' I run into some trouble that my virtual domain was detected as a local domain and so the virtual mailinglist tables didn't exsists.

{{{
lists.example.org. 3600 CNAME smtp.example.org.
lists.example.org. 3600 MX 10 smtp.example.org.
}}}

This is right:

{{{
lists.example.org. 3600 A 1.2.3.4
lists.example.org. 3600 MX 10 smtp.example.org.
}}}
Line 43: Line 58:
        Alias /pipermail:/usr/local/mailman/archives/public
        Alias /icons:/usr/local/mailman/icons
Line 49: Line 66:

== Configuration ==
The configuration is done in ''/usr/local/mailman/Mailman/mm_cfg.py''. Make your changes here, only if they are system wide! Look the default up in ''Defaults.py''. Example settings to change are:
 * DEFAULT_EMAIL_HOST
 * DEFAULT_URL_HOST

== Create the default mailinglist ==
After you have completed the integration of Mailman and your mail server, you need to create a ''site-wide'' mailing list. This is the one that password reminders will appear to come from, and it is required for proper Mailman operation. Usually this should be a list called mailman, but if you need to change this, be sure to change the MAILMAN_SITE_LIST variable in mm_cfg.py. You can create the site list with this command, following the prompts:

{{{
/usr/local/mailman/bin/newlist mailman
}}}

Now configure your site list. You should also subscribe yourself to the site list.

== Create the passwords ==
There are two site-wide passwords that you can create from the command line, using the bin/mmsitepass script. The first is the ''site password'' which can be used anywhere a password is required in the system. The site password will get you into the administration page for any list, and it can be used to log in as any user. Think root for a Unix system, so pick this password wisely!

The second password is a site-wide ''list creator'' password. You can use this to delegate the ability to create new mailing lists without providing all the privileges of the site password. Of course, the owner of the site password can also create new mailing lists, but the list creator password is limited to just that special role.
To set the site password, use this command:

{{{
/usr/local/mailman/bin/mmsitepass <your-site-password>
}}}

To set the list creator password, use this command:

{{{
/usr/local/mailman/bin/mmsitepass -c <list-creator-password>
}}}

 It is okay not to set a list creator password, but you probably do want a site password.

== Start the mailinglist server ==
Make your mailman start at boot time by adding mailman to your /etc/rc.conf file and start the service.

Description

Mailman is a mailing list manager. It's old, but very stable and very decent. The current running version uses Python 2. This is the installation on FreeBSD 12.1.

Installation

Of FreeBSD:

pkg install mailman

Configuration

DNS

Watch out using FreeBSD and sendmail! If you want to have a single hostname as a domain for your mailinglist server, you can't have a CNAME in your DNS. So the next is WRONG! I run into some trouble that my virtual domain was detected as a local domain and so the virtual mailinglist tables didn't exsists.

lists.example.org. 3600 CNAME smtp.example.org.
lists.example.org. 3600 MX 10 smtp.example.org.

This is right:

lists.example.org. 3600 A 1.2.3.4
lists.example.org. 3600 MX 10 smtp.example.org.

Webserver

Hiawatha

First, set the execution user in the file /usr/local/etc/hiawatha/cgi-wrapper.conf. Add the next line to the file:

Wrap = mailman ; /usr/local/mailman/cgi-bin ; www:www

Then, make cgi exectutable in /usr/local/etc/hiawatha/hiawatha.conf by adding this line:

CGIextension = cgi

In your virtual host configuration, add an executable directory and make it an alias:

Directory {
        DirectoryID = dir_mailman
        Path = /mailman/
        ShowIndex = no
        StartFile = listinfo
        ExecuteCGI = yes
        TimeForCGI = 10
        WrapCGI = mailman
}

VirtualHost {
        ...
        Alias /mailman:/usr/local/mailman/cgi-bin
        Alias /pipermail:/usr/local/mailman/archives/public
        Alias /icons:/usr/local/mailman/icons
        NoExtensionAs = cgi
        EnablePathInfo = yes
        UseDirectory = dir_mailman
        ...
}

Configuration

The configuration is done in /usr/local/mailman/Mailman/mm_cfg.py. Make your changes here, only if they are system wide! Look the default up in Defaults.py. Example settings to change are:

  • DEFAULT_EMAIL_HOST
  • DEFAULT_URL_HOST

Create the default mailinglist

After you have completed the integration of Mailman and your mail server, you need to create a site-wide mailing list. This is the one that password reminders will appear to come from, and it is required for proper Mailman operation. Usually this should be a list called mailman, but if you need to change this, be sure to change the MAILMAN_SITE_LIST variable in mm_cfg.py. You can create the site list with this command, following the prompts:

/usr/local/mailman/bin/newlist mailman

Now configure your site list. You should also subscribe yourself to the site list.

Create the passwords

There are two site-wide passwords that you can create from the command line, using the bin/mmsitepass script. The first is the site password which can be used anywhere a password is required in the system. The site password will get you into the administration page for any list, and it can be used to log in as any user. Think root for a Unix system, so pick this password wisely!

The second password is a site-wide list creator password. You can use this to delegate the ability to create new mailing lists without providing all the privileges of the site password. Of course, the owner of the site password can also create new mailing lists, but the list creator password is limited to just that special role. To set the site password, use this command:

/usr/local/mailman/bin/mmsitepass <your-site-password>

To set the list creator password, use this command:

/usr/local/mailman/bin/mmsitepass -c <list-creator-password>
  • It is okay not to set a list creator password, but you probably do want a site password.

Start the mailinglist server

Make your mailman start at boot time by adding mailman to your /etc/rc.conf file and start the service.

Howto/Mailman (last edited 2020-05-01 06:31:30 by Sciuro)