Ich habe bei mir bereits Postfix im Einsatz, der die virtuellen Domänen und Benutzer von einer MySQL Datenbank holt. Nun habe ich noch Mailmain aufgesetzt, da die Forwards von Postfix für einen Verteiler kein Ersatz ist für eine richtige Mailingliste sind.
Als erstes also Mailman mit dem Pakertmanager von Ubuntu installieren:
apt-get install mailman
und gleich die Berechtigungen mit dem Tool das von Mailman mitgeliefert wird überprüft:
check_perms
Nun sollte man theoretisch einfach die Option -f Anhängen um die Probleme automatisch beheben zu lassen:
check_perms -f
was aber nicht wirklich klappt (nochmals mit check_perms überprüfen). Man muss also die Berechtigungen selber korrigieren:
cd /var/lib/mailman chown -R list:list *
Auch muss die Masterkonfiguration von Postfix noch angepasst werden, damit Mailman läuft:
vim /etc/postfix/master.cf
Die Konfiguration öffnen und nach folgender Zeile suchen:
mailman unix - - n - - pipe
… und diese dann folgendermasen anpassen:
mailman unix - n n - - pipe
Als nächstes muss man noch den Apache konfigurieren für das Webinterface von Mailman. Ich habe bei mir nur eine virtuelle Domäne angepasst und nicht gleich eine Modulkonfiguration für alle Domänen vorgenommen. Also einfach die Konfiguration der gewünschten Domäne mit dem Editor öffnen und folgende Einträge hinzufügen:
#Mailman cgi Script für das Webinterface ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/ <Directory /usr/lib/cgi-bin/mailman/> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> #Öffentliches pipermail archiv Alias /pipermail/ /var/lib/mailman/archives/public <Directory /var/lib/mailman/archives/public> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny </Directory> #Bilder für Mailman Alias /images/mailman/ /usr/share/images/mailman/ <Directory /usr/share/images/mailman/> AllowOverride None Order allow,deny Allow from all </Directory>
Die Liste wollte ich nicht unter der Standartdomäne netzpiraten.ch laufen lassen, sondern unter lists.netzpiraten.ch. Dazu habe ich dann einfach einen neuen DNS Eintrag gemacht. Man darf nicht vergessen für die Listdomäne nicht nur einen A Record sondern auch einen MX Record zu machen, ansonsten verweigern einige Mailserver die Annahme oder stufen die Emails von dieser Domäne schneller als Spam Mail ein.
Nun muss natürlich noch Mailman so konfiguriert werden, dass er auch Postfix typisch konfiguriert ist und auch die neue Listendomäne verwendet:
vim /etc/mailman/mm_cfg.py
Als erstes den Mailserver und den Webserver eingetragen:
DEFAULT_EMAIL_HOST = 'lists.netzpiraten.ch' DEFAULT_URL_HOST = 'www.netzpiraten.ch'
Dannach in der gleichen Datei Postfix konfigurieren und zusätzlich die Listdomäne angegeben:
MTA='Postfix'
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.netzpiraten.ch']
add_virtualhost('www.netzpiraten.ch', 'lists.netzpiraten.ch')
Nun muss mailman neu gestarted werden:
/etc/init.d/mailman restart
Als nächstes muss man die obligatorische mailman Mailingliste erstellen und gleich noch eine zweite zum Testen dazu:
newlist mailman Enter the email of the person running the list: michi@netzpiraten.ch Initial test password: Hit enter to continue with test owner notification.. newlist test Enter the email of the person running the list: michi@netzpiraten.ch Initial test password: Hit enter to continue with test owner notification..
Jetzt können die Aliases und Domains generiert werden. Dazu einfach das von Mailman mitgelieferte genaliasverwenden:
cd /var/lib/mailman/bin ./genaliases
Dannach sind die Dateien /var/lib/mailman/data/aliases und /var/lib/mailman/data/virtual-mailman generiert und enthalten alle benötigten Aliase für die Mailinglisten. Jetzt muss nur noch Postfix so konfigueriert werden, dass er diese Dateien auch verwendet:
vim /etc/postfix/main.cf
Zuerst die Aliase zu den normalen Systemaliasen hinzufügen:
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
Die alias_database soll nicht eingetragen werden, da Mailman diese selber verwaltet und nicht postfix mit newalias. Als nächstes noch die virtuellen Domänen eintragen:
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf,
proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf,
hash:/var/lib/mailman/data/virtual-mailman
Bei mir ist ja bereits der MySQL Zugriff konfiguriert, desshalb habe ich einfach die Mailman-Einstellungen hinten angehängt.
Nun nur noch eine Einstellung ändern, damit auch die *-owner Aliase richtig behandelt werden und die Listdomäne auch als möglichen Empfänger angeben:
owner_request_special = no relay_domains = lists.netzpiraten.ch mydestinations = $hostname, localhost.$mydomain, lists.netzpiraten.ch
Jetzt Postfix neu laden:
/etc/init.d/postfix reload
und schon sind die Mailinglisten einsatzbereit. Man darf nicht vergessen, nach einem ./genaliases Postfix auch wieder neu zu laden.

(2 Benutzer, durchschnittlich 4 Goldstücke)





















Kommentare
benjie, Florian, Peter, peter pan, Techtmeier [...]
michi, Jacko_Momocini, michi, Jacko_Momocini, michi [...]
michi, flöschen
michi, Golfplätze Schweiz, michi, Blankster, michi [...]
michi, Christian, michi, michi, Lukas Eppler