4.2. Exim

Exim er en meget nem postserver at sætte op i et netværk - 10 min. og du er kørende! Pral? Prøv.

Først skal vi have hentet Exim. Exim findes i RedHats powertools. RedHat har dog fået deres RPM fra http://www.xs4fun.net/~mark/exim/, hvor du også kan finde den seneste version. Den seneste Exim-pakke exim-3.22-1.i386.rpm er lavet til RedHat 7.0.

Hvis du kører RedHat 6.2 skal du lige have lavet en RPM der passer. Du kan starte med at hente exim-3.22-1.src.rpm. Undersøg også om du har Openssl og OpenSSL-devel pakkerne installeret med

[root@gnuskole /root]# rpm -q openssl
[root@gnuskole /root]# rpm -q openssl-devel

Når disse 3 ting er gjort kører du:

[root@gnuskole /root]# rpm --rebuild exim-3.22-1.src.rpm

Når denne proces er færdig ligger dine nye RPMer i /usr/src/redhat/RPMS/i386/. Brug dem i det følgende.

Exim konflikter med Sendmail pakken, så vi skal have stoppet og afinstalleret sendmail med:

[root@gnuskole /root]# /etc/rc.d/init.d/sendmail stop
[root@gnuskole /root]# rpm -e --nodeps sendmail

Så er sendmail væk (for altid).

Grunden til at du skal bruge --nodeps er, at nogle mindre programmer er afhængige af et SMTP program. Men du installerer jo Exim lige om lidt, det kan programmerne bare ikke vide.

Nu skal Exim installeres med:

[root@gnuskole /root]# rpm -Uvh exim-*.rpm

Hvis du kører RedHat 6.2 skal du lige sørge for at der er et link i /etc til init.d. Opstartsscriptet til Exim forventer at finde scriptet functions her. Det gør du med følgende kommando:

[root@gnuskole /root]# ln -s /etc/rc.d/init.d /etc/init.d

Så skal den bare sættes op og startes.

4.2.1. Exim.conf

Exim styres af kun en fil: /etc/exim.conf. Der følger en eksempelfil med, som indeholder alle de indstillinger, der skal bruges på en skole. Den skal bare tilrettes med de lokale oplysninger. Jeg har lavet en eksempelfil for Gnu Skole, som du finder her.

Lad os så få /etc/exim.conf tilrettet, så vi holder os indenfor de 10 min.

Det første vi skal sætte, er det navn, postserveren skal præsentere sig som overfor brugerne:

primary_hostname = mail.gnuskole.dk

Husk at registrere dette navn hos dit supportcenter (i DNS). Det er ikke strengt nødvendigt at sætte et primary_hostname, da Exim ellers finder det primære maskinnavn og bruger det, men for en sikkerheds skyld!

Internt på skolen kan det være træls altid at skulle skrive domænenavnet i e-post. Den næste ændring gør, at Exim automatisk indsætter skolens domænenavn, hvis man sender til en adresse uden @ .

qualify_domain = gnuskole.dk

Det er da meget smart - ikke?

Så kommer vi til det allervigtigste! For at nogen overhovedet må bruge Exim til at sende post, skal deres maskine have ret til det! Det gøres med:

host_accept_relay = localhost :  195.181.xxx.xxx/28 : 195.181.35.xxx/29 osv. (xxx erne udskiftes med dine faktiske IP-adresser)

Måden at opgive subnetmasken på kan drille lidt; formen 195.181.xxx.xxx/255.255.255.240 duer ikke! Omsætning mellem den lange måde at angive subnetmaske på (som man får fra Sektornet) og den korte, der skal bruges her er beskrevet i "Friheden til systemadministration" under Klasseløst internet

Ligesom du skulle give dine maskiner ret til at sende post ud, skal du også give dem ret til at bruge interne adresser uden @domæne.dk . Det gør du med:

receiver_unqualified_hosts = localhost : 195.181.xxx.xxx/28 : 195.181.xxx.xxx/29 osv. (xxx erne udskiftes med dine faktiske IP-adresser)

Bare kopier adresserne fra linien højere oppe.

I den exim.conf, jeg fik, var der en fejl under afsnittet: local_delivery:. Parameteren: group = mail duede ikke. Exim insisterede på, at jeg skulle bruge det nummer, gruppen mail har i filen: /etc/group, group = 18. Hvis du også får fejl, så prøv at finde mail-gruppens nummer på din egen maskine og indsæt det. Så virker det.

Så er Exim klar til at køre. Skriv:

[root@gnuskole /root]# /etc/init.d/exim restart

Så kører Exim rigtigt - og du kan sende post fra dit netværk. Husk at bruge denne kommando hver gang du har ændret i exim.conf.

Hvor lang tid tog det så?

Dokumentationen til Exim findes på Exims hjemmeside: www.exim.org og som en særlig RPM på http://www.xs4fun.net/~mark/exim/.

4.2.2. Videresendelse

Som en lille tilføjelse vil jeg lige gøre opmærksom på en særlig mulighed, Exim stiller til rådighed. Nemlig muligheden for at videresende en brugers post. Hvis I fx har oprettet en særlig konto til at være officiel postadresse for skolen. Det kunne være brugeren "Kontoret", så kan du videresende al post, der kommer til kontoret@gnuskole.dk til skoleinspektøren eller sekretæren ved at lave en simpel tekstfil, hvis eneste indhold er sekretærens adresse og gemme den i "kontoret"s hjemmekatalog under navnet .forward (punktum forward), så sendes kontorets post automatisk videre.

Lav med det samme en .forward fil i /root/ med din e-mailadresse, så du får tilsendt fejlmeddelelserne fra systemet.