HowTo - mailserver med virtuella domäner och användare
Postat: 28 nov 2008, 21:34
Nedanstående GRUNDINSTALLATION kan byggas på med TLS, SSL, ANTIVIRUS, ANTISPAM och WEBMAIL enligt http://www.ubuntu-se.org/phpBB3/viewtop ... 54&t=33709 .
Denna GRUNDINSTALLATION kräver inte MySQL!
Installera
Skapa en virtuell mailboxgrupp
Skapa en virtuell mailboxägare
Skapa en domänfil och kalla den vhosts
Öppna
Klistra in enligt nedan och spara
DinDomän1.se
DinDomän2.se
Konfigurera Postfix
Skapa en ny main.cf till Postfix och spara orginalet med ett nytt namn
Skapa en ny main.cf
Öppna, klistra in nedan och spara
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu/GNU)
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
myhostname = localhost
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mynetworks = 127.0.0.0/8, <ditt egna interna nätverk>
mailbox_size_limit = 0
home_mailbox = Maildir/
relayhost = < din ISP:s relay server (typ smtp.bredband.net)>
virtual_mailbox_domains = /etc/postfix/vhosts
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps
virtual_minimum_uid = 1000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
recipient_delimiter = +
inet_interfaces = all
Konfigurera Dovecot
Skapa en ny dovecot.conf till Dovecot och spara orginalet med ett nytt namn
Skapa en ny dovecot.conf
Öppna, klistra in nedan och spara
base_dir = /var/run/dovecot/
protocols = imap pop3
disable_plaintext_auth = no
shutdown_clients = yes
log_path = /var/log/dovecot
info_log_path = /var/log/dovecot.info
log_timestamp = "%Y-%m-%d %H:%M:%S "
ssl_disable = yes
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_greeting = Dovecot ready.
mail_location = maildir:/home/vmail/%d/%n
mmap_disable = no
valid_chroot_dirs = /var/spool/vmail
protocol imap {
login_executable = /usr/lib/dovecot/imap-login
mail_executable = /usr/lib/dovecot/imap
}
protocol pop3 {
login_executable = /usr/lib/dovecot/pop3-login
mail_executable = /usr/lib/dovecot/pop3
pop3_uidl_format = %08Xu%08Xv
}
auth_executable = /usr/lib/dovecot/dovecot-auth
auth_verbose = yes
auth default {
mechanisms = plain digest-md5
passdb passwd-file {
args = /etc/dovecot/passwd
}
userdb passwd-file {
args = /etc/dovecot/users
}
user = root
}
Vi ska nu använda några script för att kunna lägga till virtuella användare och lösenord.
Script för att skapa användare
Skapa en fil med namnet adddovecotuser enligt
Öppna
Klistra in nedanstående
echo "$1" > /tmp/user
user=`cat /tmp/user | cut -f1 -d "@"`
domain=`cat /tmp/user | cut -f2 -d "@"`
echo "$user@$domain::5000:5000::/home/vmail/$domain/:/bin/false::" >> /etc/dovecot/users
/usr/bin/maildirmake.dovecot /home/vmail/$domain/$user 5000:5000
echo $1 $domain/$user/ >> /etc/postfix/vmaps
postmap /etc/postfix/vmaps
postfix reload
Gör filen exekverbar
Script för att skapa lösenord
Skapa en fil med namnet mkdovecotpasswd enligt
Öppna
Klistra in nedanstående
mkpasswd --hash=md5 $2 > /tmp/hash
echo "$1:`cat /tmp/hash`" >> /etc/dovecot/passwd
Gör filen exekverbar
Skapa filen passwd enligt:
Ändra rättigheter
Vi skapar användare enligt modellen
och sedan ett tillhörande lösenord enligt
Första gången en given domän kopplas ihop med en användare måste vi ändra ägarskap på domänen. (Bug?)
Starta om Postfix resp. Dovecot
Starta alltid om Dovecot efter att en ny användare har lagts till!
Denna GRUNDINSTALLATION kräver inte MySQL!
Installera
Kod: Markera allt
sudo apt-get install postfix dovecot-common dovecot-imapd dovecot-pop3d whois
Kod: Markera allt
sudo groupadd -g 5000 vmail
Kod: Markera allt
sudo useradd -m -u 5000 -g 5000 -s /bin/bash vmail
Kod: Markera allt
sudo touch /etc/postfix/vhosts
Kod: Markera allt
sudo nano /etc/postfix/vhosts
DinDomän1.se
DinDomän2.se
Konfigurera Postfix
Skapa en ny main.cf till Postfix och spara orginalet med ett nytt namn
Kod: Markera allt
sudo mv /etc/postfix/main.cf /etc/postfix/main.cf.orig
Kod: Markera allt
sudo touch /etc/postfix/main.cf
Kod: Markera allt
sudo nano /etc/postfix/main.cf
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
myhostname = localhost
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mynetworks = 127.0.0.0/8, <ditt egna interna nätverk>
mailbox_size_limit = 0
home_mailbox = Maildir/
relayhost = < din ISP:s relay server (typ smtp.bredband.net)>
virtual_mailbox_domains = /etc/postfix/vhosts
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps
virtual_minimum_uid = 1000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
recipient_delimiter = +
inet_interfaces = all
Konfigurera Dovecot
Skapa en ny dovecot.conf till Dovecot och spara orginalet med ett nytt namn
Kod: Markera allt
sudo mv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig
Kod: Markera allt
sudo touch /etc/dovecot/dovecot.conf
Kod: Markera allt
sudo nano /etc/dovecot/dovecot.conf
protocols = imap pop3
disable_plaintext_auth = no
shutdown_clients = yes
log_path = /var/log/dovecot
info_log_path = /var/log/dovecot.info
log_timestamp = "%Y-%m-%d %H:%M:%S "
ssl_disable = yes
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_greeting = Dovecot ready.
mail_location = maildir:/home/vmail/%d/%n
mmap_disable = no
valid_chroot_dirs = /var/spool/vmail
protocol imap {
login_executable = /usr/lib/dovecot/imap-login
mail_executable = /usr/lib/dovecot/imap
}
protocol pop3 {
login_executable = /usr/lib/dovecot/pop3-login
mail_executable = /usr/lib/dovecot/pop3
pop3_uidl_format = %08Xu%08Xv
}
auth_executable = /usr/lib/dovecot/dovecot-auth
auth_verbose = yes
auth default {
mechanisms = plain digest-md5
passdb passwd-file {
args = /etc/dovecot/passwd
}
userdb passwd-file {
args = /etc/dovecot/users
}
user = root
}
Vi ska nu använda några script för att kunna lägga till virtuella användare och lösenord.
Script för att skapa användare
Skapa en fil med namnet adddovecotuser enligt
Kod: Markera allt
sudo touch /usr/sbin/adddovecotuser
Kod: Markera allt
sudo nano /usr/sbin/adddovecotuser
echo "$1" > /tmp/user
user=`cat /tmp/user | cut -f1 -d "@"`
domain=`cat /tmp/user | cut -f2 -d "@"`
echo "$user@$domain::5000:5000::/home/vmail/$domain/:/bin/false::" >> /etc/dovecot/users
/usr/bin/maildirmake.dovecot /home/vmail/$domain/$user 5000:5000
echo $1 $domain/$user/ >> /etc/postfix/vmaps
postmap /etc/postfix/vmaps
postfix reload
Gör filen exekverbar
Kod: Markera allt
sudo chmod +x /usr/sbin/adddovecotuser
Skapa en fil med namnet mkdovecotpasswd enligt
Kod: Markera allt
sudo touch /usr/sbin/mkdovecotpasswd
Kod: Markera allt
sudo nano /usr/sbin/mkdovecotpasswd
mkpasswd --hash=md5 $2 > /tmp/hash
echo "$1:`cat /tmp/hash`" >> /etc/dovecot/passwd
Gör filen exekverbar
Kod: Markera allt
sudo chmod +x /usr/sbin/mkdovecotpasswd
Kod: Markera allt
sudo touch /etc/dovecot/passwd
Kod: Markera allt
sudo chmod 640 /etc/dovecot/passwd
Kod: Markera allt
sudo adddovecotuser nisse@DinDomän1.se
Kod: Markera allt
sudo mkdovecotpasswd nisse@DinDomän1.se hemlis
Kod: Markera allt
sudo chown vmail:vmail /home/vmail/DinDomän1.se
Kod: Markera allt
sudo /etc/init.d/postfix restart
sudo /etc/init.d/dovecot restart