HOWTO - sätta upp en mailserver med webmail

Här kan du dela med dig av dina bästa tips och knep.
Kategoriregler
Här ligger de utförliga instruktionerna vi kan tänkas behöva. Leta här om du tex behöver installera nåt program eller sätta upp någon funktion. Starta inte trådar utan att ha ett svar.
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Mors,

Nedan finns ett första utkast till hur man kan sätta upp en mailserver hemma. Mailservern i detta exempel är uppbyggd kring:
Postfix + Dovecot + MailScanner/Spamassassin + ClamAV + IlohaMail (webmail).

Den har inga finesser vad gäller hantering av användare, utan det förutsätts ett mindre antal (upp till något 10-tal) som hanteras av dej som administratör. De som ska köra mail läggs upp som lokala användare på servern. Men i övrigt är den kraftfull och ganska enkel att sätta upp.

Som sagt - handledningen är inte färdig. Jag kommer att justera och komplettera efterhand när tiden så medger. Det finns en hel del att säga om config-filerna som inte tas upp nu. Emellertid hoppas jag att handledningen är i sådant skick att ni kan följa den redan nu och sätta upp mailservern.

Vore bra att få synpunkter, så att vi tillsammans kan kvalitetssäkra och ha målet att föra den till WIKI.


FÖRUTSÄTTNING:

- Ubuntuserver (alt.desktop) 6.0.6.1 ( eller 6.10) installerad
- Tillgång till ett korrekt domännamn (FQDN). I exemplet används xxx.homelinux.net
- Servern står bakom en router/brandvägg på ett LAN
- Servern ska ha ett fast internt ipnr
- ISP tillåter att sätta upp egen mailserver
- Du tar först back-up på de config-filer du ändrar i !!!


SERVERN OCH NÄTVERKET

I vårt exemplet har maskinen fått namnet ubuntuserver. Nätverket i exemplet kan ses nedan. Genom att köra:
ifconfig
erhålls motsvarande uppgifter för ditt nätverk. Dessa uppgifter ska du använda istället.

Ändra i hosts-filen:
sudo nano /etc/hosts

127.0.0.1 localhost ubuntuserver
127.0.1.1 ubuntuserver
-->
127.0.0.1 localhost.localdomain  localhost
192.168.0.7    xxx.homelinux.net  ubuntuserver.homelinux.net  ubuntuserver.xxx.homelinux.net  ubuntuserver

Vid grundinstallationen av Ubuntu erhålls en dynamisk adresstilldelning. Vi måste ändra detta till statisk adress för vår server.
sudo nano /etc/network/interfaces

Ändra:
auto eth0
iface eth0 inet dhcp
Till:
auto eth0
iface eth0 inet static
address 192.168.0.7
netmask 255.255.255.0
gateway 192.168.0.1


FÖRRÅD:

Lägg till Universe-förrådet
sudo nano /etc/apt/source.list

Ta bort # framför Universe-raderna (4 rader/ställen)


MTA-SERVER: Postfix (för att tranportera e-posten)

sudo apt-get install postfix

Några frågor ställs under installationen. Se svar härunder.

Kör sedan:
sudo dpkg-reconfigure postfix

Frågor och svar:
General type of configuration?  Internet Site

Where should mail for root go?  NONE

Mail name?  xxx.homelinux.net

Other destinations to accept mail for?  xxx.homelinux.net, ubuntuserver.xxx.homelinux.net, ubuntuserver.homelinux.net, localhost.xxx.homelinux.net, localhost.homelinux.net, localhost

Force synchronous updates on mail queue?  No

Local networks?  127.0.0.0/8, *yyyyy

Mailbox size limit?  0

Local address extension character?  +

Internet protocols to use?  all

*anm. yyyyy är det interna nätverket. Detta måste läggas till för att användare på detta ska kunna maila. Postfix ser detta nätverk som "trusted". I vårt exempel är addressen 192.168.0.7 och netmasken 255.255.255.0. Detta skrivs in som 192.168.0.0/24

Öppna en av Postfix config filer och komplettera med relayhost. Du skriver in den smtp-server du normalt använder hos din ISP.
sudo nano /etc/postfix/main.cf
relayhost = <Din ISP smtp-server>


SPAMSKYDD: MailScanner/Spamassassin

sudo nano /etc/postfix/main.cf
Lägg till följande rad underst:

header_checks = regexp:/etc/postfix/header_checks

Skapa en fil /etc/postfix/header_checks
och lägg till följande rad i filen:

/^Received:/ HOLD

sudo apt-get install mailscanner

sudo nano /etc/MailScanner/MailScanner.conf
Ändra följande rader till:

Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix

sudo nano /etc/MailScanner/spam.assassin.prefs.conf
Lägg till raden:
razor_config /var/lib/MailScanner

Som komplement till Spamassassin i jakten på spam installeras även pyzor, razor och dcc-client.
sudo apt-get install pyzor razor dcc-client

sudo nano /etc/default/mailscanner
Ändra till:

run_mailscanner = 1

Starta om servern!

Nu ska följande foldrar finnas ..

/var/spool/MailScanner/
/var/lib/MailScanner/
/var/run/MailScanner/
/var/lock/subsys/MailScanner/

Ändra behörigheter:

sudo chown -R postfix.postfix /var/spool/MailScanner/
sudo chown -R postfix.postfix /var/lib/MailScanner/
sudo chown -R postfix.postfix /var/run/MailScanner/
sudo chown -R postfix.postfix /var/lock/subsys/MailScanner/

Kursiverat nedan gäller 6.06.1
Av någon outgrundlig anledning försvinner foldrarna /var/run/MailScanner/ och /var/lock/subsys/MailScanner/ vid varje omstart. Antingen bug i Dapper eller MailScanner. Jag gjorde en "workaround" och flyttade dessa foldrar;

sudo mkdir /var/MailScanner/
sudo mkdir /var/subsys/
sudo mkdir /var/subsys/MailScanner/

Ändra behörigheter:

sudo chown -R postfix.postfix /var/spool/MailScanner/
sudo chown -R postfix.postfix /var/lib/MailScanner/
sudo chown -R postfix.postfix /var/MailScanner/
sudo chown -R postfix.postfix /var/subsys/MailScanner/

Ändra sökvägar:

/var/run/MailScanner/ --> /var/MailScanner/
/var/lock/subsys/MailScanner/ --> /var/subsys/MailScanner/

i följande filer:

sudo nano /etc/rc2.d/S20mailscanner (6 ställen)
sudo nano /etc/MailScanner/MailScanner.conf (2 ställen)


ANTIVIRUS: ClamAV

I paketet ingår freshclam som är konfigurerad att per default kolla nya virusdefinitioner varje timma och uppdaterar automatiskt vid behov. I vår konfiguration scannar clam alla inkommande och utgående mail.

sudo apt-get install clamav

sudo nano /etc/MailScanner/MailScanner.conf
Ändra till:

# This *cannot* be the filename of a ruleset.
Virus Scanners = clamav

Kontrollera rad ung. 439. Den ska se ut så här (ett # ska inleda raden):
# clamav    from <a class="postlink" href="http://www.clamav.net">http://www.clamav.net</a>, or


IMAP-SERVER: Dovecot (för att hantera och läsa e-posten)

sudo apt-get install dovecot-imapd

/etc/dovecot/dovecot.conf
Se till att följande rader finns eller skapa dessa;

protocols = imap
default_mail_env = mbox:~/mail:INBOX=/var/mail/%u


E-POST KLIENT:

- Väli IMAP server, port 143
- Både in- och utgående server ska ha din adress motsvarande 192.168.0.7
- TLS ska vara aktiverat/markerat.


TESTA
- Pröva att skicka och ta emot mail.
- Kontrollera att servern inte ger möjlighet till open relay.
http://www.antispam-ufrj.pads.ufrj.br/test-relay.html


WEBMAIL: IlohaMail

Det är ofta önskvärt att användaren använder SSL, d.v.s https://, i samband med webmail (i vårt fall IlohaMail). Detta medför att all trafik blir krypterad. Eftersom webmail kräver webserver, så installeras först Apache2 med SSL.

sudo apt-get install apache2

Skapa ett certifikat giltigt för ett år. Vid skapandet av certifikatet ska nedanstående fyllas i. Det är VIKTIGT att fylla i korrekt domännamn vid server name.

Country Name (2 letter code) [GB]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company; recommended) []:
Organizational Unit Name (eg, section) []:
server name (eg. ssl.domain.tld; required!!!) []:
Email Address []:

sudo apache2-ssl-certificate -days 365

Gör SSL modulen tillgänglig
sudo a2enmod ssl

Vid SSL ska Apache också lyssna på port 443
sudo echo "Listen 443" | sudo tee -a /etc/apache2/ports.conf

Skapa och gör SSL-siten tillgänglig:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl

sudo nano /etc/apache2/sites-available/ssl

Ändra överst i filen så det ser ut så här:

NameVirtualHost *:443
<virtualhost *:443>
        ServerAdmin webmaster@localhost

        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem

        DocumentRoot /var/www/
        <directory />
                Options FollowSymLinks
                AllowOverride None
</directory>

....> fortsättning ...

Gör den tillgänlig:
sudo a2ensite ssl


Installera IlohaMail:

sudo apt-get install ilohamail
OBS! Innan du säger YES till installationen, så läs vad som kommer att installeras
Välj Apache-ssl

Skapa en symlink:
sudo ln -s /usr/share/IlohaMail/source /var/www/webmail

sudo nano /etc/IlohaMail/conf.php

Fyll i smtpserver:
$SMTP_SERVER = "192.168.0.7";

Logga in på Ilohamail:
http(s)://192.168.0.7/webmail (på LANet)
alt.
http(s)://xxx.homelinux.net/webmail (på Internet)

User ID: <ditt användarnamn>
Password: <ditt lösenord>
Server: localhost  
Type:IMAP

Fyll först i följande:
Under options:
Välj tidszon 2 och 24 timmars klocka.
Kryssa också i "Save sent items"
samt välj "Save sent messages in folder:Sent"

Vidare under options/Identities skriv in ditt namn och e-post adress.

Sedan finns det mycket annat att anpassa efter önskemål.
Senast redigerad av 1 northface, redigerad totalt 18 gånger.
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Än dum fråga bara:
exempel är addressen 192.168.0.7 och netmasken 255.255.255.0. Detta skrivs in som 192.168.0.0/24
Stämmer det med 192.168.0.0/24 ?  Inte 192.168.0.7/24 ?

Jag försöker förstår det hela och ska nu under helgen starta.

Bra jobb, förresten ;)
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Vet inte riktigt säkert vilket som är det gängse skrivsättet för  nätverket. 192.168.0.0/24 , 192.168.0.1/24, 192.168.0.2/24 ...... 192.168.0.255/24 är som jag uppfattar det samma sak.

Eller kan man skriva 192.168.0.0  255.255.255.0.
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

OK jag ska gå igenom det nu. Kanske jag kan komma på nånting där... ;)
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Du står inför en hyfsad utmaning. Det kan va en rysare att få igång en mailserver - det är inget man direkt snyter ur näsan ...så hoppas det går bra.
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Hej!
E-POST KLIENT:

- Väli IMAP server, port 143
- Både in- och utgående server ska ha din adress motsvarande 192.168.0.7
- TLS ska vara aktiverat/markerat.
1.  I vilket program ska jag skriva in det? I Evolution eller windows motv. outlook express?

2. Hur lägger man till en ny användare i IlohaMail ( lösenord, etc ) ?


Har jag missat nånting? ;)
Senast redigerad av 1 Okänd, redigerad totalt 20 gånger.
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

1. Ja, använd din "favorit" klient
2. Inloggningsuppgifterna är det samma som du har för inloggning på maskinen.
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Toppen Northface

Allting frid och fröjd här  ;D

Nu ska jag konfigurerar postfix så att den använder domän från DynDns för in och utgående trafik. Har fått en handledning.

En sak till:

Det enda, och faktisk verkligen det ända felet, var en feltolkning av raden
Skapa en symlink:
sudo ln -s /usr/share/IlohaMail/source /var/www/webmail
Såg inte att det var mellanslag mellan source och /var/
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Håller tummarna ...
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

God morgon northface !

Jag satt hela natten men det funkar inte.
Servern går fint lokalt och även att skicka ut mail. Problemet är, jag kör dyndns med xxx.homelinux.com och det går alltså inte att skicka mail till adressen från min ISP adress. Den studsar tillbacka.

Har du lösat problemet ?
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Guten Morgen!

1. Har du någon router/brandvägg, där du glömt att öppna port 25 för inkommande trafik?
2. Kontrollera att rätt ip är kopplat till ditt domännamn hos dyndns
Senast redigerad av 1 northface, redigerad totalt 21 gånger.
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Jaha... port 25 är öppen i min router nu men min ISP har spärrat den..... :'(
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Nja. Dom tvingar dej att gå via deras mailserver när du skickar epost. Det är nog inte det som är problemet.

Om du skickar till din mailserver utifrån så säger du att mailen studsar. Kan du precisera? Får avsändaren ett mail tillbaka? Vad står i detta mail? 
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Jo, när jag skicka ifrån evolution med min xxx@comhem adress till xxx@xxx.homelinux.com så kommer mailet tillbacka efter en timme med UNKNOWN RECIPIENT.

*
Oj, nu har jag startat en ny tråd med port 25...under nätverk och server..
*
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Har du kollat?
2. Kontrollera att rätt ip är kopplat till ditt domännamn hos dyndns
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Kör i terminalen:

telnet localhost 25

Klistra in svaret här.
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Det här kommer upp och sen tvärstanna den...
pauli@pauli-server:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 eivor.homelinux.com ESMTP Postfix (Ubuntu)
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Det svar du fått är korrekt!
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Emil.s »

Har försökt nu jag med...

Ska egentligen bara ha en server för utgående post. Och jag har haft igång postfix förut, så jag vet ungefär hur det fungerar...
Men jag kan inte logga in!

Har startat server. Och den startar utan problem. Men när jag ska logga in så står det att användarnamn eller lösenord är fel.
men det är rätt!?

Och jag kan inte skicka mail.. Blir något fel.

Här är /var/log/mail.log från när man försöker ansluta med en klient:

Kod: Markera allt

Jan 26 21:18:22 servern postfix/master[6398]: daemon started -- version 2.3.3, configuration /etc/postfix
Jan 26 21:19:02 servern postfix/smtpd[6402]: connect from unknown[10.0.0.1]
Jan 26 21:19:02 servern postfix/smtpd[6402]: SSL_accept error from unknown[10.0.0.1]: -1
Jan 26 21:19:02 servern postfix/smtpd[6402]: lost connection after STARTTLS from unknown[10.0.0.1]
Jan 26 21:19:02 servern postfix/smtpd[6402]: disconnect from unknown[10.0.0.1]
Jan 26 21:19:02 servern postfix/smtpd[6402]: connect from unknown[10.0.0.1]
Jan 26 21:19:02 servern postfix/smtpd[6402]: disconnect from unknown[10.0.0.1]
Jan 26 21:19:35 servern postfix/smtpd[6402]: connect from unknown[10.0.0.1]
Jan 26 21:19:35 servern postfix/smtpd[6402]: lost connection after EHLO from unknown[10.0.0.1]
Jan 26 21:19:35 servern postfix/smtpd[6402]: disconnect from unknown[10.0.0.1]
Och här är konfigurationen:

Kod: Markera allt

root@servern: /home/emil # cat /etc/postfix/main.cf 
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = smtp.sandnabba.se
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = servern, localhost.localdomain, , localhost
relayhost = 
mynetworks = 127.0.0.0/8 10.0.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Mail/
men man kan ansluta via telnet:

Kod: Markera allt

emil@emils-macbook.local: ~ $ telnet 10.0.0.5 25
Trying 10.0.0.5...
Connected to 10.0.0.5.
Escape character is '^]'.
220 smtp.sandnabba.se ESMTP Postfix (Ubuntu)
Någon idé om vad som kan vara fel?
Home sweet ~/ = http://sandnabba.se
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: HOWTO - sätta upp en mailserver med webmail

Inlägg av Okänd »

Vilken Ubuntuversion?
Kör du med dovecot?
Vilket blir svaret på: telnet 10.0.0.5 143
Skriv svar

Återgå till "Guider"