tisdagen den 7 september, voff  
Virtuella domäner med Exim 4


Konfigurationen kräver att programmet Exim 4.x finns installerat.

Lokal domän

I systemets aliasfil, vanligtvis /etc/aliases, ska alias för serverns egen domän läggas in. Serverdomänen kan anges med primary_hostname i Exims konfigurationsfil som brukar vara /etc/exim/exim.conf, men det är inte nödvändigt eftersom Exim tar reda på det själv annars. Aliasfilen byggs upp ungefär såhär:
blyger: hiej@foo.se
prosit: hiaj
Det som står till vänster om kolontecknet är ett alias och det som står på högra sidan är användaren eller adressen som brev ska vidarebefordras till. Så om serverdomänen är satt till lokalserver.se kommer all epost riktad till blyger@lokalserver.se att skickas vidare till hiej@foo.se och brev till prosit@lokalserver.se kommer att skickas vidare till den lokala användaren hiaj eftersom det inte finns något domännamn efter hiaj.

Virtuella domäner

Alla övriga domäner kan läggas in i en fil som kallas /etc/exim/domaner.virtuella:
hej.se
haj.se
hoj.se
Tomma rader och rader som börjar med # ignoreras av programmet. Den här filen behövs för att Exim ska veta vilka domäner den är värd för, eftersom den brukar vara förinställd att neka vidarebefordran av post till användare på andra domäner än sin egen.

Aliasen för de virtuella domänerna kan läggas in i en fil som kallas /etc/exim/alias.virtuella:
@hej.se: butter
blyger@hej.se: kloker
glader@hej.se: trötter
info@hej.se: prosit

@haj.se: russin
blyger@haj.se: bröd
glader@haj.se: mjölk

glader@hoj.se: ost
snövit@hoj.se: butter@externdomän.se
info@hoj.se: kokos
Den här filen är uppbyggd på i stort sett samma sätt som /etc/aliases. För varje domän går det att ange en mottagare för all epost till alias som inte finns med i listan. T.ex. kommer brev adresserade till info@haj.se att gå till den lokala användaren russin. Om någon skickar ett ebrev till någon ickeexisterande adressat på hoj.se kommer Exim att skicka ett felmeddelande till avsändaren.

Precis som i /etc/aliases går det på högra sidan om kolontecknet att ange externa adresser. Således kommer alla brev till snövit@hoj.se att skickas vidare till butter@externdomän.se.

För att Exim ska känna till de virtuella domänerna kan en söksträng läggas till i /etc/exim.conf:
domainlist local_domains = @:localhost:lsearch;/etc/exim/domaner.virtuella
Också här åtskiljs olika värden av kolon. @-tecknet står för serverdomänen. lsearch gör en linjär sökning i /etc/exim/domaner.virtuell och letar efter ett domännamn på varje rad.

Routrarna som dirigerar om breven ska ligga någonstans under begin routers, gärna efter system_aliases.
domaner_virtuella:
driver = redirect
data = ${lookup{$local_part@$domain}lsearch{/etc/exim/alias.virtuella}}

doman_virtuella_ovriga:
driver = redirect
data = ${lookup{@$domain}lsearch{/etc/exim/alias.virtuella}}
Den örversta routern tar hand om brev ställda till existerande alias, medan domaner_virtuella_ovriga skickar resten av posten till användaren som är högst upp för varje domän. Om du inte vill ha den funktionen för någon av domänerna kan routern tas bort.

Debian GNU/Linux

För att lätt kunna göra små ändringar i Exims konfigurationsfil och samtidigt kunna utnyttja Debians konfigureringsverktyg Debconf så bra som möjligt har utvecklarna valt att dela upp konfigurationsfilerna och sedan låta skriptet update-exim4.conf generera en "exim.conf" utifrån dem.

Beroende på vilka filer som existerar läser update-exim4.conf innehållet från /etc/exim4/exim.conf.template eller filerna under /etc/exim4/conf.d var för sig samt /etc/exim4//etc/exim4/update-exim4.conf.conf för att sedan generera filen /var/lib/exim4/config.autogenerated som används av Exim.

Om /etc/exim4/exim.conf.template används är det bara att lägga in routrarna i filen och i /etc/exim4/etc/exim4/update-exim4.conf.conf ändra värdet på variabeln dc_other_hostnames till @:localhost:lsearch;/etc/exim/domaner.virtuella precis som ovan.

Används istället filerna under /etc/exim4/conf.d ska /etc/exim4/etc/exim4/update-exim4.conf.conf ändras precis som ovan. För routrarna kan en fil som heter /etc/exim4/conf.d/router/410_exim4-config_virtuella_domaner skapas så att de hamnar efter system_aliases.

Efter att respektive ändringar är gjorda kan du köra /usr/sbin/update-exim4.conf och sedan starta om Eximdemonen med /etc/init.d/exim4 reload om programmet körs som en demon.



---

Aron Håkanson, aron@hakanson.se, 2004-04-19


Lexikon

Bogof. + Exim3
Bogof.+Sendmail
Virt. dom. + Exim 4

Hej
Länkar
  if nothing else is expressed, no copyright       hakanson.se