Wednesday, August 02, 2006

dovecot di openbsd

dovocot chroot, di postfix+postfixadmin, virtual domain, dengan database mysql, scheme bawaan dari postfixadmin. POP dan imap di listenkan di port 11000 dan 14300, untuk imap, gw pake imapproxy, listen di 143, trus di konekin ke imap yg asli di 14300, sedangkan untuk pop, gw pake redirect pf.

ni konfigurasinya :

imapproxy.conf

server_hostname 127.0.0.1
cache_size 4272
listen_port 143
listen_address 127.0.0.1
server_port 14300
cache_expiration_time 300
proc_username nobody
proc_groupname nobody
stat_filename /var/run/pimpstats
protocol_log_filename /var/log/imapproxy_protocol.log
syslog_facility LOG_MAIL
syslog_prioritymask LOG_WARNING
send_tcp_keepalives no
enable_select_cache no
foreground_mode no
force_tls no

pf.conf :

rdr on re0 proto tcp from any to re0 port 110 -> 127.0.0.1 port 11000
rdr on re0 proto tcp from any to re0 port 143 -> 127.0.0.1 port 143

#re0 -> public interface#

dovecot.conf :

base_dir = /var/dovecot/
protocols = imap pop3
protocol imap {
listen = 127.0.0.1:14300
}
protocol pop3 {
listen = 127.0.0.1:11000
}

ssl_disable = yes
disable_plaintext_auth = no
login_dir = /var/dovecot/login
login_chroot = yes
login_user = _dovecot
login_greeting = Mail Server Ready to use :) .
default_mail_env = maildir:/home/virtual/%d/%n
mmap_no_write = yes

protocol imap {
login_executable = /usr/local/libexec/dovecot/imap-login
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
}

protocol pop3 {
login_executable = /usr/local/libexec/dovecot/pop3-login
mail_executable = /usr/local/libexec/dovecot/pop3
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}

auth_executable = /usr/local/libexec/dovecot/dovecot-auth

auth default {
mechanisms = plain
passdb sql {
args = /etc/dovecot.sql.conf
}
userdb sql {
args = /etc/dovecot.sql.conf
}
user = root
}

dovecot.sql.conf :

driver = mysql
connect = host=127.0.0.1 dbname=postfix user=postfix password=password
default_pass_scheme = PLAIN
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir,1000 as uid,1000 as gid FROM mailbox WHERE username = '%u'