MailMan installieren - die unendliche Geschichte

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
helios
Posts: 11
Joined: 2003-03-31 14:50

MailMan installieren - die unendliche Geschichte

Post by helios » 2003-04-02 16:56

Hallo,

ich bin seit etwa 2-3 Tagen dabei, ziemlich viel Zeit aufzuwenden, um MailMan auf unserem Root-Server zu installieren. Ich habe dazu das MailMan-RPM für SUSE 8.1 (MailMan-Version 2.0.13) installiert.

Dabei gab es zuerst Probleme mit "suexec": suexec war auf "/srv/www/htdocs" festgelegt und benötigte GID und UID mit 96 oder mehr. Weiterhin bewerkstelligt die SUSE-Installation von MailMan den Wechsel der UID und GID offenbar dadurch, indem es bei den cgi-bin-Dateien von MailMan setuid/setgid setzt! Genau dieses ist jedoch, soweit ich gelesen habe für suexec tabu! Also ich verstehe nicht so ganz, was sich der Paketersteller dabei gedacht hat. Vielleicht kapiere ich aber suexec immer noch nicht so ganz.


Ich habe mittlerweile den "suexec" für Apache 1.3.26 für Root-Server hier aus den Download-Seiten des Forums geladen und installiert. Der konnte eine "libexpat.so.1" oder sowas nicht finden, was ich auf etwas unsaubere Art und Weise gelöst habe. So funktionieren dann zumindest wieder all die anderen CGI-Skripte unserer Webseite (viele sind es ja nicht mehr).

Dann habe ich die User-ID von MailMan hochgesetzt und den Server neu gestartet. Zudem habe ich die setuid/setgid-Informationen von den cgi-bin-Dateien gelöscht. Da das neue "suexec" DOCROOT auf "home/www/" gesetzt hat, habe ich die cgi-bin-Dateien von Mailman entsprechend nach /home/www/web1/mailman/cgi-bin kopiert und die "/etc/httpd/mailman.conf" entsprechend um einen virtuellen Server erweitert, um ganz offiziell suexec nutzen zu können:

<VirtualHost 217.160.178.113:80>
ServerName mailman.haage-partner.de
DocumentRoot /home/www/web1/html/mailman/
User mailman
Group nogroup
ScriptAlias /cgi-bin/ /home/www/web1/html/mailman/cgi-bin/
Alias /pipermail /var/lib/mailman/archives/public/
Alias /mailman /var/lib/mailman/archives/
</VirtualHost>

Nach dem ich auch noch einiges an Rechten und Eigentümern umgestellt habe, lief dann endlich der suexec-Mechanismus und mailman wird, wie er es erwartet mit dem User mailman und der Gruppe "nogroup" gestartet. Geschichte bis hierhin ist auch unter

http://www.rootforum.org/forum/viewtopic.php?p=61817

nachlesbar.

Das wars dann aber immer noch nicht. MailMan beschwerte sich nun mit "We hit a bug". Das Error-Log von MailMan offenbarte, dass es die config.db der Mailingliste nicht lesen konnte. Also habe ich mir das angeschauen und gesehen, dass diese dem User root und der Gruppe mailman gehört, Welt darf darauf nicht zugreifen. Nun, das geht schief, das mailman ja mit der Gruppe "nogroup" läuft. Also habe ich einfach mit "chown" den User auf "mailman" gesetzt. Dummerweise ist das jetzt manuell notwendig nach jeder mit "newlist" erstellten Mailingliste. Aber okay, nun lief immerhin mal das Web-Interface von MailMan.

Also gebe ich nun ein paar User auf die Mailingliste. Diese bekommen alle auch nett ihre Bestätigung von MailMan geschickt. Soweit so gut. Nun werden aber alle Emails, die ich an die Mailinglisten-Adresse schicke eben nicht von MailMan an alle eingetragenen Leute weiterverschickt. Stattdessen tauchen diese Emails auf der im Confixx eingetragen Catchall-Adresse auf.

Ich habe die von newlist ausgegebenen Alias-Einträge in /etc/aliasses.d/mailman - entsprechend des Hinweises des MailMan SUSE Readmes - eingetragen und dann jetzt auch zur Sicherheit "newaliases" - darüber schweigt sich das Readme aus - ausgeführt. Also z.B.:

## stormc-support mailing list
## created: 02-Apr-2003 mailman
stormc-support: "|/usr/lib/mailman/mail/wrapper post stormc-support"
stormc-support-admin: "|/usr/lib/mailman/mail/wrapper mailowner stormc-support"
stormc-support-request: "|/usr/lib/mailman/mail/wrapper mailcmd stormc-support"
stormc-support-owner: stormc-support-admin

So wie ich das sehe, gibt es hier nun noch einmal ein Problem mit dem Ã?bergang in eine andere Gruppen-ID. Wenn ich diesen Wrapper mal als "root" testweise von Hand starte, gibts folgende Meldung:

# /usr/lib/mailman/mail/wrapper post
Failure to exec script. WANTED gid 65534, GOT gid 0. (Reconfigure to take 0?)

Nun dachte ich, dass postfix in der Standard-Installation des 1&1-Servers mit der Gruppe "nogroup" läuft. Aber wenn ich in /etc/passwd schaue, ist dort stattdessen die Gruppe 51 namens "postfix" für postfix angegeben. 51 != 65534 und daher wird wohl jetzt die Wrapper-Ã?bergabe der Email an Mailman nicht funktionieren und postfix behandelt die Email wie eine gewöhnliche Email und liefert das Teil an den catchall-Benutzer aus.

So langsam bekomme ich das Gefühl, dass die MailMan-Installation nach dem SuSE-Paket nicht so wirklich ausgereift ist und/oder mit den Modifikationen von 1&1 kollidiert. Ich habe hier auf lokalen Maschinen sowohl unter Debian/woody als auch unter Debian/sid MailMan installiert und zumindest die Web-Oberfläche funktionierte auf Anhieb.

Hat jemand von Euch vielleicht eine Idee, wie sich MailMan auf einem Root-Server wirklich sauber installieren und konfigurieren lässt? Ich kann natürlich jetzt versuchen, es so hinzubiegen, den Wrapper auch mit der Gruppe "nogroup" zu starten. Dazu könnte ich "postfix" umstellen, dass es unter "nogroup" läuft. Da möchte ich aber nicht so viel riskieren, da da bereits haufenweise Mail drüber läuft und auch der SpamAssassin 2.52 schon nett werkelt. Zudem wäre das nur noch eine weitere Ã?nderung an dem ganzen und ich bin nicht mehr so ganz sicher, ob es damit besser wird.

Die andere Idee ist MailMan 2.1 aus dem Source heraus zu installieren und alles selbst zu machen.

Ich möchte dieses Mailinglisten-Server-Kapitel in der Server-Installation nun wirklich gerne bald abschließen. Hat jemand MailMan erfolgreich auf einem 1&1-Server laufen, so dass das Web-Interface und die Mailzustellung einwandfrei funktionieren?

fritz
Systemtester
Systemtester
Posts: 1430
Joined: 2002-04-23 20:12
Location: Lehrte / Hannover

Re: MailMan installieren - die unendliche Geschichte

Post by fritz » 2003-04-25 05:31

Hi Martin,

Beiträge ohne Antwort (ausser HowTos) werden nach ca. 4 Wochen gelöscht. Wenn Du Deine 'unendliche Geschichte noch für Dein Tagebuch brauchst, kopier sie Dir vorher noch ;-)

Gruss Fritz