HowTo: Mini mailserversystem - postfix, courier-imap och webmail
Postat: 25 jun 2006, 20:12
Att sätta upp ett fullödigt mailsystem på Linux är inte helt enkelt. Inte desto mindre är det kul att ha en liten mailserver på Ubuntu-desktopen. Efter många Wiki-besök och Googlande har jag satt ihop ett ett litet fungerade mailsystem för Desktopen för hem/familjebruk.
Systemet baseras på:
Postfix
Courier-imap
Iloha webmail
Då kör vi:
0. Ge din Ubuntumaskin ett fast internt ip.
1. Börja med att skaffa ett (gratis) domännamn på t.ex. <a class="postlink" href="http://www.dyndns.com">http://www.dyndns.com</a>. Välj för enkelhetens skull homelinux.net. När du sedan skriver in erhållna kontouppgifter glöm inte att fylla i fältet "Mail Exchanger (optional):" - annars skapas inte MX-record.
2. Installera ddclient. Finns i förråden. Vid installationen behöver man fylla i ett antal fält. Vid det sista av dessa står något liknande interface. Med det avses nätverket - typ eth0, eth1 ...
Anm.
I vissa routers/brandväggar finns det möjlighet att lägga in dynamisk dns. Det kan kanske vara att föredra. Då behövs ingen ddclient på Ubuntumaskinen.
3. Installera Postfix och mailx. Finns i förråden.
4. Sök upp fil /etc/postfix/main.cf. Kopiera denna (backup) och ersätt innehållet i main.cf med nedanstående (ej pilarna) och spara.
--->
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
myhostname = XXX.homelinux.net
myorigin = /etc/mailname
mydestination = XXX.homelinux.net, localhost.homelinux.net, localhost
relayhost =
mynetworks = 127.0.0.0/8, YYYYYYYY
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/
--->
Anm.
XXX = är det "för"namn du valde till domänen hos DynDns.
YYYYYYYY = Ditt interna nätverk. Det kan du se om du skriver in ifconfig i terminalen. Du kan testa med maskinens interna ip med nätmasken 255.255.255.0. Du skriver i såfall maskinipnr/24.
5. Starta om Postfix
sudo /etc/init.d/postfix restart
6. Lägg till en användare (välj ett namn som passar att ha framför @ i din epostadress - kallas i fortsättningen för valtnamn)
sudo useradd -m -s /bin/bash valtnamn
sudo passwd valtnamn
7. Installera courier-imap. Finns i förråden.
8. Vi ska nu kolla om det funkar så här långt. Starta terminalen och skriv:
telnet XXX.homelinux.net 25
ehlo homelinux.net
mail from: root@homelinux.net
rcpt to: valtnamn@homelinux.net
data
Subject: Post till min domän
Hej,
Funkar det här?
. (observera punkten!)
quit
9. Nu kollar vi om det finns något mail hos valtnamn.
su - valtnamn
cd Maildir/new
ls
Om allt fungerat ska det ligga en fil där.
10. Vi ska nu testa courier-imap. Öppna terminalen. Skriv in:
telnet XXX.homelinux.net 143
Detta (eller något liknande) ska dyka upp som svar:
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS XCOURIEROUTBOX=INBOX.Outbox] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information.
Skriv in i Courier-IMAP serverns prompt:
a login valtnamn valtnamnslösenord
a OK LOGIN Ok.
a logout
11. Klart!
12. Nu tar vi oss an e-post klienten. Själv använder jag Thunderbird.
Att tänka på när man lägger upp kontot.
* Välj IMAP-server (INTE POP3) med port 143 som inkommande server.
* IMAP-serverns adress: maskinens fasta interna ip
Vanligen tvingar ISP sina kunder att skicka utgående mail genom sina smtp-servrar.
SMTP-servern för utgående trafik kan därför konfigureras på alternativa sätt;
Alternativ 1: Skriv in ISP smtp-server adress i epost-klienten. Kontrollera i /etc/postfix/main.cf att det står relayhost =
Alternativ 2: Skriv in localhost som smtp-server i epost-klienten. I main.cf ska det då stå relayhost = ISP smtp-server adress.
Övrigt:
Om det inte fungerar så kolla i loggen /var/log/. Här finns ett antal "mail"-logfiler.
Om man ska lägga in ytterligare användare körs punkt 6 OCH 8. Skickar man ej ett testmail enligt 8. kan man inte logga in i brevlådan när man skapar kontot i epost-klienten.
När man sätter upp en mailserver eller konfigurerar om denna MÃ…STE man förvissa sig om att det INTE går att köra relä-trafik genom servern. Detta kan du testa här:
http://www.antispam-ufrj.pads.ufrj.br/test-relay.html
Servern måste klara dessa 20 tester!
Om det är någon som är intresserad och sätter upp enligt detta koncept, kan jag återkomma med handledning om hur man kompletterar med webmailen Ilohamail.
Tänker nu gå vidare och försöka hitta en passande lösning med antivirus och spamkontroll.
Systemet baseras på:
Postfix
Courier-imap
Iloha webmail
Då kör vi:
0. Ge din Ubuntumaskin ett fast internt ip.
1. Börja med att skaffa ett (gratis) domännamn på t.ex. <a class="postlink" href="http://www.dyndns.com">http://www.dyndns.com</a>. Välj för enkelhetens skull homelinux.net. När du sedan skriver in erhållna kontouppgifter glöm inte att fylla i fältet "Mail Exchanger (optional):" - annars skapas inte MX-record.
2. Installera ddclient. Finns i förråden. Vid installationen behöver man fylla i ett antal fält. Vid det sista av dessa står något liknande interface. Med det avses nätverket - typ eth0, eth1 ...
Anm.
I vissa routers/brandväggar finns det möjlighet att lägga in dynamisk dns. Det kan kanske vara att föredra. Då behövs ingen ddclient på Ubuntumaskinen.
3. Installera Postfix och mailx. Finns i förråden.
4. Sök upp fil /etc/postfix/main.cf. Kopiera denna (backup) och ersätt innehållet i main.cf med nedanstående (ej pilarna) och spara.
--->
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
myhostname = XXX.homelinux.net
myorigin = /etc/mailname
mydestination = XXX.homelinux.net, localhost.homelinux.net, localhost
relayhost =
mynetworks = 127.0.0.0/8, YYYYYYYY
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/
--->
Anm.
XXX = är det "för"namn du valde till domänen hos DynDns.
YYYYYYYY = Ditt interna nätverk. Det kan du se om du skriver in ifconfig i terminalen. Du kan testa med maskinens interna ip med nätmasken 255.255.255.0. Du skriver i såfall maskinipnr/24.
5. Starta om Postfix
sudo /etc/init.d/postfix restart
6. Lägg till en användare (välj ett namn som passar att ha framför @ i din epostadress - kallas i fortsättningen för valtnamn)
sudo useradd -m -s /bin/bash valtnamn
sudo passwd valtnamn
7. Installera courier-imap. Finns i förråden.
8. Vi ska nu kolla om det funkar så här långt. Starta terminalen och skriv:
telnet XXX.homelinux.net 25
ehlo homelinux.net
mail from: root@homelinux.net
rcpt to: valtnamn@homelinux.net
data
Subject: Post till min domän
Hej,
Funkar det här?
. (observera punkten!)
quit
9. Nu kollar vi om det finns något mail hos valtnamn.
su - valtnamn
cd Maildir/new
ls
Om allt fungerat ska det ligga en fil där.
10. Vi ska nu testa courier-imap. Öppna terminalen. Skriv in:
telnet XXX.homelinux.net 143
Detta (eller något liknande) ska dyka upp som svar:
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS XCOURIEROUTBOX=INBOX.Outbox] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information.
Skriv in i Courier-IMAP serverns prompt:
a login valtnamn valtnamnslösenord
a OK LOGIN Ok.
a logout
11. Klart!
12. Nu tar vi oss an e-post klienten. Själv använder jag Thunderbird.
Att tänka på när man lägger upp kontot.
* Välj IMAP-server (INTE POP3) med port 143 som inkommande server.
* IMAP-serverns adress: maskinens fasta interna ip
Vanligen tvingar ISP sina kunder att skicka utgående mail genom sina smtp-servrar.
SMTP-servern för utgående trafik kan därför konfigureras på alternativa sätt;
Alternativ 1: Skriv in ISP smtp-server adress i epost-klienten. Kontrollera i /etc/postfix/main.cf att det står relayhost =
Alternativ 2: Skriv in localhost som smtp-server i epost-klienten. I main.cf ska det då stå relayhost = ISP smtp-server adress.
Övrigt:
Om det inte fungerar så kolla i loggen /var/log/. Här finns ett antal "mail"-logfiler.
Om man ska lägga in ytterligare användare körs punkt 6 OCH 8. Skickar man ej ett testmail enligt 8. kan man inte logga in i brevlådan när man skapar kontot i epost-klienten.
När man sätter upp en mailserver eller konfigurerar om denna MÃ…STE man förvissa sig om att det INTE går att köra relä-trafik genom servern. Detta kan du testa här:
http://www.antispam-ufrj.pads.ufrj.br/test-relay.html
Servern måste klara dessa 20 tester!
Om det är någon som är intresserad och sätter upp enligt detta koncept, kan jag återkomma med handledning om hur man kompletterar med webmailen Ilohamail.
Tänker nu gå vidare och försöka hitta en passande lösning med antivirus och spamkontroll.