Mailman, Postfix, Mysql und virtuelle Domains

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche


Neu.png Dieser Artikel wurde neu erstellt und bedarf evtl. noch einer Korrekturlesung. Danach kann diese Box entfernt werden.
Dieser Artikel ist Teil der HOWTO Sammlung


Mittlerweile gibt es einige gut dokumentierte Seiten im Netz http://www.postfixvirtual.net/, welche sich mit der Einrichtung von Postfix und virtuellen Domains auf Basis von MySQL beschäftigen. In diesem Artikel werde ich nicht näher auf die einzelnen Konfigurationsschritte eingehen, sondern darauf hinweisen, wie man Mailman in einer virtuellen Domainumgebung richtig integriert.

Inhaltsverzeichnis

Installation

Dieser Artikel setzt auch voraus, dass die Mailkommunikation bereits funktioniert und die Installation von mailman erledigt ist. Sollte dies nicht der Fall sein, kann man mit:

[root]# yum install mailman

dies nachholen.

Die Verzeichnisse, die Mailman benutzt sind, sind wie folgt:

  • Home : /usr/lib/mailman
  • Konfig: /etc/mailman/
  • Lists : /var/lib/mailman/


Vorbereitungen

Die verwendete (Sub-)domain, z.B. lists.meinedomain.de, muss einen gültigen A und MX Record haben. Weiterhin muss im Verzeichnis /usr/lib/mailman/ ein symbolischer Link erstellt werden:

cd /usr/lib/mailman 
ln -s /var/lib/mailman/lists/ lists

Kopiert das Skript postfix-to-mailman.py nach /usr/lib/mailman/bin/ und achtet darauf dass das Skript folgende Berechtigungen hat:

<b>Achtung</b> <b>Achtung:</b> -rwxr-xr-x 1 root mailman


Konfiguration

Um Mailman in einer virtuellen Domainumgebung einzurichten, können mehrere Lösungsansätze verfolgt werden. Dieser Artikel behandelt nur einen: über transport maps

Die nachfolgenden Konfigurationsdateien müssen wie folgt angepasst werden:

/etc/postfix/transport

lists.meinedomain.de mailman:

/etc/postfix/main.cf

recipient_delimiter = +
unknown_local_recipient_reject_code = 550
transport_maps = hash:/etc/postfix/transport
relay_domains = lists.meinedomain.de
mailman_destination_recipient_limit = 1

/etc/postfix/master.cf

# Mailman - Mailinglisten-"Protokoll"
mailman unix - n n - - pipe
  flags=FR user=mailman argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}

/etc/mailman/mm_cfg.py

DEFAULT_URL_HOST = "lists.meinedomain.de"
DEFAULT_EMAIL_HOST = "lists.meinedomain.de"
MTA = 'Postfix'
DEFAULT_SERVER_LANGUAGE = 'de'
OWNERS_CAN_ENABLE_PERSONALIZATION = 1

/etc/httpd/conf.d/mailman.conf

<VirtualHost *:80>
 ServerName lists.meinedomain.de
 ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
 <Directory /usr/lib/mailman/cgi-bin/>
   AllowOverride None
   Options ExecCGI
   Order allow,deny
   Allow from all
 </Directory>
 Alias /pipermail/ /var/lib/mailman/archives/public/
  <Directory /var/lib/mailman/archives/public>
   Options Indexes MultiViews FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
  </Directory>
RedirectMatch ^/[/]*$ http://lists.meinedomain.de/mailman/listinfo
</VirtualHost>

/usr/lib/mailman/bin/postfix-to-mailman.py

MailmanHome = "/usr/lib/mailman";
MailmanOwner = "postmaster@meinedoman.de";

Nun müssen nur noch einige Dienste gestartet werden:

[root]# postmap /etc/postfix/transport
[root]# /etc/init.d/postfix restart
[root]# /etc/init.d/httpd restart
[root]# /etc/init.d/mailman restart

Beim ersten Start von Mailman muss die globale Maillinglist mailman erstellt werden:

/usr/lib/mailman/bin/newlist mailman

und mit

[root]# /usr/lib/mailman/bin/genaliases

die entsprechenden Aliase erzeugt werden.

Weblinks


Siehe auch