Mailman

A Mailman egy nyílt forrású program levelezőlisták és hírlevelek kezelésére. Számos nyílt forrású levelezőlista (beleértve az összes Ubuntu levelezőlistát) a Mailmant használja levelezőlista-szoftverként. Hatékony és egyszerű telepíteni és karbantartani.

Telepítés

A Mailman webes felületet biztosít az adminisztrátoroknak és felhasználóknak, az e-mailek küldésére és fogadására pedig külső levelezőkiszolgálót használ. Tökéletesen működik a következő levelezőkiszolgálókkal:

  • Postfix

  • Exim

  • Sendmail

  • Qmail

Ez a szakasz bemutatja a Mailman telepítését és beállítását az Apache webkiszolgálóval és a Postfix vagy Exim levelezőkiszolgálóval. Ha a Mailmant másik levelezőkiszolgálóval szeretné telepíteni, akkor nézze meg a Hivatkozások szakaszt.

[Megjegyzés]

Csak egy levelezőkiszolgálót kell telepítenie, és a Postfix az Ubuntu alapértelmezett levéltovábbító ügynöke.

Apache2

Az Apache2 telepítésével kapcsolatos részletekért lásd a HTTPD telepítése szakaszt.

Postfix

A Postfix telepítésével és beállításával kapcsolatos részletekért lásd: „Postfix”.

Exim4

Az Exim4 telepítésével kapcsolatban lásd: „Exim4”.

Az exim4 telepítése után a konfigurációs fájlok az /etc/exim4 könyvtárba kerülnek. Az Ubuntuban alapértelmezésben az exim4 konfigurációs beállításai több fájlba vannak szétosztva. Ezt a viselkedést a következő változó módosításával változtathatja meg az /etc/exim4/update-exim4.conf fájlban:

  • dc_use_split_config='true'

Mailman

A Mailman telepítéséhez futtassa a következő parancsot:

sudo apt-get install mailman 

Ez átmásolja a telepítőfájlokat a /var/lib/mailman, a CGI parancsfájlokat pedig a /usr/lib/cgi-bin/mailman könyvtárba, és létrehozza a list felhasználót és list csoportot. A mailman folyamatot ez a felhasználó fogja birtokolni.

Beállítás

Ez a szakasz feltételezi, hogy sikeresen telepítette a mailman, apache2 és a postfix vagy exim4 csomagokat. Már csak be kell állítani ezeket.

Apache2

A Mailman tartalmaz egy példa Apache2 konfigurációs fájlt, amely az /etc/mailman/apache.conf alatt található. Ahhoz, hogy az Apache használatba vegye ezt a konfigurációs fájlt, át kell másolni az /etc/apache2/sites-available könyvtárba:

sudo cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf

Ez egy új Apache2 VirtualHost-ot állít be a Mailman adminisztrációs oldalához. Most engedélyezze az új beállításokat, és indítsa újra az Apache2-t:

sudo a2ensite mailman.conf
sudo /etc/init.d/apache2 restart

A Mailman az Apache2 használatával jeleníti meg CGI-parancsfájljait. A Mailman CGI-parancsfájlok a /usr/lib/cgi-bin/mailman könyvtárban találhatók. A Mailman URL-címe így http://gépnév/cgi-bin/mailman/ lesz. Ezt az /etc/apache2/sites-available/mailman.conf fájlban változtathatja meg.

Postfix

A Postfix integrációhoz a lists.példa.hu tartományt társítjuk a levelezőlistákhoz. A lists.példa.hu helyett a saját tartományát használja.

A szükséges beállítások /etc/postfix/main.cf fájlhoz adására használhatja a postconf parancsot:

sudo postconf -e 'relay_domains = lists.példa.hu'
sudo postconf -e 'transport_maps = hash:/etc/postfix/transport'
sudo postconf -e 'mailman_destination_recipient_limit = 1'

Ellenőrizze, hogy az /etc/postfix/master.cf fájlban megvan a következő átvitel:

mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

Ez meghívja a postfix-to-mailman.py parancsfájlt, amikor a lista levelet kap.

Az átvitelleképezéssel társítsa a lists.példa.hu tartományt a Mailman átvitelhez. Szerkessze az /etc/postfix/transport fájlt:

lists.példa.hu      mailman:

A következő parancs kiadásával építtesse fel a Postfix-szel az átvitelleképezést:

sudo postmap -v /etc/postfix/transport

Végül indítsa újra a Postfixet az új beállítások életbe léptetéséhez:

sudo /etc/init.d/postfix restart

Exim4

Az Exim4 telepítése után a következő parancs kiadásával indíthatja el az Exim kiszolgálót:

sudo /etc/init.d/exim4 start

A Mailman és az Exim4 együttműködéséhez be kell állítania az Exim4-et. Ahogy korábban említettük, az Exim4 több különböző típusú konfigurációs fájlt használ. Részletekért lásd az Exim weboldalát. A Mailman futtatásához új konfigurációs fájlt kell felvenni a következő típusokhoz:

  • Elsődleges

  • Átvitel

  • Útválasztó

Az Exim ezen mini konfigurációs fájlok rendezésével előállít egy elsődleges konfigurációs fájlt. Emiatt a konfigurációs fájlok sorrendje nagyon fontos.

Elsődleges

Az elsődleges típusba tartozó összes konfigurációs fájl az /etc/exim4/conf.d/main/ könyvtárban található. Az alábbi tartalmat egy 04_exim4-config_mailman nevű új fájlba vegye fel:

# start
# Home dir for your Mailman installation -- aka Mailman's prefix
# directory.
# On Ubuntu this should be "/var/lib/mailman"
# This is normally the same as ~mailman
MM_HOME=/var/lib/mailman
#
# User and group for Mailman, should match your --with-mail-gid
# switch to Mailman's configure script.  Value is normally "mailman"
MM_UID=list
MM_GID=list
#
# Domains that your lists are in - colon separated list
# you may wish to add these into local_domains as well
domainlist mm_domains=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# These values are derived from the ones above and should not need
# editing unless you have munged your mailman installation
#
# The path of the Mailman mail wrapper script
MM_WRAP=MM_HOME/mail/mailman
#
# The path of the list config file (used as a required file when
# verifying list addresses)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
# end

Átvitel

Az átvitel típusba tartozó összes konfigurációs fájl az /etc/exim4/conf.d/transport/ könyvtárban található. Az alábbi tartalmat egy 40_exim4-config_mailman nevű új fájlba vegye fel:

  mailman_transport:
   driver = pipe
   command = MM_WRAP \
               '${if def:local_part_suffix \
                     {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                     {post}}' \
               $local_part
    current_directory = MM_HOME
    home_directory = MM_HOME
    user = MM_UID
    group = MM_GID

Útválasztó

Az útválasztó típusba tartozó összes konfigurációs fájl az /etc/exim4/conf.d/router/ könyvtárban található. Az alábbi tartalmat egy 101_exim4-config_mailman nevű új fájlba vegye fel:

  mailman_router:
   driver = accept
   require_files = MM_HOME/lists/$local_part/config.pck
   local_part_suffix_optional
   local_part_suffix = -bounces : -bounces+* : \
                       -confirm+* : -join : -leave : \
                       -owner : -request : -admin
   transport = mailman_transport
[Figyelem]

Az elsődleges és az átvitel típusú konfigurációs fájlok sorrendje tetszőleges lehet. Az útválasztó konfigurációs fájlok sorrendjének azonosnak kell lennie. Ennek a fájlnak a 200_exim4-config_primary fájl előtt kell megjelennie. Ez a két konfigurációs fájl azonos típusú információkat tartalmaz. Az első fájlnak elsőbbsége van. További részletekért lásd a hivatkozások szakaszt.

Mailman

A mailman telepítése után a következő paranccsal futtathatja:

sudo /etc/init.d/mailman start

A mailman telepítése után létre kell hoznia az alapértelmezett levelezőlistát. Ehhez adja ki a következő parancsot:

sudo /usr/sbin/newlist mailman
  Enter the email address of the person running the list: bhuvan at ubuntu.com
  Initial mailman password:
  To finish creating your mailing list, you must edit your /etc/aliases (or
  equivalent) file by adding the following lines, and possibly running the
  `newaliases' program:

  ## mailman mailing list
  mailman:              "|/var/lib/mailman/mail/mailman post mailman"
  mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
  mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
  mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
  mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
  mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"
  mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
  mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"
  mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
  mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

  Hit enter to notify mailman owner...

  # 

A Postfix vagy az Exim4 be lett állítva a Mailman e-mailjeinek felismerésére. Emiatt nem kötelező új bejegyzéseket létrehozni az /etc/aliases fájlban. Ha módosította a konfigurációs fájlokat, akkor ne feledje újraindítani a szolgáltatást a következő szakaszra lépés előtt.

[Megjegyzés]

Az Exim4 nem a fenti álneveket használja a levelek Mailmanhez továbbítására, mivel a felderítéses megközelítést használja. Az álnevek a lista létrehozásakor történő elnyomásához felveheti az MTA=None sort a Mailman /etc/mailman/mm_cfg.py konfigurációs fájljába.

Adminisztráció

Feltételezzük, hogy alapértelmezett telepítést használ. A Mailman CGI-parancsfájlok az /usr/lib/cgi-bin/mailman/ könyvtárban találhatók. A Mailman webalapú adminisztrációt biztosít. Ezen oldal eléréséhez nyissa meg a következő oldalt a böngészőjében:

http://gépnév/cgi-bin/mailman/admin

Ezen a képernyőn megjelenik az alapértelmezett, mailman nevű levelezőlista. A levelezőlista nevére kattintva bekéri jelszavát. A helyes jelszó megadása után képes lesz a levelezőlista minden beállításának módosítására. A parancssori segédprogram (/usr/sbin/newlist) segítségével, vagy ennek alternatívájaként a webes felületen is létrehozhat új levelezőlistát.

Felhasználók

A Mailman a felhasználók számára webes felületet biztosít. Ezen oldal eléréséhez nyissa meg a következő oldalt a böngészőjében:

http://gépnév/cgi-bin/mailman/listinfo

Ezen a képernyőn megjelenik az alapértelmezett, mailman nevű levelezőlista. A levelezőlista nevére kattintva megjeleníti a feliratkozási űrlapot. Megadhatja e-mail címét, nevét (nem kötelező) és jelszavát a feliratkozáshoz. Ezután egy meghívó levelet fog kapni. A feliratkozáshoz kövesse az e-mail utasításait.