Mailman auf einem ISPConfig3 Server einrichten
Autor: Alexander Fox alias PlaNet Fox
<howtoforge [at] planetfox.de [dot] de>
Created 29.06.09
Ich gebe keine Garantie für die Richtigkeit, dieser Anleitung. Ich habe mich in diesem HowTo einmal damit befasst den Maillinglistenmanager Mailman auf einem laufähigen ISP3Config System zu installieren und zu verwenden. Ich habe dies unter Debian Lenny getestet mit Erfolg. Mailman ist ein stark verbreitete freie Software zur Verwaltung von Diskussionen und Maillinglisten. Die Mailingliste kann am Schluss dieses Howtos auch über eine Webschnittstelle verwaltet werden.
1. Schritt Installation von Mailman
Um Mailman zu Installieren geben sie folgendendes als Root in die Console ein
apt-get install mailman
Nun wird mailman heruntergeladen, dann startet die Installlation und uns werden drei Fragen gestellt.
Wir müssen auswählen, welche Sprachen Mailman Unterstützen soll im normalfall sollte hier Deutsch und Englisch ausgewählt werden. Außer ihr benötigt mehr Sprachen.Danach Klickt auf Ok
Hier müsst ihr entscheiden welche Sprache generell als Standard benutzt werden soll für Mailman. weiter mit Ok
Hier nochmal die erklärung das ihr die Mailingliste mailman anlegen müsst,dies machen wir im anschluss noch.Nach dem die Installation fertig gestellt ist sollte folgendes zu sehen sein in der console
Entpacke mailman (aus …/mailman_1%3a2.1.11-11_i386.deb) …
Verarbeite Trigger für man-db …
Richte mailman ein (1:2.1.11-11) …
Looking for enabled languages (this may take some time) … done.
Installing site language en …………………………………….. done.
Configuring mailman for domain example.com …
Update von Version 0x0 auf 0x2010bf0
lösche nicht mehr benötigte Quelldateien
Site list for mailman missing (looking for list named ‚mailman‘). (warning).
Please create it; until then, mailman will refuse to start. (warning).
Es sollten nun die Mailman Verzeichnisse vorhanden sein auf eurem Server und der user list und die Gruppe list
/usr/lib/mailman/
/usr/lib/cgi-bin/mailman/
/usr/share/doc/mailman/
/usr/log/mailman/
/var/lib/mailman/
/var/lock/mailman/
/var/run/mailman/
/etc/mailman/
/etc/init.d/
/usr/sbin/
2. Mailingliste erstellen Mailman
Nun erstellen wir die erste Maillinglisten mit dem namen mailman
newlist mailman
Danach werden euch noch fragen gestellt
E-Mailadresse des Listenverwalters: admin@example.de
Erstmaliges Passwort für die Liste mailman
Enter drücken, um den Besitzer der Liste mylist zu benachrichtigen…
Danach erscheint folgendes
To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases‘ program:
## mailman mailing list
mailman: „|/var/lib/mailman/mail/mailman post mailman“
mailman-admin: „|/var/lib/mailman/mail/mailman admin mailman“
mailman-bounces: „|/var/lib/mailman/mail/mailman bounces mailman“
mailman-confirm: „|/var/lib/mailman/mail/mailman confirm mailman“
mailman-join: „|/var/lib/mailman/mail/mailman join mailman“
mailman-leave: „|/var/lib/mailman/mail/mailman leave mailman“
mailman-owner: „|/var/lib/mailman/mail/mailman owner mailman“
mailman-request: „|/var/lib/mailman/mail/mailman request mailman“
mailman-subscribe: „|/var/lib/mailman/mail/mailman subscribe mailman“
mailman-unsubscribe: „|/var/lib/mailman/mail/mailman unsubscribe mailman“
Wir kopieren das ganze ab mailman: und fügen es in die /etc/aliases ein
vi /etc/aliases
Die Datei sollte nun folgenden Inhalt erhalten haben von euch
mailman: „|/var/lib/mailman/mail/mailman post mailman“
mailman-admin: „|/var/lib/mailman/mail/mailman admin mailman“
mailman-bounces: „|/var/lib/mailman/mail/mailman bounces mailman“
mailman-confirm: „|/var/lib/mailman/mail/mailman confirm mailman“
mailman-join: „|/var/lib/mailman/mail/mailman join mailman“
mailman-leave: „|/var/lib/mailman/mail/mailman leave mailman“
mailman-owner: „|/var/lib/mailman/mail/mailman owner mailman“
mailman-request: „|/var/lib/mailman/mail/mailman request mailman“
mailman-subscribe: „|/var/lib/mailman/mail/mailman subscribe mailman“
mailman-unsubscribe: „|/var/lib/mailman/mail/mailman unsubscribe mailman“
Danach erzeugen wir die aliase neu mit folgendem befehl
newaliases
3. Postfix anpassen für Mailman
Nun rufen wir die main.cf auf um die Postfix Konfiguration für mailman anzupassen
vi /etc/postfix/main.cf
Wir überprüfen ob folgende Einträge vorhanden sind und ergänzen sie, um das ganze auch in ein paar Monaten noch nachvollziehn habe ich das folgendermaßen gemacht.
#Mailman
virtual_maps = hash:/var/lib/mailman/data/virtual-mailman
owner_request_special = no
Nun suchen wir in der main.conf folgenden Eintrag
alias_maps = hash:/etc/aliases
und ändern diesen ab, dies sollte nun so aussehn
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
Speichere nun die Datei ab und schließe sie.
4. Mailman Konfigurieren
Nun müssen wir noch Mailman Konfigurieren dies erfolgt über folgende Konfiguration
vi /etc/mailman/mm_cfg.py
Wir müssen noch folgendes der Konfiguration hinzufügen
POSTFIX_STYLE_VIRTUAL_DOMAINS = [‚ ‚]
MAT = ‚Postfix‘
Die Sprache ändern wir von Englisch in Deutsch
DEFAULT_SERVER_LANGUAGE = ‚en‘
ändern in
DEFAULT_SERVER_LANGUAGE = ‚de‘
Wir Speichern diese Datei und schließen
5. Apache2 Einstellung
Wir passen jetzt noch die Apache.conf an
vi /etc/apache2/apache.conf
am ende der Konfiguration ergänzen wir die apache.conf um folgende zeilen
Include ../mailman/apache.conf
Wir speichern die Datei ab
6. Prüfen der Berechtigungen
Wir überpüfen die Rechte mit folgendem befehl
check_perms
Sollten Fehler kommen könnt ihr diese mit folgendem befehl testen
check_perms -f
7. Dienste neu starten
Nun starten wir folgende die Dienste neu bzw mailman starten wir zum ersten mal
/etc/init.d/apache2 restart
/etc/init.d/postfix restart
/etc/init.d/mailman start
8. Die erste eigene Mailingliste anlegen
Eine eigene Maillingliste anlegen hier zBsp. die Mailingliste kathi
newlist kathi
Danach werden euch wieder wie oben drei fragen gestellt
E-Mailadresse des Listenverwalters: admin@example.de
Erstmaliges Passwort für die Liste kathi:
Enter drücken, um den Besitzer der Liste kathi zu benachrichtigen…
Nun solte der Administrator der Mailingliste eine Mail bekommen haben mit folgendem Inhalt
The mailing list `kathi‘ has just been created for you.
The following is some basic information about your mailing list.
Your mailing list password is:
You need this password to configure your mailing list.
You also need it to handle administrative requests,
such as approving mail if you choose to run a moderated list.
You can configure your mailing list at the following web page:
http://example.de/cgi-bin/mailman/admin/kathi
The web page for users of your mailing list is: http://example.de/cgi-bin/mailman/listinfo/kathi
You can even customize these web pages from the list configuration page.
However, you do need to know HTML to be able to do this.
There is also an email-based interface for users (not administrators) of your list;
you can get info about using it by sending a message with just the word `help‘ as subject or in the body, to:
kathi-request@example.de To unsubscribe a user: from the mailing list ‚listinfo‘ web page,
click on or enter the user’s email address as if you were that user.
Where that user would put in their password to unsubscribe, put in your admin password.
You can also use your password to change member’s options, including digestification,
delivery disabling, etc. Please address all questions to mailman-owner@example.de.
Die Mailinglistenseite sollte nun zu finden sein auf folgender seite
http://example.com/cgi-bin/mailman/listinfo/
Nun sollte dort folgendes im Browser angezeigt werden oder so ähnlich
Wenn ihr auf das Archive zugreifen möchtet später einmal könnt ihr dies über folgende Adresse
http://example.de/pipermail/kathi/
Dieses Verzeichnis kann bei bedarf geschützt werden folgenddermaßen
Auch ist es sinnvoll eine robot.txt im root verzeichnis anzulegen mit folgendem Inhalt, um das auslesen durch google bots zu verhindern.
User-agent: *
Disallow: /mailman/create
Disallow: /mailman/admin
Disallow: /mailman/roster
Disallow: /mailman/options
Disallow: /pipermail
Der Parameter DEFAULT_ARCHIVE = Off in der mm_cfg.py sorgt dafür, dass neu angelegte Listen kein Webarchiv erhalten, wenn es der Administrator im Admin-Interface nicht ausdrücklich aktiviert. Ihr könnt natürlich den Scriptalias für apache in der datei /etc/mailman/apache.conf ausdokumentieren. Einfach die Zeile mit Pipermail suchen und eine raute davor setzen.
9. Links
http://www.gaos.org/moin/PiperMail
http://home.subnet.at/~max/mail/mailman.php
Ich hoffe dieses Howto hilft nun dem ein oder anderen Mailinglisten aauf einem ISPConfig 3 Server zu betreiben.