Mailman
Ich glaube ich hatte es ganz vergessen zu erwähnen, daß ich für die Freakipedia nen Mailman aufgesetzt habe. Er soll eigentlich dazu dienen die Freakipedianutzer miteinander zu connecten. Muss mal schauen wie ich das ganze in das Wiki mit einbaue. Gibts bestimmt ne Extension dafür. Und wenn nicht muss ich mit halt ein Script basteln welches die Usermailadressen aus der Datenbank sucht und in den Mailman einträgt.
Zur Erklärung für alle nicht ganz so bewanderten: Der Mailman ist ein Programm welches Mailinglisten verwaltet. Du schickts quasi eine Mail an eine bestimmt Adresse, und alle Nutzer, die sich auf der Liste haben eintragen lassen, bekommen sie dann.
Bestimmt auch recht praktisch um in einer Gemeinde miteinander zu kommunizieren. Oder um seinen Freundeskreis zu erreichen bzw. auch die Kommunikation im Freundeskreis zu fördern. Auch gut für Hauskreise usw. Eigentlich gibts da unendlich viele Möglichkeiten, uns es ist auch recht intuitiv. Wer ne da Interesse hat kann sich ja mal bei mir melden.
So und für jeden Hoppydebianer (,und für mich falls ichs mal wieder brauche,) hier ne kleine Anleitung:
Vorbedingungen: postfix,apache2 mit virtuellen Domains (beide sollten fertig konfiguriert sein und laufen)
Installation: apt-get install mailman listadmin (listadmin is nett wenn man auf dem Server mit der Kommandozeile was machen will.) Bei der Installation die Sprachen angeben welche man haben will. (Für die welche später noch andere Sprachen haben wollen, kann man mit dpkg-reconfigure mailman noch welche hinzufügen.)
Konfiguration: Als erstes sollte man sich überlegen unter welcher Subdomian man den Mailman laufen lassen will. Soweit ich weiß krallt der sich nämlich alle Mails die an die Domain gerichtet sind. Also wenn man die Domain beispiel.de sein eigen nennt sollte man den Mailman am besten für listen.beispiel.de einrichten, damit kann man auf beispiel.de noch Emails empfangen.
(Also neuen mx-Record im DNS anlegen. Am besten noch nen A-Record auf dem liste.beispiel.org auch über www erreichbar ist. Wenn ihr das mit eurem Rechner zuhause macht welcher über Dyndns angebunden ist entfallen die Records.)
Ach ja irgendwie gibt es 3 verschiedene Methoden Postfix und Mailman zu koppeln, mithilfe von Pipes über Reguläre Ausdrücke (Howto) oder über Transports was ich als die sauberste Lösung empfinde. (Transport heist das Postfix die Mails einer anderen Application übergibt. Das kann maildrop oder uucp usw. sein oder in unserem Fall Mailman.)
Gut nun Schluss mit den Vorüberlegungen sondern tragen wir die Daten ein:
/etc/postfix/main.cf
relay_domains = listen.beispiel.de
transport_maps = hash:/etc/postfix/transport
owner_request_special = no
mailman_destination_recipient_limit = 1
/etc/postfix/master.cf (definiert den Transport)
mailman unix - n n - - pipe
flags=FR user=list
argv=/var/lib/mailman/bin/postfix-to.mailman.py ${nexthop} ${user}
/etc/postfix/transport:
listen.beispiel.de mailman:
/etc/mailman/mm_cfg.py
MTA = None
DEB_LISTMASTER ='postmaster@beispiel.de'
Hier ist es wichtig wirklich None einzutragen. In der Datei gibt es auch ein Feld Postfix , das benötigt man wenn man die Pipes-Methode verwenden will.
Dann ein postmap /etc/postfix/transport (damit wird die von postfix lesbare transport.db angelegt)
Ok soweit die Einbindung in Postfix, dann ist als nächstes der Apache dran. Ich geh davon aus das die Mailmanseiten verschlüsselt ausgeliefert werden sollen und schon ein Zertifikat existiert.
Da tragen wir die Daten ein:
/etc/mailman/mm_cfg.py
DEFAULT_EMAIL_HOST = 'listen.beispiel.de'
DEFAULT_URL_HOST = 'listen.beispiel.de'
/etc/apache2/sites-available/liste-beispiel-de (Lenkt alle Anfragen auf die SSL-Seite um.)
< VirtualHost *:80 >
#Server
ServerAdmin webmaster@beispiel.de
ServerName liste.beispiel.de
ServerAlias www.liste.beispiel.de
 RewriteEngine on
RewriteRule ^(.*)$ https://liste.beispiel.de$1 [L,R=301]
< /VirtualHost>
/etc/apache2/sites-available/liste-beispiel-de-ssl
< VirtualHost *:443>
 #SSL
SSLEngine on
SSLCertificateFile /Pfad zur Zertifikatsdatei/
SSLCertificateKeyFile /Pfad zum Zertifikatsschlüssel/
SSLProtocol all SSLCipherSuite HIGH:MEDIUM
 #Server
ServerAdmin webmaster@beispiel.de
ServerName liste.beispiel.de
ServerAlias www.liste.beispiel.de
 ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /images/mailman/ /usr/share/images/mailman/
 < Directory < /usr/lib/cgi-bin/mailman/ > >
AllowOverride ALL
Options ExecCGI FollowSymLinks
Order allow,deny
Allow from all
< /Directory>
 RewriteEngine on
RewriteRule ^(/*)$ https://liste.beispiel.de/mailman/listinfo [L,R=301]
(Umleitung beim Aufruf "https://liste.beispiel.de" nach /mailman/listinfo)
< /VirtualHost >
So dann noch beide Seiten mit a2ensite
aktivieren. Und die mailman-Liste auch noch angelegt werden.
newlist mailman
Zum Schluss müssen alle Dienste neu gestartet werden:
/etc/init.d/mailman restart
/etc/init.d/postfix restart
/etc/init.d/apache2 restart
So dann müsste eigentlich alles laufen. Zur Überprüfung sollte der Besitzer der mailman-Liste ne Mail erhalten haben, bzw. kann man ja ne Testmail an die mailman-Liste schicken.
Aufschlussreich bei Fehlern ist die /var/log/mail.log, die gesammelten Mailman-Logs unter /var/log/mailman/ sowie die Apache-logs (/var/log/apache2).
Wär cool, daß wenn ich was vergessen haben sollte ihr mir das in den Kommentaren mitteilen würdet.
Ansonsten viel Spass mit euren Mailinglisten.
Hinterlasse eine Antwort