nemiah.de

openMM Wheezy/Squeeze Installation

Installieren Sie zunächst ein Debian Wheezy/Squeeze mit dem Netinst-ISO und melden Sie sich anschließend als root-Benutzer am System an.

aptitude update
aptitude dist-upgrade
aptitude install ssh
aptitude install postfix postfix-mysql

Wählen Sie bei der Konfiguration "Internet Site".

aptitude install mysql-server
aptitude install phpmyadmin mutt unzip less sudo telnet php5-curl
aptitude install dovecot-imapd dovecot-lmtpd dovecot-mysql dovecot-sieve

Datenbank

Erstellen Sie einen MySQL-Benutzer mit Datenbank:

mysql -uroot -p -e "CREATE USER 'openmm'@'localhost' IDENTIFIED BY 'Ybjg421k40c1onx';
GRANT USAGE ON * . * TO 'openmm'@'localhost' IDENTIFIED BY 'Ybjg421k40c1onx' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS openmm;
GRANT ALL PRIVILEGES ON openmm . * TO 'openmm'@'localhost';"

Geben Sie das MySQL-root-passwort ein, um den Befehl auszuführen.

openMM

Installieren Sie openMM nach /var/www/openMM und geben Sie im Installation-Plugin an:

  • Host: localhost
  • Benutzer: openmm
  • Passwort: Ybjg421k40c1onx
  • Datenbank: openmm

Bei der Installation werden automatisch alle benötigten Tabellen erzeugt.

Sie können dann bereits im openMM als Benutzer die ersten Domains und Mailboxen anlegen.

Zu Testzwecken legen Sie bitte mindestens die Domain test.de sowie die Mailbox test@test.de und den Alias alias@test.de an.

Postfix

Nachfolgend wird Postfix so konfiguriert, dass die Datenbank verwendet wird.

echo "user = openmm
password = Ybjg421k40c1onx
hosts = 127.0.0.1
dbname = openmm
query = SELECT 1 FROM VDomain WHERE VDomainName='%s'" > /etc/postfix/mysql-virtual-mailbox-domains.cf
postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
postmap -q test.de mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf

Postmap sollte als Ergebnis "1" zurückliefern.

 

echo "user = openmm
password = Ybjg421k40c1onx
hosts = 127.0.0.1
dbname = openmm
query = SELECT 1 FROM VUser WHERE VUserName='%s'" > /etc/postfix/mysql-virtual-mailbox-maps.cf
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
postmap -q test@test.de mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf

Postmap sollte als Ergebnis "1" zurückliefern.

 

echo "user = openmm
password = Ybjg421k40c1onx
hosts = 127.0.0.1
dbname = openmm
query = SELECT VAliasDestination FROM VAlias WHERE VAliasSource='%s'" > /etc/postfix/mysql-virtual-alias-maps.cf
postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql-virtual-alias-maps.cf
postmap -q alias@test.de mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Postmap sollte als Ergebnis "test@test.de" zurückliefern.

 

Abschließend stellen Sie die Rechte sicher:

chgrp postfix /etc/postfix/mysql-*.cf
chmod u=rw,g=r,o= /etc/postfix/mysql-*.cf

Und Postfix soll Dovecot verwenden:

postconf -e virtual_transport=lmtp:unix:private/dovecot-lmtp

Dovecot

groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /var/mail -m
chown -R vmail:vmail /var/mail
chmod u+w /var/mail

nano /etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = no
auth_mechanisms = plain login
#!include auth-system.conf.ext
!include auth-sql.conf.ext

nano /etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:/var/mail/%d/%n/mail/
mail_privileged_group = vmail

nano /etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/mail/%d/%n
}

Kommentieren Sie den Absatz der SQL-userdb aus!

nano /etc/dovecot/conf.d/15-lda.conf

postmaster_address = test@test.de

nano /etc/dovecot/dovecot-sql.conf.ext

driver = mysql
connect = host=127.0.0.1 dbname=openmm user=openmm password=Ybjg421k40c1onx
password_query = SELECT VUserName AS user, VUserPassword AS password FROM VUser WHERE VUserName='%u';

nano /etc/dovecot/conf.d/10-master.conf

Passen Sie den Block "service lmtp" folgendermaßen an:

service lmtp {
 unix_listener /var/spool/postfix/private/dovecot-lmtp {
   mode = 0600
   user = postfix
   group = postfix
  }
}

Kommentieren Sie den Block "service auth" aus und fügen Sie ihn neu ein:

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

  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }

  user = dovecot
}

Der Block "service auth-worker" muss nur minimal angepasst werden:

service auth-worker {
  user = vmail
}
chown -R vmail:dovecot /etc/dovecot
chmod -R o-rwx /etc/dovecot

Sie können jetzt eine Test-E-Mail mit dem openMM Wizard verschicken.