Log in


Forgot your password?
prijatelji LUGoNSa
gnu.gif
linuxzasve.jpg
hulk.jpg
 
You are here: Home / Uputstva / Opšte / Dovecot konfiguracija

Dovecot konfiguracija

by Goran Mekić last modified Apr 22, 2008 11:55 AM
Kako namestiti POP3 i IMAP server

O programu

Dovecot je mali, brz i stabilan POP3 i IMAP server (prve dve stavke su proverene, a za treću se nadam da je nikad neću morati demantovati). Ovo upustvo će Vam pokazati kako da dovecot koristite i kao LDA/MDA i kao SASL implementaciju na serverskoj strani.

Šta je potrebno pre konfiguracije

  • LDAP. Koristi se za čuvanje informacija o korisničkim nalozima.
  • POP3. Standardan protokol za preuzimanje pošte
  • Sieve. Ekstenzija dovecot LDA koja sortira pristiglu poštu na osnovu definisanih pravila
  • SSL. Siguran prenos podataka.
  • Dovecot-dspam. Nezvanični plugin za dovecot koji služi za treniranje dspam-a.

Konfiguracija

Kao i obično, daću konfiguracioni fajl i iskomentarisati linije koje nisu same po sebi jasne

/etc/dovecot/dovecot.conf (glavni fajl):
# Slušaj na svim IPv6 i IPv4 adresama
listen = [::]
listen = *

# Gde se mail dostavlja (koristi se maildir u korisničkom direktorijumu)
default_mail_env = maildir:%h/.maildir

# Koje protokole treba uključiti (imap se obično koristi za webmail, a protokoli sa
# nastavkom ¨s¨ su SSL varijante istih)
protocols = imap imaps pop3s

# Ranije verzije dovecot-a su imale bug koji se ovako obilazio
# To je podrazumevajuća vrednost za ovu opciju, ali se nije učitavala
# automatski kako treba
pop3_uidl_format = %08Xu%08Xv

# Korišćenjem postfix SSL ključeva izbegavamo generisanje istih za dovecot
ssl_cert_file = /etc/postfix/certs/FOO-cert.pem
ssl_key_file = /etc/postfix/certs/FOO-key.pem
ssl_disable = no

# IMAP protokol sluša samo konekcije sa lokalnog hosta
# SSL varijanta sluša na svim adresama
# Učitava se DSPAM plugin
protocol imap {
  listen = localhost
  ssl_listen = *
  mail_plugins = dspam
}

protocol pop3 {
}

# Za LDA se učitava sieve i deklariše se fajl gde su definisana sieve pravila
# Kada pogledate sieve.conf, biće jasnije šta je sam sieve
protocol lda {
  postmaster_address = postmaster@domen.org
  global_script_path = /etc/dovecot/sieve.conf
  mail_plugins = cmusieve
}

# Mehanizmi autentifikacije
auth default {
  mechanisms = plain

# Za lozinke se koristi LDAP i to po pravilima definisanim u sledećem fajlu
  passdb ldap {
    args = '/etc/dovecot/dovecot-ldap.conf'
  }

# Sve informacije za korisnike se kupe u passdb, te za isporučivanje pošte
# nije potrebno ponovo slati upit na ldap
  userdb prefetch {
  }

# Informacije o korisnicima moraju biti dostupne LDA programu (ne može da koristi prefetch)
  userdb ldap {
    args = '/etc/dovecot/dovecot-ldap.conf'
  }

# Sledeća 2 bloka su SASL implementacija
  socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = mymail
    }

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

# Korisnik pod čijim nalogom dovecot radi
  user = root
}

dict {
}

# Dodatna konfiguracija za svaki plugin ponaosob ako podrazumevane opcije nisu po Vašoj volji
plugin {
}


/etc/dovecot/dovecot-ldap.conf:
# Host na kome je LDAP
hosts = localhost

# Nalog koji može da čita i ažurira LDAP unose
dn = "cn=root,dc=ldap"

# Lozinka za gornji nalog (promenite je na onu koju ste dali pri konfigurisanju LDAP-a)
dnpass = XXXXXX

# Uradi bind i koristi verziju 3 LDAP protokola
auth_bind = yes
ldap_version = 3

# Odakle u LDAP stablu se počinje pretraga
base = ou=%d, dc=ldap

# Opseg pretrage
scope = subtree

# Atributi koji su potrebni dovecot-u (osim lozinke, kupe se svi atributi
# kako bi se smanjio broj upita za jedan jer se ne koristi poseban upit za
# lozinku, poseban za korisničko ime)
pass_attrs = uid=user,userPassword=password,homeDirectory=userdb_home,uidNumber=userdb_uid,gidNumber=userdb_gid
pass_filter = (&(objectClass=person)(uid=%n))

# Korisnički atributi (potrebni samo za LDA)
user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid
user_filter = (&(objectClass=person)(uid=%n))

# Šema po kojoj se lozinke čuvaju
default_pass_scheme = CRYPT

/etc/dovecot/sieve.conf
# Potrebno za ¨fileinto¨ direktive
require "fileinto";

# Ako postoji header ¨X-DSPAM-Result¨ i nije ¨Innocent¨ ili ¨Whitelisted¨, poruka ide u SPAM direktorijum
if exists "X-DSPAM-Result"
{
        if not anyof (  header :contains "X-DSPAM-Result" "Innocent",
                        header :contains "X-DSPAM-Result" "Whitelisted")
        {
                fileinto "SPAM";
        }
}
I na kraju dodati grupu i korisnika:
# groupadd mymail
# useradd -g mymail -s /sbin/nologin mymail -m

Related content
OpenLDAP konfiguracija

Document Actions