Exim4 tippek
A HupWiki-ből...
Tartalomjegyzék |
Bevezető
Új vagyok az Exim4-ben. Volt vele pár gondom, amire csak nagy nehezen találtam megoldást, ezért úgy gondolom, hogy mindenki számára hasznos lehet az alábbi pár beállítási tipp, még ha a leírás sok helyen hiányos is. Minden elérési útvonal és az összes update-exim4.conf... bűvészkedés Debian Sarge (vagy újabb) disztribúcióra vonatkozik, más terjesztések ettől merőben eltérhetnek.
Alap Exim4 config
Az alap konfigurációt a 'dpkg-reconfigure exim4-config' futtatásával állíthatjuk be. Az ez által létrehozott fájl alaphelyzetben az /etc/exim4/update-exim4.conf.conf Itt találhatóak az Exim4 számára globális változók, azaz a legfontosabb beállítások.
A config fájl(ok)ról
Az Exim4 config fájlok az /etc/exim4 könyvtárban találhatóak. Ha a csomag telepítésénél azt választottuk ki hogy ne sok kis fájlba tárolja a beállításokat, az összes beállítást az exim4.conf.template fájlban találhatjuk meg. Egyébként pedig a program a conf.d és ennek az alkönyvtáraiban található kis fájlokat fűzi össze.
Ha a sok kis fájlos megoldást választjuk, akkor két lépésből áll a végleges configfájl elkészítése. Először az update-exim4.conf.template fogja, és összefésüli a conf.d mappában található fájlokat egy nagy exim4.conf.template állományba. Majd ezután jöhet a végleges --már az exim daemon által is használt-- configfájl elkészítése az update-exim4.conf scripttel. (Ez készíti el a végleges configot, amit a /var/lib/exim4/ könyvtárba tesz.) Ha nem akarjuk különbontani a beállításokat apró fájlokra, a szerkesztések után elmarad az update-exim4.conf.template futtatása, elég csak a második script. Szerencsére az exim4-et indító init script minden egyes start/restart/reload alkalmával elvégzi helyettünk az update-exim4.conf futtatását ezzel jelentősen csökkentve a felesleges "miért-nem-történt-semmi-pedig-reloadoltam"-típusú hajtépések számát.
Fontos! Az automatikusan generált fájlt ne szerkesszük, mert ez az update-exim4.conf legközelebbi futtatásával minden módosításunk odavész!
Figyelj a dc_other_hostnames beállítására!
Ha megadod a géped domain nevét a dc_other_hostnamesben (update-exim4.conf.conf fájl), nem fogja tudni kikézbesíteni a többi megadott domainre az emaileket az Exim. Ilyen hibát fog dobni: lowest numbered MX record points to local host. Tehát itt ne add meg a géped domain nevét, csak a többi domainnevet írd be, ami a gépedre mutat és fogadni akarsz leveleket rá.
pl. ha a gépünk valami.hu, rá mutat még a proba.hu, akkor így csináljuk: dc_other_hostnames='proba.hu'
/etc/aliases nem működik normálisan?
Ha így adod meg az aliasesben a bejegyzéseket:
postmaster@domain.hu: nonoo
akkor a postmaster, vagy a postmaster@domain.hu címre küldött emaileket az exim Unroutable address hibaüzenettel vissza fogja dobni. Csak úgy működik rendesen ha így írod az aliast:
postmaster: nonoo
Mivel én nem vagyok híve a globális aliasoknak, gyorsan körülnéztem az exim4.conf.template fájlban, a 988. sor környékén (ez a router/400_exim4-config_system_aliases rész) ezt a sort találtam:
data = ${lookup{$local_part}lsearch{/etc/aliases}}
Ezt kell lecserélni erre:
data = ${lookup{$local_part@$domain}lsearch{/etc/aliases}}
Mailman Exim4hez
Keressük meg a 'begin routers' részt az exim4.conf.template fájlban, majd illesszük be alá:
mailman_router: driver = accept require_files = MAILMAN_HOME/lists/$local_part/config.pck local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : \ -confirm+* : -join : -leave : \ -owner : -request : -admin transport = mailman_transport
Ezután keressük meg a 'begin transports' részt, ez alá illesszük ezt:
mailman_transport: driver = pipe command = MAILMAN_WRAP \ '${if def:local_part_suffix \ {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \ {post}}' \ $local_part current_directory = MAILMAN_HOME home_directory = MAILMAN_HOME user = MAILMAN_USER group = MAILMAN_GROUP
Végül a fájl elejére valahova illesszük be:
# Home dir for your Mailman installation -- aka Mailman's prefix # directory. MAILMAN_HOME=/var/lib/mailman MAILMAN_WRAP=MAILMAN_HOME/mail/mailman
# User and group for Mailman, should match your --with-mail-gid # switch to Mailman's configure script. MAILMAN_USER=mailman MAILMAN_GROUP=daemon
Ezután futtassuk le az update-exim4.conf scriptet. Ha hibát jelez, valószínűleg a mailman felhasználó nem létezik. Ekkor adjuk ki ezt a parancsot:
adduser --disabled-login --no-create-home mailman
Ha már van létező mailman listánk, akkor annak működését az 'exim4 -bt listaneve' paranccsal tudjuk leellenőrizni. Kb. ilyet kell visszaadni ha helyesen megy:
listaneve@domain.hu router = mailman_router, transport = mailman_transport
Ez jelzi hogy az erre a címre érkező emaileket a mailman_router és a mailman_transport beállításainak megfelelően fogja kezelni az Exim4.
--Nonoo 2005. október 5., 11:35 (CEST)