Installera Postfix och Dovecot i FreeBSD: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
mNo edit summary
 
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
Denna guide går igenom hur man installerar Postfix och Dovecot i FreeBSD 7.0. Den går bara igenom grunderna så man får upp en fungerande SMTP server och en IMAP server. Utan kryptering eller säker överföring av uppgifter mellan mailserver och klienter.
Denna guide går igenom hur man installerar Postfix och Dovecot-2.x i FreeBSD. Den går bara igenom grunderna så man får upp en fungerande SMTP server och en IMAP server. Utan kryptering eller säker överföring av uppgifter mellan mailserver och klienter.


== Stäng av sendmail ==
== Stäng av sendmail ==
Börja med att stoppa sendmail:
Börja med att stoppa sendmail:
{{Box Kommando|/etc/rc.d/sendmail stop|}}
{{RootCmd|/etc/rc.d/sendmail stop}}
Sedan ser vi till att sendmail aldrig startar igen, genom att lägga till följande rad i /etc/rc.conf:
Sedan ser vi till att sendmail aldrig startar igen, genom att lägga till följande rader i /etc/rc.conf:
{{Box File|/etc/rc.conf|
{{bc|1=
<pre>
sendmail_enable="NO"
sendmail_enable="NONE"
sendmail_submit_enable="NO"
</pre>
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
}}
 
Även lite sendmail specifika dagliga körningar kan disable:as genom att lägga till följande i filen /etc/periodic.conf:
{{bc|1=
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
}}
För att undvika att sendmail installeras nästa gång du bygger och installerar world & kernel från source, lägg till följande i filen /etc/src.conf:
{{bc|1=
WITHOUT_SENDMAIL=YES
}}
}}
Genom att sätta "NONE" startas ingen sendmail relaterad tjänst (det finns nämligen flera).


== Installera Postfix och Dovecot ==
== Installera Postfix och Dovecot ==
Installera Postfix:
Installera Postfix:
# cd /usr/ports/mail/postfix
{{RootCmd|cd /usr/ports; portmaster mail/postfix}}
# make install clean
Välj PCRE stödet, vilket är default. För att köra SMTP autentisering via Dovecot, välj ''Dovecot 1.x SASL authentication method'' eller ''Dovecot 2.x SASL authentication method'' beroende på vilken version du tänkt installera. På slutet kommer några frågor om mail användare samt om postfix ska läggas till /etc/mailer.conf, svara Ja på båda frågorna.
Välj bara PCRE stödet, vilket är default. På slutet kommer några frågor om mail användare samt om postfix ska läggas till /etc/mailer.conf, svara Ja på båda frågorna.


Installera Dovecot:
Installera Dovecot 2.x:
# cd /usr/ports/mail/dovecot
{{RootCmd|cd /usr/ports; portmaster mail/dovecot2}}
# make install clean
Välj default config, men plocka ev. bort IPv6.
Välj default config, men plocka ev. bort IPv6.


== Konfigurering ==
== Konfigurering ==
I denna guide antar vi att det interna nätverket har IP adresserna 192.168.0.0 till 192.168.0.255 samt att domännamnet är example.com. Dvs mailen som ska tas emot kan t.ex. skickas till användaren foo@example.com. Vidare antar vi att användarnas inboxar ska heta .maildir och vara i Maildir format (ej mbox). Vidare antar vi att alla viktiga systemmail som skickas till root, postmaster m.fl. ska gå till användaren admin@example.com. Utgående mail måste skickas via för ISPs mailproxy som har adressen: smtp.isp.net.
I denna guide antar vi att det interna nätverket har IP adresserna 192.168.0.1 till 192.168.0.255 samt att domännamnet är example.com. Dvs mailen som ska tas emot kan t.ex. skickas till användaren foo@example.com. Vidare antar vi att användarnas inboxar ska heta .maildir och vara i Maildir format (ej mbox). Vidare antar vi att alla viktiga systemmail som skickas till root, postmaster m.fl. ska gå till användaren admin@example.com. Utgående mail måste skickas via för ISPs mailproxy som har adressen: smtp.isp.net.


=== Konfiguerering av Postfix ===
=== Konfiguerering av Postfix ===
Editera filen /usr/local/etc/postfix/main.cf och lägg till eller ändra följande rader:
Editera filen /usr/local/etc/postfix/main.cf och lägg till eller ändra följande rader:
{{Box Fil|/usr/local/etc/postfix/main.cf|
{{bc|1=
<pre>
myhostname = example.com
myhostname = example.com
inet_interfaces = $myhostname, localhost
inet_interfaces = $myhostname, localhost
Line 38: Line 47:
recipient_delimiter = +
recipient_delimiter = +
home_mailbox = .maildir/
home_mailbox = .maildir/
local_destination_concurrency_limit = 2
}}
default_destination_concurrency_limit = 20
Om du använder Dovecot för SMTP autentisering lägger du även till dessa rader:
</pre>
{{bc|1=
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
}}
}}


Editera filen /usr/local/etc/postfix/master.cf för att få lite mer loggning ifrån SMTP servern. Ändra följande rad:
Editera filen /usr/local/etc/postfix/master.cf för att få lite mer loggning ifrån SMTP servern. Ändra följande rad:
{{Box Fil|/usr/local/etc/postfix/master.cf|
{{bc|1=
<pre>
smtp      inet  n      -      n      -      -      smtpd
smtp      inet  n      -      n      -      -      smtpd
</pre>
}}
}}
Och ändra den till:
till:
{{Box Fil|/usr/local/etc/postfix/master.cf|
{{bc|1=
<pre>
smtp      inet  n      -      n      -      -      smtpd -v
smtp      inet  n      -      n      -      -      smtpd -v
</pre>
}}
}}
Den extra loggningen kan stängas av när man märker att allt verkar fungera som det ska.


Editera filen /etc/mail/aliases och lägg till följande rad (den finns förberedd först ibland alla alias):
Editera filen /etc/mail/aliases och lägg till följande rad (den finns förberedd först ibland alla alias):
{{Box Fil|/etc/mail/aliases|
{{bc|1=
<pre>
root: admin@example.com
root: admin@example.com
</pre>
}}
}}


Varje gång man ändrar i alias filen måste man köra kommandot:
Varje gång man ändrar i alias filen måste man köra kommandot:
{{Box Kommando|newalias|}}
{{RootCmd|/usr/local/sbin/postalias /etc/mail/aliases}}
Starta sedan upp Postfix daemonen genom att lägga till följande i /etc/rc.conf:
Starta sedan upp Postfix daemonen genom att lägga till följande i /etc/rc.conf:
{{Box Fil|/etc/rc.conf|
{{bc|1=
<pre>
postfix_enable="YES"
postfix_enable="YES"
</pre>
}}
}}
Och kör sedan kommandot:
Och kör sedan kommandot:
{{Box Kommando|/usr/local/etc/rc.d/postfix start|
{{RootCmd|/usr/local/etc/rc.d/postfix start|output=postfix/postfix-script: starting the Postfix mail system}}
<pre>
 
postfix/postfix-script: starting the Postfix mail system
=== Test av Postfix ===
</pre>
Testa sedan att postfix verkar fungera genom att skicka ett mail internt till någon användare, t.ex. admin:
{{Cmd|<nowiki>echo Test | sendmail admin</nowiki>}}
Kolla sedan i katalogen /home/admin/.maildir/new och se om det dykt upp en ny fil. Kolla innehållet i filen och se om du känner igen texten.
 
=== Konfiguerering av Dovecot ===
Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/dovecot.conf:
{{bc|1=
protocols = imap
listen = *
}}
 
Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/conf.d/10-auth.conf:
{{bc|1=
disable_plaintext_auth = no
}}
 
Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/conf.d/10-mail.conf:
{{bc|1=
mail_location = maildir:~/.maildir
}}
 
Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/conf.d/10-master.conf om du kör med SMTP autentisering:
{{bc|1=
unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
}
}}
 
Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/conf.d/10-ssl.conf:
{{bc|1=
ssl = no
#ssl_cert = </etc/ssl/certs/dovecot.pem                                                       
#ssl_key = </etc/ssl/private/dovecot.pem 
}}
 
Med denna konfigurering kommer IMAP servern acceptera lösenord i klartext och mailboxarna kommer använda Maildirformat och heta ~/.maildir
 
Starta sedan upp Dovecot daemonen genom att lägga till följande i /etc/rc.conf:
{{bc|1=
dovecot_enable="YES"
}}
Och kör sedan kommandot:
{{RootCmd|/usr/local/etc/rc.d/dovecot start|output=Starting dovecot.<br>
Info: If you have trouble with authentication failures, enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork
}}
}}


[[Category:FreeBSD]]
=== Test av Dovecot ===
Enklast är nog att dra igång sitt mailprogram t.ex. Thunderbird och se om du får kontakt med IMAP servern och kan läsa dina mail.
 
== Skapa maildir katalog ==
=== Manuellt ===
För att skapa nödvändiga kataloger med rätt rättigheter kör följande kommandon:
{{Cmd|mkdir -p ~/.maildir/{new,cur,tmp}|chmod -R 700 ~/.maildir}}
 
=== Automatisk för nya användare ===
För att automatiskt skapa nödvändiga kataloger med rätt rättigheter för nya konton som skapas med adduser kommandot, logga in som root och kör följande kommandon:
{{RootCmd|mkdir -p /usr/share/skel/dot.maildir/{new,cur,tmp}|chmod -R 700 /usr/share/skel/dot.maildir}}
 
[[Category:Guide]]

Latest revision as of 11:55, 21 April 2013

Denna guide går igenom hur man installerar Postfix och Dovecot-2.x i FreeBSD. Den går bara igenom grunderna så man får upp en fungerande SMTP server och en IMAP server. Utan kryptering eller säker överföring av uppgifter mellan mailserver och klienter.

Stäng av sendmail

Börja med att stoppa sendmail:

root # /etc/rc.d/sendmail stop

Sedan ser vi till att sendmail aldrig startar igen, genom att lägga till följande rader i /etc/rc.conf:

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

Även lite sendmail specifika dagliga körningar kan disable:as genom att lägga till följande i filen /etc/periodic.conf:

daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"

För att undvika att sendmail installeras nästa gång du bygger och installerar world & kernel från source, lägg till följande i filen /etc/src.conf:

WITHOUT_SENDMAIL=YES

Installera Postfix och Dovecot

Installera Postfix:

root # cd /usr/ports; portmaster mail/postfix

Välj PCRE stödet, vilket är default. För att köra SMTP autentisering via Dovecot, välj Dovecot 1.x SASL authentication method eller Dovecot 2.x SASL authentication method beroende på vilken version du tänkt installera. På slutet kommer några frågor om mail användare samt om postfix ska läggas till /etc/mailer.conf, svara Ja på båda frågorna.

Installera Dovecot 2.x:

root # cd /usr/ports; portmaster mail/dovecot2

Välj default config, men plocka ev. bort IPv6.

Konfigurering

I denna guide antar vi att det interna nätverket har IP adresserna 192.168.0.1 till 192.168.0.255 samt att domännamnet är example.com. Dvs mailen som ska tas emot kan t.ex. skickas till användaren foo@example.com. Vidare antar vi att användarnas inboxar ska heta .maildir och vara i Maildir format (ej mbox). Vidare antar vi att alla viktiga systemmail som skickas till root, postmaster m.fl. ska gå till användaren admin@example.com. Utgående mail måste skickas via för ISPs mailproxy som har adressen: smtp.isp.net.

Konfiguerering av Postfix

Editera filen /usr/local/etc/postfix/main.cf och lägg till eller ändra följande rader:

myhostname = example.com
inet_interfaces = $myhostname, localhost
mynetworks = 192.168.0.0/24 127.0.0.1
releayhost = smtp.isp.net
alias_maps = hash:/etc/mail/aliases
alias_database = hash:/etc/mail/aliases
recipient_delimiter = +
home_mailbox = .maildir/

Om du använder Dovecot för SMTP autentisering lägger du även till dessa rader:

smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Editera filen /usr/local/etc/postfix/master.cf för att få lite mer loggning ifrån SMTP servern. Ändra följande rad:

smtp      inet  n       -       n       -       -       smtpd

till:

smtp      inet  n       -       n       -       -       smtpd -v

Den extra loggningen kan stängas av när man märker att allt verkar fungera som det ska.

Editera filen /etc/mail/aliases och lägg till följande rad (den finns förberedd först ibland alla alias):

root: admin@example.com

Varje gång man ändrar i alias filen måste man köra kommandot:

root # /usr/local/sbin/postalias /etc/mail/aliases

Starta sedan upp Postfix daemonen genom att lägga till följande i /etc/rc.conf:

postfix_enable="YES"

Och kör sedan kommandot:

root # /usr/local/etc/rc.d/postfix start
postfix/postfix-script: starting the Postfix mail system

Test av Postfix

Testa sedan att postfix verkar fungera genom att skicka ett mail internt till någon användare, t.ex. admin:

user $ echo Test | sendmail admin

Kolla sedan i katalogen /home/admin/.maildir/new och se om det dykt upp en ny fil. Kolla innehållet i filen och se om du känner igen texten.

Konfiguerering av Dovecot

Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/dovecot.conf:

protocols = imap
listen = *

Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/conf.d/10-auth.conf:

disable_plaintext_auth = no

Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/conf.d/10-mail.conf:

mail_location = maildir:~/.maildir

Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/conf.d/10-master.conf om du kör med SMTP autentisering:

unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
}

Ändra eller lägg till sedan följande i filen /usr/local/etc/dovecot/conf.d/10-ssl.conf:

ssl = no
#ssl_cert = </etc/ssl/certs/dovecot.pem                                                         
#ssl_key = </etc/ssl/private/dovecot.pem

Med denna konfigurering kommer IMAP servern acceptera lösenord i klartext och mailboxarna kommer använda Maildirformat och heta ~/.maildir

Starta sedan upp Dovecot daemonen genom att lägga till följande i /etc/rc.conf:

dovecot_enable="YES"

Och kör sedan kommandot:

root # /usr/local/etc/rc.d/dovecot start
Starting dovecot.
Info: If you have trouble with authentication failures, enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork

Test av Dovecot

Enklast är nog att dra igång sitt mailprogram t.ex. Thunderbird och se om du får kontakt med IMAP servern och kan läsa dina mail.

Skapa maildir katalog

Manuellt

För att skapa nödvändiga kataloger med rätt rättigheter kör följande kommandon:

user $ mkdir -p ~/.maildir/{new,cur,tmp}
user $
chmod -R 700 ~/.maildir

Automatisk för nya användare

För att automatiskt skapa nödvändiga kataloger med rätt rättigheter för nya konton som skapas med adduser kommandot, logga in som root och kör följande kommandon:

root # mkdir -p /usr/share/skel/dot.maildir/{new,cur,tmp}
root #
chmod -R 700 /usr/share/skel/dot.maildir