Hauptsächlich verwende ich meinen vServer als EMail-Server, da ich gerne selber meine EMails verwalte als einem Anderen zu vertrauen. Außerdem kann ich meinen Spam so filtern wie ich es will. Nebenbei stellt der vServer nur das Mail-Relay und leitet alle EMails an meinen privaten Exchange-Server weiter.
Aus Dokumentationszwecken hier die Installationsabfolge.
- apt-get install -t etch-backports postfix mysql-server apache2 php5 php5-imap php5-mysql postfix-mysql dovecot-imapd phpmyadmin php-pear
- apt-get install subversion
- svn co https://postfixadmin.svn.sourceforge.net/svnroot/postfixadmin postfixadmin
- mysql-Passwort setzen: mysqladmin -u root password 'NEUESPASSWORT'
Postfixadmin
- wget http://dfn.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin_2.2.1.1_all.deb
- dpkg -i postfixadmin_2.2.1.1_all.deb
- http://SERVER/phpmyadmin und einen User mit gleichlautender DB anlegen
- /etc/postfixadmin/config.inc.php editieren und Datenbank-Einträge setzen
- http://SERVER/postfixadmin/setup.php und Superuser anlegen
- rm /usr/share/postfixadmin/setup.php
- http://SERVER/postfixadmin aufrufen - sollte alles gehen
Postfix
- /etc/postfix/master.cf
# Dovecot LDA dovecot unix - n n - - pipe flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d ${recipient}
- /etc/postfix/main.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_mailbox_base = /var/vmail virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_minimum_uid = 5000 virtual_uid_maps = static:5000 virtual_gid_maps = static:12 virtual_transport = dovecot dovecot_destination_recipient_limit = 1
- /etc/postfix/mysql_virtual_alias_maps.cf
user = postfix password = postfix #hosts = localhost hosts = unix:/var/run/mysqld/mysqld.sock dbname = postfix query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
- /etc/postfix/mysql_virtual_domains_maps.cf
#hosts = localhost hosts = unix:/var/run/mysqld/mysqld.sock dbname = postfix #query = SELECT domain FROM domain WHERE domain='%s' #optional query to use when relaying for backup MX query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
user = postfix password = postfix
- /etc/postfix/mysql_relay_domains_maps.cf:
user = postfix password = postfix #hosts = localhost hosts = unix:/var/run/mysqld/mysqld.sock dbname = postfix query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1'
- /etc/postfix/mysql_virtual_mailbox_limit_maps.cf
user = postfix password = postfix #hosts = localhost hosts = unix:/var/run/mysqld/mysqld.sock dbname = postfix query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'
- /etc/postfix/mysql_virtual_mailbox_maps.cf
user = postfix password = postfix #hosts = localhost hosts = unix:/var/run/mysqld/mysqld.sock dbname = postfix query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'
Dovecot
-
mkdir -p /var/vmail chmod 770 /var/vmail
-
useradd -r -u 5000 -g mail -d /var/vmail -s /sbin/nologin -c "Virtual mailbox" vmail
- Rechte für /var/vmail und /etc/dovecot/* auf vmail:mail setzen
chown vmail:mail /var/vmail/
chown vmail:mail /etc/dovecot/ - dovecot-sql.conf
default_password_scheme = MD5-CRYPT - Logfile anlegen und Rechte setzen
touch /var/log/dovecot-deliver.log
chown vmail:mail /var/log/dovecot-deliver.log