Listserv-Server einrichten mit Mailman

Wie ich bereits erwähnte, ist die Installation von Mailman nicht gerade einfach. Vor dem eigentlichen Beginn der Installation sind erst einige kleine Aufgaben zu erledigen.

Zunächst einmal ist zu überprüfen, ob ein Benutzer und eine Gruppe mailman in Ihrem System vorhanden sind. Wenn ja – sehr gut! Wenn nicht, müssen sie hinzugefügt werden (so wie später Benutzer hinzugefügt bzw. verwaltet werden). Mailman arbeitet mit Berechtigungen und ID-Nummern für Benutzer/Gruppen. Stellen Sie sicher, dass Ihnen die IDs für den Benutzer und die Gruppe mailman bekannt sind.

Da diese Anwendung stark vom Webserver des Systems abhängt, installieren wir Mailman in Kombination mit Apache (auf einem Red Hat 7.2-System). Um die Installation zu ermöglichen, erstellen wir das Verzeichnis /var/www/html/mailman durch Ausführen von mkdir /var/www/html/mailman als root, wobei dessen Eigentumsrechte anschließend dem Benutzer mailman und der Gruppe mailman zugewiesen werden. Zur Änderung dieser Rechte ist der folgende Befehl zu benutzen:

chown mailman.mailman /var/www/html/mailman

Zum Abschluss müssen für das Verzeichnis /var/www/html/mailman Berechtigungen erstellt werden. Einige Benutzer werden Lese- und Schreibeberechtigungen für die Verzeichnisse unter mailman benötigen, weshalb der folgende Befehl auszuführen ist, mit dem allen Benutzern Berechtigungen zum Lesen, Schreiben und Ausführen für die Dateien und Verzeichnisse unter mailman erteilt werden (und das suid-Bit gesetzt wird):

chmod a+rxws /var/www/html/mailman

Anmerkung: Es handelt sich hierbei nicht gerade um die sicherste Variante eines Setups, doch war dies die einzige Möglichkeit, die Anwendung einwandfrei zu installieren und auszuführen. Es sollten daher weitere Sicherheitsmaßnahmen ergriffen werden, z. B. die Nutzung einer Firewall.

Nun, da Benutzer und Gruppe eingerichtet sind, kann der Installationsvorgang beginnen. Dazu müssen Sie zunächst die gzip-komprimierte tar-Datei nach /usr/local/src verschieben und in dieses Verzeichnis wechseln. Dann ist die tar-Datei mit dem folgenden Befehl zu entpacken:

tar -xvzf mailman.tar.gz

Nach dem Entpacken der tar-Datei wechseln Sie in das neu erstellte Verzeichnis mailman-2.0.8 und führen den Befehl configure aus. Dieser Befehl erhält dabei einige Ergänzungen, durch die bestimmte lokale Spezifikationen hinzugefügt werden.

Bei diesem Schritt sollten Sie äußerst sorgfältig vorgehen. Wenn der Befehl configure erst einmal ausgeführt wurde, können die Konfigurationen nur durch eine vollständig neue Installation geändert werden. Aus diesem Grund musste ich die Anwendung insgesamt sieben Mal installieren. Schließlich fand ich anhand von Fehlerinformationen und durch von dem nicht funktionierenden System versandte Fehler-E-Mails heraus, dass der komplette Befehl wie folgt aussehen sollte:

./configure --prefix=/var/www/html/mailman
--with-mail-gid=12 --with-gid=12 --with-cgi-gid=48

Mit diesem Befehl wird Mailman so konfiguriert, dass die Standard-Gruppe auf ID 12 (was der Gruppe mail auf meinem System entsprach), die für die Handhabung der CGI verantwortliche Gruppe auf 48 (Apache) und das Basisverzeichnis auf /var/www/html/mailman gesetzt werden. Zu dieser Konfiguration kam ich durch die Fehlermeldungen in E-Mails. Ursprünglich hatte ich den Befehl mit –with-gid=41 ausgeführt, da dies die ID der Mailman-Gruppe war. Das Problem war nur, dass Mailman auf diese Weise die Übertragung der Mails nicht ausführte.

Den ersten Fehler fand ich, als bei mir eine an den Moderator gerichtete Mail einging. Ich entdeckte darin die folgende Zeile.

Failure to exec script. WANTED gid 41, 
GOT gid 12. (Reconfigure to take 12?)
554 5.3.0 unknown mailer error 2

Folglich hatte ich die Anwendung mit der falschen Gruppen-ID-Nummer konfiguriert. Statt der Mailman-Konfiguration mit –with-gid=41 sollte ich –with-gid=12 verwenden.

Nun erhielt ich die Fehlermeldung, dass für die CGI-Skripts statt 12 die Gruppen-ID 48 verwendet werden sollte. Also führte ich die Konfiguration erneut aus und gab –with-cgi-gid=48 ein.

Der Befehl configure wird auf Basis der Antworten auf folgende Fragen ausgeführt:

  • Wie lautet die ID der Gruppe für die Übertragung der Mails?
  • Wie lautet die ID der zur Verwendung der ausführbaren Dateien unter cgi-bin berechtigten Gruppe?

Nach Abschluss der Installation können Sie sofort feststellen, ob die verwendete Konfiguration korrekt war. Überprüfen Sie die gesendeten E-Mails auf oben genannte Fehlermeldungen. Sollte eine Zeile wie WANTED gid 41, GOT gid 12 enthalten sein, wissen Sie, wie die entsprechende ID zu konfigurieren ist.

Der nächste Schritt ist die Ausführung des Befehls make install (noch immer unter dem Benutzer mailman). Mit diesem wird die Anwendung installiert.

Nun müssen Sie sämtliche Berechtigungen in Mailman überprüfen. Keine Angst – Mailman enthält ein praktisches Skript, das diese Aufgabe für Sie übernimmt. Wechseln Sie in das Verzeichnis /var/www/html/mailman/bin/, und geben Sie den Befehl ./check_perms ein. Nach der Ausführung dieses Skripts sollten Sie die Meldung „No Problems Found“ erhalten. Falls Fehlermeldungen angezeigt werden, führen Sie das Skript erneut aus (diesmal unter Hinzufügen des Parameters -f), bis schließlich keine Probleme mehr auftreten. Werden keine Fehler mehr festgestellt, können Sie fortfahren. Sollten noch immer Fehler auftreten, müssen Sie eventuell denselben Befehl mit dem -f-Flag erneut ausführen, um die Probleme zu beheben.

Beachten Sie jedoch, dass eine erfolgreiche Ausführung des Skripts check_perms keine Garantie dafür darstellt, dass Ihr Mailman-Setup korrekt ist. Ich erhielt manchmal auch auf nicht funktionierenden Systemen nach einer Überprüfung mit check_perms die Angabe, dass keine Fehler vorhanden seien. Denn dieses Skript überprüft nur die Berechtigungen für Verzeichnisse und Dateien und nicht die verwendete Konfiguration.

Themenseiten: IT-Business, Technologien

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Listserv-Server einrichten mit Mailman

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *