Mailserver med OpenBSD

Det här är början till min guide för att skapa en spam- och virusfiltrerande mailserver...
Guiden kommer att skrivas i två delar. Denna första del förklarar detaljerat hur man sätter upp en välfungerande mailserver under OpenBSD.
Den andra delen av guiden tar hand om installationen av bl.a SpamAssassin, ClamAV och qmail-scanner.

OpenBSD mailserver

Efter installationen kommer du att ha en OpenBSD maskin som är klar för att fungera som en mailserver där mail för ett (ganska) obegränsat antal domäner och användare (enligt specen ca 529 miljoner mailboxar, fördelat på 23 miljoner domäner med vardera 23 miljoner boxar).

Mailen går att läsa/hämta med POP3, IMAP eller via webmail. Användarna kan administrera sitt eget mailkonto eller sin egen domän via ett webgränssnitt.

Det som installeras:

Instruktionerna förutsätter en installation enligt guiden OpenBSD grundinstallation, fram till sida 9 (Startup och shutdown filer).

Partitionering (före grundinstallation)

Eftersom denna instruktion gäller en mailserver, och genomsnittliga mailfiler har en storlek på kring 4k, så behövs det göras lite undantag i grundinstallationen. På maskinerna jag installerat har jag en disk på 40GB, och har gjort partitioner enligt följande tabell:
a/512Mb
bswap2Gb(rek 2*RAM)
cfår inte röras . hela disken
d/usr2GB
e/usr/local9Gb
f/var4Gb
g/tmp2.5Gb
h/homeresten av disken (på 40Gb blir det här ca 17Gb)

Installerar du på en mindre disk, så är det /usr/local som det bör gå att spara in lite diskutrymme på (minst 2GB i storlek för att ge plats för källkod och kompilering).

Då grundinstallationen är klar så bör /home partitionen formatteras om för att ge plats åt fler filer. Gör du inte det kommer du ev. att upptäcka att inoderna tar slut då det återstår ca 50% diskutrymme (lite dumt).

apachectl stop
sleep 1
mv /home/www /root
sleep 1
umount /home
newfs -i 4096 wd0h
Passa också på att 'nosuid' från /etc/fstab för mountningen av /home, dvs ändra:
/dev/wd0h /home ffs rw,nodev,nosuid 1 2
till
/dev/wd0h /home ffs rw,nodev 1 2

Detta kan göras med en Perl "one-liner":

perl -pi -e 's|home ffs rw,nodev,nosuid|home ffs rw,nodev|g' /etc/fstab

Mounta sen upp /home igen och kopiera tillbaks filerna som var där före omformattering.

mount /home
mv /root/www /home
apachectl start

I vanliga fall vill qmail ha sina filer i /var/qmail, men det går alldeles utmärkt att lägga filerna annanstans. Det rekommenderas att använda länkar istället för att helt och hållet ändra alla sökvägar i konfigurationsfiler, och denna installation kommer på ett snyggt sätt att lägga alla mail-relaterade filer under /home.