A jelenlegi "felgyorsult" – azonnali üzenetküldést használó – világunkban már kevéssé használt technológia a levelezőlista, ám a 10 évvel ezelőtti "felgyorsult" világ népszerű fórumhelyettesítő megoldása volt. Ha levelezőlistákat szeretnénk üzemeltetni, akkor a kevés lehetőség közül a Mailman nevű programot érdemes használnunk, telepítsük fel:
# yum install mailman # cd /etc/httpd/conf.d/ # mv mailman.conf hu.javaforum.lists.conf
Majd szerkesszük kicsit az átnevezett állományt:
<VirtualHost *:80> ServerAdmin auth.gabor@javaforum.hu DocumentRoot /var/www/html/ ServerName lists.javaforum.hu 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 AddDefaultCharset Off </Directory> ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/ <Directory /usr/lib/mailman/cgi-bin/> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> RedirectMatch ^[/]*$ /mailman/listinfo RedirectMatch ^/mailman[/]*$ /mailman/listinfo </VirtualHost>
Nagyjából annyit tettünk, hogy létrehoztunk egy lists.javaforum.hu virtuális domain-t, amely majd kiszolgálja a levelezőlistát, ellenőrizzük az Apache Httpd konfigurációját, majd ha minden rendben van, akkor indítsuk újra:
# service httpd configtest Syntax OK # service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
Beállítások
A webes felület beállítását a telepítés során már elvégeztük, a nagyobb beavatkozást a Postfix oldalán kell megejtenünk, mivel a levelezőlista címeit át kell engednie a Mailman programnak, illetve lehetőséget kell adni arra, hogy a Mailman levelet tudjon küldeni.
Első lépésként tanítsuk meg a Postfix-nek, hogy a lists.javaforum.hu domain hozzá tartozik, ezért módosítsuk az alábbi részlet első két sora szerint a /etc/postfix/main.cf tartalmát, majd írjuk hozzá a másik két sort:
mydestination = mail.javaforum.hu, lists.javaforum.hu relay_domains = $mydestination, lists.javaforum.hu mailman_destination_recipient_limit = 1 transport_maps = hash:/etc/postfix/transport
A fenti sorokkal elmagyaráztuk a Postfix számára, hogy a lists.javaforum.hu a sajátja, illetve használja a transport fájl tartalmát, amelynek a végére írjuk hozzá az alábbi egy sort:
lists.javaforum.hu mailman:
Majd alakítsuk adatbázissá:
# postmap /etc/postfix/transport
Ezek után már csak a master.cf fájl végén kell megkeresnünk az alábbi pár sorhoz hasonlót, és módosítani a mailman felhasználó nevét:
mailman unix - n n - - pipe flags=FR user=mailman argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
A postfix-tomailman.py egy trükkös állomány, mert se a Mailman, se a Postfix csomagban nincs ilyen, külön kell levadászni a netről, vagy innen. Ha a megfelelő helyre másoltuk, akkor újraindíthatjuk a Postfix kiszolgálást, illetve a Mailman programot:
# chkconfig mailman on # service mailman start # service postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ]
Levelezőlista létrehozása
Egy új levelezőlista létrehozása igényel némi kézimunkát, elsőképp az alábbi parancsot kell használnunk:
# /usr/lib/mailman/bin/newlist --urlhost=lists.javaforum.hu --emailhost=lists.javaforum.hu mailman Add meg a listát működtető e-mail címét: info@javaforum.hu mailman induló jelszava: A levelezőlista létrehozásának utolsó lépéséhez az /etc/aliases (vagy hasonló) állományba a következő sorokat kell elhelyezni, és valószínűleg futtatni utána a `newaliases' programot: ## mailman levelezőlista mailman: "|/usr/lib/mailman/mail/mailman post mailman" mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/usr/lib/mailman/mail/mailman join mailman" mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman" mailman-request: "|/usr/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman" Nyomd meg az entert a(z) mailman tulajdonosának értesítéséhez...
Tegyünk eleget a leírásnak:
# vi /etc/aliases # newaliases
A levelezőlistánknak működnie kell...