Användarverktyg

Webbverktyg


teknik:e-postserver_i_debian_wheezy_med_qmail_och_dovecot

E-postserver på Debian Wheezy med Qmail och Dovecot

Här ska vi göra en e-postserver med qmail för SMTP och Dovecot för IMAP.

Historiskt sett har qmail varit ganska krånglig för nybörjare men jag anser att det nya Debian-paketet och en kort guide kan göra det enklare än någonsin att använda världens mest säkra SMTP-server. 1)

Vad som ska demonstreras här är en specifik konfiguration där qmail tar emot post från hela världen för en mottagande domän, men används inte för att skicka e-post med den domänen. Vilket betyder att vi inte ska täcka SMTP-autentisering mot den här servern.

Qmail kommer bara ta emot all post adresserad till en användare på vår domän sydit.se.

Dovecot ska låta användare ladda ner den posten via IMAP, eller krypterat med IMAPS.

Installera qmail

Installationen av qmail har historiskt sett varit komplex, Debian paketet följer därför en välkänd guide som heter Life With Qmail.

$ sudo apt-get install qmail
...
This script runs the following commands, without adding these users and
groups, this qmail-package cannot run on this system.

# groupadd -g 64010 qmail
# addgroup --system nofiles
# useradd -u 64010 -g nofiles -d /var/lib/qmail/alias alias
# useradd -u 64011 -g nofiles -d /var/lib/qmail qmaild
# useradd -u 64015 -g nofiles -d /var/lib/qmail qmaill
# useradd -u 64016 -g nofiles -d /var/lib/qmail qmailp
# useradd -u 64014 -g qmail -d /var/lib/qmail qmailq
# useradd -u 64013 -g qmail -d /var/lib/qmail qmailr
# useradd -u 64012 -g qmail -d /var/lib/qmail qmails

Lägger till gruppen "nofiles" (gid 122) ...
Klar.
qmail uids and gids ok.
...
Your fully qualified host name is mail.sydit.se.
Putting mail.sydit.se into control/me...
Putting sydit.se into control/defaultdomain...
Putting sydit.se into control/plusdomain...
Putting mail.sydit.se into control/locals...
Putting mail.sydit.se into control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to mail.sydit.se.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!

Det spottas ut en massa nyttig information när qmail installeras, den berättar om steg som normalt sett hade tagits manuellt. Därför ska jag förklara lite av det.

  • Det läggs till massa användare och grupper för qmail, men Debian sköter detta åt dig.
  • Värdnamnet av ditt system kontrolleras och används sedan i en hel serie konfigurationsfiler.
    • control/me - Detta blir standardvärdet i filer som behöver ange ett värdnamn för systemet, FQDN används här och jag behåller det.
    • control/defaultdomain - Detta är domänen som används när en användare inte matchar någon annan.
    • control/locals - En lista på alla domän som ska levereras till lokala användare på servern.
    • control/rcpthosts - Detta är domäner som vi ska ta emot e-post för, alla andra mottagare nekas.
  • Till sist påminner Dpkg oss om att vi vid installation enbart tar emot post för mail.sydit.se och att vi ska komma ihåg att lägga till nya domäner till rcpthosts.

Just nu tar servern bara emot post för mail.sydit.se.

Konfigurera qmail

rcpthosts

Så enligt texten ovan ska domäner läggas till i /etc/qmail/rcpthosts för att accepteras av servern. Det ska alltså vara första steget för alla nya domäner.

Den filen ser ut så här nu.

mail.sydit.se
sydit.se

locals

Den här guiden täcker inte virtuella domäner så vi använder filen /etc/qmail/locals. Läs en kort beskrivning om virtuella domäner längre ner.

I /etc/qmail/locals lägger vi till vår mottagardomän sydit.se så den ser ut så här.

mail.sydit.se
sydit.se

Det betyder att dessa två domäner kommer leverera e-post till lokala användare.

Skapa användare

Eftersom vi behandlar sydit.se som en lokal domän så betyder det att qmail kommer försöka leverera alla brev som adresseras till användare@sydit.se lokalt till en linux-användare som motsvarar det namnet.

Så vi måste skapa användare på servern för varje mottagare. Säkerhetsmässigt är det bäst om dessa användare saknar sudo-rättigheter och SSH inloggning. Detta brukar jag lösa genom att använda en särskild grupp för sudo och ssh.

$ sudo useradd -d /home/stefan -m
$ sudo passwd stefan

Ange ett lösenord för användaren, detta kommer användas för IMAP senare.

Maildir

Varje ny användare behöver en katalog för att lagra sin e-post. För det installeras verktyget maildirmake med qmail-paketet i Debian.

$ sudo maildirmail /home/stefan/Maildir
$ sudo chown -R stefan:stefan /home/stefan/Maildir
1)
Ett halvt ironiskt påstående, det finns inga belägg för något annat än att Qmail är en väldigt minimal MTA som följer Unix principen väl.
teknik/e-postserver_i_debian_wheezy_med_qmail_och_dovecot.txt · Senast uppdaterad: 2013-09-27 20:12 av stemid