Kleine HOWTO fuer Mailman 2.0Beta2 + Sendmail 8.10.1


Vorbemerkung: Inzwischen ist Mailman in der Version 2 bereits Teil der Ports geworden. Wuerde aus diesem Grund dringend vorschlagen, diese Software von dort aus zu installieren! Diese Page hat damit wahrscheinlich nur mehr historischen Wert.

Voraussetzungen

Den User Mailman mit der Gruppe mailman einrichten

Nachdem wir es nicht anders geschafft haben dem Sendmail beizubringen den Mailman zu akzeptieren haben wir den Eintrag daemon:*:1: in mailman:*:1: in der /etc/group umgewandelt. Das ist notwendig, weil Sendmail nur eine Gruppen-ID 1 erlaubt und Mailman nur mit der Gruppe mailman funktioniert. Eine sauberere Loesung ist uns nicht eingefallen, wenn jemand eine bessere weiss, bitte an mic at netbase dot org schreiben. Anschliessend wir mit adduser ein User namens mailman dem System hinzugefuegt, wobei zu beachten ist, das dieser User der Gruppe mailman zuzugehoeren hat.

Das User-Home des mailman hat das setguid-bit zu haben. Das wird mit den folgenden Kommands erreicht:

# cd /home/mailman
# chgrp mailman .
# chmod a+rx,g+ws .

Die Installation der Software

Im Userhome des installierenden Users/Userin (z.b. root) wird das mailman Archiv entpackt und in das neu erzeugte Verzeichnis gewechselt. Dort wird das Configure-Skript aufgerufen mit folgenden Zusaetzen:

# ./configure --with-mail-gid=mailman --with-cgi-gid=nobody --with-gcc=no

Anschliessend ist als root die Install-Routine aufzurufen:

# make install

Die Installation auf Unsauberkeiten pruefen

Dabei wird in das Verzeichnis /home/mailman/bin gewechselt und folgendes Kommando aufgerufen:

# ./check_perms

Falls Fehler auftreten wird das Kommando mit dem Zusatz -f, also ./check_perms -f solange aufgerufen, bis alle Fehler bereinigt sind.

Konfiguration des Apache-WebServers

Wechsle in das conf Verzeichnis des Apache und editiere die httpd.conf und fuege folgende Zeilen hinzu:

<VirtualHost [deine webserver-ip]>
DocumentRoot /usr/home/mailman/
ServerName mailman.[deine domain]
ServerAdmin listmaster@[deine domain]
ErrorLog /var/log/mailman-http-error.log
TransferLog /var/log/mailman-http-access.log
AddType text/html .shtml
AddHandler server-parsed .shtml
scriptAlias /mailman/ /usr/home/mailman/cgi-bin/
Alias /pipermail/ /usr/home/mailman/archives/public/
</VirtualHost>

Kopiere anschliessend die mailman, python, and GNU Logos vom Installationsverzeichnis /mailman-2.0beta2/misc/ nach /usr/local/apache/icons/.

Restarte den Apache-WebServer.

Konfiguration des Sendmail

Fuege der Sektion trusted users in der /etc/mail/sendmail.cf folgenden Eintrag hinzu:

Tmailman

Weiters ist es wichtig, dass Sendmail den mailman-wrapper als eigenes Kommando erkennt. Dies wird erreicht, indem man einen Link vom Verzeichnis der smrsh auf den wrapper macht. um die Koexistenz mit einem Majordomo zu ermoeglichen, wird der mailman-wrapper anders gelinkt:

# cd /usr/libexec/sm.bin/
# ln -s /home/mailman/mail/wrapper mailman_wrapper

Fuer den mailman muessen noch weitere Konfigurationen sendmail-seitig gemacht werden: die Eintraege mailman und mailman-owner muessen noch gesetzt werden:

# cd /etc/mail
# vi virtusertable

Hier werden die Eintraege gemacht und zwar Foldendes wird hinzugefuegt:

mailman@[domain.bla] listmaster-list
mailman-owner@[domain.bla] listmaster-list

Weiters muessen diese Eintraege noch auf das aliases-File gemappt werden. Dies wird mit folgendem Eintrag im /etc/mail/aliases-File realisiert:

listmaster-list: [welche personen auch immer die liste verwalten]

Letzte Konfigurationen fuer den mailman

Damit der Mailman ebenfalls checkt, dass er den mailman_wrapper nehmen soll, wird folgender Symlink erzeugt:

# cd /home/mailman/mail
# ln -s /home/mailman/mail/wrapper mailman_wrapper

Damit er dies auch annimmt, wenn man neue Listen generiert, ist ein kleiner Hack im newlist-skript zu machen:

# cd /home/mailman/bin
# vi newlist

In dieser Datei werden alle Eintraege von wrapper mit mailman_wrapper ersetzt.

Weiters muessen einige Dateien fuer die Site angepasst werden:

# vi /home/mailman/Mailman/mm_cfg.py

In der Sektion site specific configuration werden folgende Eintraege geaendert:

DEFAULT_HOST_NAME = 'mailman.[deine domain]'
DEFAULT_URL       = 'http://mailman.[deine domain]/mailman'
MAILMAN_OWNER     = 'mailman-owner@[deine domain]'
PUBLIC_ARCHIVE_URL = '/pipermail'
PRIVATE_ARCHIVE_URL = '/mailman/private'
MAX_SPAWNS        = 100
SMTP_MAX_RCPTS = 100
DELIVERY_MODULE = 'Sendmail'
SENDMAIL_CMD = '/usr/sbin/sendmail'

Aufsetzen der Mailman-Cron-Jobs

# su - mailman
# cd cron
# crontab crontab.in

Setzen des Mailman Passworts

Dies wird durch folgenden Kommand erreicht:

# /home/mailman/bin/mmsitepass [dein passwort fuer die seite]

Erstellen einer Liste

Die Info fuer das Listen erstellen ist der Public Netbase vorbehalten. Fuer die Konfigurationshilfen bitte hier lang! fuer diejenigen, die hier nicht reinkommen koennen, bitte die letzten Seiten des INSTALL-Files des entpackten Mailman-Archives lesen!

Eins noch: wenn man Listen angelegt hat, ist es oft sinnvoll zu ueberpruefen, ob die Permissions vom Mailman richtig gesetzt wurden. dazu einfach folgendes Kommando oefters ausfuehren:

# /home/mailman/bin/check_perms -f

Abgerissene Mails aufgrund eines Punkts

Wenn man abgerissene Mails bekommt, dann liegt das mit aller Wahrscheinlichkeit daran, dass das IgnoreDots in der /etc/mail/sendmail.cf auf False gesetzt ist. Abhilfe schafft ein:

O IgnoreDots=True

$Id: mailman-HOWTO.html,v 1.2 2001/10/08 16:06:39 mic Exp $