Skip to end of metadata
Go to start of metadata

5.2.9. Levelezőlisták

A levelezőlista kiszolgálók alapvető feladata, hogy egy üzenetet több email címre juttasson el, s viszonylag kevés élőmunkával valósítsák meg a felhasználók kezelését, a legjobb, ha maguk a felhasználók képesek feliratkozni, leiratkozni illetve egyéb műveleteket végezni. Erre a célra a mailman jó választás lehet, mivel ez a program már bizonyított az viszonylag hosszú élete során.

Klónozzuk a template fájlrendszert, hozzuk létre belőle a mailman jail-t, hozzunk létre egy új fájlrendszert, amelyet csatoljuk a jail /data helyre. Állítsuk be a jail paramétereit, indítsuk el, majd telepítsük fel a postfix programot, a mailman programot (a POSTFIX opcióval), illetve egy apache is kell (apache 2.2.x), amely majd a webes felületet kezeli.

5.2.9.1. A postfix beállításai

A postfix beállítása már szinte rutin kell legyen, az alábbi részletet kell a main.cf végére írnunk:

/usr/local/etc/postfix/main.cf

Ezen túl a postfix könyvtárát át kell helyeznünk a megadott helyre:

Parancssor

A /etc/rc.conf állományban tiltsuk le a sendmail futását és engedélyezzük a postfix elindulását:

/etc/rc.conf

A postfix ezzel üzemkész, egyedül arra kell figyelni, hogy a mail jail-ben futó postfix tudjon a mailman jail-ben használt lists.javaforum.hu doménről, egyszerűen csak hozzá kell adnunk a spam.javaforum.hu doménhez hasonlóan a transport adatbázishoz:

/usr/local/etc/postfix/transport

5.2.9.2. A Mailman beállításai

A mailman telepítése előtt be kell állítani egy környezeti változót, mivel hiába mondjuk meg, hogy postfix a levelezőszerver, a fordítás során hibásan állítja be a szkriptek csoportát:

Parancssor

A Mailman a /usr/local/mailman könyvtárban lakik, a részletes beállításait most mellőzném, a lényeg, hogy vegyük hozzá az mm_cfg.py fájl végére a beállításainkat:

/usr/local/mailman/Mailman/mm_cfg.py

A szervernevek megadásán kívül gyakorlatilag arra utasítjuk, hogy a listák adatait és az archívumot a /data alatt keresse. Ehhez természetesen át kell azokat mozgatni oda:

Parancssor

Majd hozzuk létre a mailman nevű levelezőlistát:

Parancssor

Az itt listázott sorokat adjuk hozzá a /etc/aliases állományhoz, majd futtassuk le a `newaliases` parancsot. A mailman és a postfix most már képes lesz együttműködni, csak hozzá kell adnunk a /etc/rc.conf állományhoz:

/etc/rc.conf

A mailman részletes beállításaira most nem térnék ki – azt olvashatjuk a program dokumentációjában. A lényeg az, hogy a levelezőlistát két irányból érhetjük el, az egyik irány a levelezés, a másik irány a webes felület. A webes felületet tegyük félre kicsit, foglalkozzunk az email címekkel. A mailman címei virtuális címek, ha azokra érkezik egy levél, akkor a postfix az aliases adatbázis alapján elindítja rá a mailman megfelelő programját.

Új levelezőlista felvételéhez egyszerűen a mailman newlist programját kell használnunk:

Parancssor

Ha ezt is hozzáadjuk a /etc/aliases fájlhoz, akkor már működik a levelező listánk... Smile

5.2.9.3. A mailman webes felülete

A mailman alatt vannak perl alapú cgi-bin programok, amelyek webes felületet állítanak elő, s ezekhez kell egy olyan webszerver, amely képes cgi-bin futtatására. Egy Apache erre a feladatra kissé túlzás, de megteszi... Smile

Vegyünk fel az apache22 alá egy új virtuális host-ot:

/usr/local/etc/apache22/Includes/mailman.conf

Ha felvesszük a /etc/rc.conf állományban az apache22 elindítását, majd elindítjuk az Apache szolgáltatást, akkor az vígan kiszolgálja mailman igényeit, bár ennél többre is képes, kicsit vágjuk vissza az igényeit:

Ha csinálunk át átmeneti átirányítást a 192.168.2.8:80 port felé, akkor ki is tudjuk próbálni, hogy jól működik-e.

Az Apache alapból nem képes naplózni a Syslog használatával, alapból a /var/log/ könyvtárba írja a httpd-access.log illetve a httpd-error.log fájlba vég nélkül az információkat, így a jail fájlrendszere hamar megtelik. A Webszerver fejezetben leírtam, miképp kell az Apache kiszolgálót Syslog használatára kényszeríteni.


Előző fejezet Tartalomjegyzék Következő fejezet


Auth Gábor auth.gabor@javaforum.hu


Labels: