Dies ist eine alte Version des Dokuments!


HowTo / Anleitung zur Installation von Zarafa 7.0.x auf Ubuntu 10.04 LTS

Dieses HowTo erklärt in einzelnen Schritten die Installation und Konfiguration von Zarafa 7.0.x auf Ubuntu 10.04 LTS mit virtuellen Domains und Benutzern.
Ein installiertes Grundsystem mit SSH oder Konsolenzugang wird vorausgesetzt.

Konfiguration von Ubuntu 10.04 LTS

Updates

Zuerst bringen wir das System auf den neusten Stand.
Aktualisierung der Paketlisten:

sudo apt-get updat

Aktualisierung aller Pakete für die es ein Update gibt:

sudo aptitude safe-upgrade

Installation zusätzlicher Software

Bevor Zarafa installiert werden kann müssen noch ein Datenbanksystem (MySQL), ein Webserver (Apache) und PHP installiert werden.

MySQL

sudo apt-get install mysql-server

Apache inkl. PHP

sudo apt-get install apache2-mpm-prefork libapache2-mod-php5

Wget

Um das Installationspaket über die Konsole herunterladen zu können wird Wget benötigt.

sudo apt-get install wget

Installation und Konfiguration von Zarafa 7.0.x

Installation

Die aktuelle Final Version von Zarafa 7 kann hier: http://download.zarafa.com/community/final/7.0/ heruntergeladen werden.
Der richtige Download für ein 32bit Ubuntu System ist zcp-7.0.x-xxxxx-ubuntu-10.04-i386-free.tar.gz

Wechsel ins Temp-Verzeichnis.

cd /tmp

Installationspaket runterladen.

wget http://download.zarafa.com/community/final/7.0/7.0.x-xxxxx/zcp-7.0.x-xxxxx-ubuntu-10.04-i386-free.tar.gz

Am einfachsten ist es die Linkadresse zu kopieren…


…und mit einem klick auf die rechte Maustaste in Putty zu kopieren.


Archiv entpacken:

tar xfz zcp-7.0.x-xxxxx-ubuntu-10.04-i386-free.tar.gz

In das Verzeichnis des entpackten Archivs wechseln:

cd zcp-7.0.x-xxxxx-ubuntu-10.04-i386

Installation von Zarafa starten:

sudo ./install.sh

Nun sollte diese Meldung erscheinen:

Mit ENTER bestätigen.

Weitere noch fehlende Pakete werden automatisch vom Zarafa-Setup erkannt und zur installation aufgefordert:

Eingabe der Seriennummer (wenn vorhanden):


MySQL-Server Daten eingeben:

Bis auf das Passwort können alle Felder leer gelassen werden.

SMTP-Konfiguration:

Hier können alle Felder leer gelassen werden.

Die weiteren Abfragen können alle mit ENTER bestätigt werden:


Übersicht der MySQL-Konfiguration und erster Start des Zarafa-Servers:

Der Versuch den Zarafa-Server zu Stoppen schlägt naütrlich fehl, da er ja noch nie gestartet wurde:


Der Zarafa dagent, spooler, monitor, gateway services und der ical Server werden gestartet:

Zarafa ist nun fertig installiert.

Zarafa „eindeutschen“

Damit später der Login-Screen und die Ordner im Postfach in deutscher Sprache erscheinen müssen einige Dateien angepasst werden.

Wechsel ins Verzeichnis /etc/zarafa/webaccess-ajax/

cd /etc/zarafa/webaccess-ajax/


Bearbeiten der Datei config.php

sudo vim config.php


Zeile 165 anpassen (ja nach Version kann die Zeile etwas höher oder tiefer sein)
vorher:

define('LANG', 'en_EN'); // default fallback language

nachher:

define('LANG', 'de_DE.UTF-8'); // default fallback language




Wechsel ins Verzeichnis /etc/zarafa/userscripts/createuser.d

cd ../userscripts/createuser.d/


Anpassen der Datei 00createstore

sudo vim 00createstore


Zeile 11 anpassen (ja nach Version kann die Zeile etwas höher oder tiefer sein)
vorher:

zarafa-admin --utf8 --create-store "${ZARAFA_USER}" --lang "${ZARAFA_LANG}"

nachher:

zarafa-admin --utf8 --create-store "${ZARAFA_USER}" --lang "de_DE.UTF-8"




Wechsel ins Verzeichnis /etc/default

cd /etc/default


Die Datei zarafa anpassen

sudo vim zarafa


Zeile 6 anpassen (ja nach Version kann die Zeile etwas höher oder tiefer sein)
vorher:

ZARAFA_LOCALE="C"

nachher:

ZARAFA_LOCALE="de_DE.UTF-8"


Zeile 38 anpassen (ja nach Version kann die Zeile etwas höher oder tiefer sein)
vorher:

ZARAFA_USERSCRIPT_LOCALE="C"

nachher:

ZARAFA_USERSCRIPT_LOCALE="de_DE.UTF-8"


Zarafa neu starten:

sudo /etc/init.d/zarafa-server restart

Apache neu starten:

sudo /etc/init.d/apache2 restart

Anlegen eines Benutzers

Nun ist es soweit, der erste Benutzer kann angelegt werden. Beispiel Max Mustermann mit der E-Mail Adresse max@mustermann.de und dem Benutzernamen m.mustermann:

sudo zarafa-admin -c m.mustermann -P -e max@mustermann.de -f "Max Mustermann" -a 1

Erster Login

Unter der IP des Servers mit dem Zusatz /webaccess ist das Webinterface von Zarafa zu erreichen.

So sollte es nach dem Login aus sehen:

Installation und Konfiguration von Postfix

Installation

Postfix installieren:

sudo apt-get install postfix


Die Erklärung mit OK bestätigen:


Internet-Site auswählen:


Domain-Namen eintragen:

Grundkonfiguration

Wechsel ins Verzeichnis /etc/postfix

cd /etc/postfix

Anpassen der Datei main.cf

sudo vim main.cf


Folgende Parameter müssen angepasst bzw. ergänzt werden.

myhostname
Mit dem Hostnamen meldet sich Postfix bei anderen (Mail)servern.

myhostname = mail.mustermann.de

mydomain
Der Domain-Name des Systems

mydomain = mustermann.de

myorigin
Dieser Wert bestimmt den Domain-Part für lokale E-Mails

myorigin = $mydomain

mydestination
Dieser Parameter ist für die lokale Mailzustellung zuständig. Hier dürfen keine realen Domainnamen eingetragen werden. Ausschliesslich der lokale Hostname (Rechnername der bei der installation von Ubuntu festgelegt wurde) und localhost dürfen hier stehen.

mydestination = host.local, localhost.local, localhost

virtual_mailbox_domains
Hier werden reale Domainnamen eingetragen für die E-Mails angenommen werden sollen.

virtual_mailbox_domains = mustermann.de

virtual_mailbox_maps

virtual_mailbox_maps = hash:/etc/postfix/virtual

virtual_alias_maps

virtual_alias_maps = hash:/etc/postfix/virtual

virtual_transport

virtual_transport = lmtp:127.0.0.1:2003



sudo touch virtual


sudo vim virtual


#E-Mail Adresse oder Alias       Primäre E-Mail Adresse
root                             max@mustermann.de
max@mustermann.de                max@mustermann.de
markus@mustermann.de             markus@mustermann.de
uwe@mustermann.de                uwe@mustermann.de
info@mustermann.de               max@mustermann.de, markus@mustermann.de, uwe@mustermann.de


sudo postmap virtual

\\Postfix neu starten

sudo /etc/init.d/postfix restart

Test E-Mail versenden

Über einen Telnet-Client kann nun die erste Test E-Mail versand werden.

Verbindung zum Mailserver aufbauen:

telnet IP des Servers 25

Der Server meldet sich mit:

220 mail.mustermann.de ESMTP Postfix (Ubuntu)


Dem Server „Hallo“ sagen:

HELO localhost

Der Server antwortet mit:

250 mail.mustermann.de


Absender angeben:

MAIL FROM: pc@host.local

Der Server antwortet mit:

250 2.1.0 Ok


Den Empfänger angeben:

RCPT TO: max@mustermann.de

Der Server antwortet:

250 2.1.5 Ok

Inhalt initialisieren

DATA

Der Server antwortet mit:

354 End data with <CR><LF>.<CR><LF>


From: pc@host.local
To: max@mustermann.de
Subject: Test E-Mail

Dies ist ein Test
.

Der Server antwortet mit:

250 2.0.0 Ok: queued as 549A3620567

(549A3620567 ist ein Individueller Wert)

Verbindung trennen:

quit


Postfix TLS

TLS Verschlüsselung von ein- und ausgehenden E-Mails.

sudo vim /etc/postfix/main.cf

Folgende Einträge müssen angepasst bzw. ergänzt werden:

TLS für eingehende E-Mails

smtpd_use_tls                    = yes
smtpd_tls_loglevel               = 1
smtpd_tls_received_header        = yes
smtpd_tls_security_level         = may
smtpd_tls_auth_only              = no
smtpd_tls_CApath                 = /etc/ssl/certs
smtpd_tls_session_cache_timeout  = 3600s
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_cert_file              = /etc/ssl/private/mail.testdomain.de/selfmail.cert
smtpd_tls_key_file               = /etc/ssl/private/mail.testdomain.de/selfmail.key

tls_random_source = dev:/dev/urandom
tls_random_prng_update_period = 3600s

SASL-Authentifizierung

Verwaltungsprogramme für die Cyrus-SASL-Benutzerdatenbank installieren

sudo apt-get install sasl2-bin

Wechsel ins Verzeichnis /etc/default

cd /etc/default

Anpassen der Datei saslauthd

sudo vim saslauthd

Folgende Parameter müssen angepasst bzw. ergänzt werden:

START

START=yes

MECHANISMS

MECHANISMS="rimap"

MECH_OPTIONS

MECH_OPTIONS="127.0.0.1"

THREADS

THREADS=0

OPTIONS

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"


Wechsel ins Verzeichnis /etc/postfix/sasl

cd /etc/postfix/sasl

Die Datei smtpd.conf anlegen

sudo touch smtpd.conf

Die Datei öffnen:

sudo vim smtpd.conf

Folgende Parameter eintragen:

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/spool/postfix/var/run/saslauthd/mux


Den User sasl zur Gruppe postfix hinzufügen:

usermod -a -G sasl postfix



Wechsel ins Verzeichnis /etc/postfix

cd /etc/postfix

Anpassen der Datei master.cf

sudo vim master.cf

Folgende Parameter müssen angepasst bzw. ergänzt werden:
smtp

smtp      inet  n       -       n       -       -       smtpd

smtps

smtps     inet  n       -       n       -       -       smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes


Anpassen der Datei main.cf

sudo vim main.cf

Folgende Parameter am Ende hinzufügen:

# SASL Authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

# No open relay!
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    permit


Ins Verzeichnis /etc/zarafa wechseln

cd /etc/zarafa


Anpassen der Datei server.cfg

sudo vim server.cfg


Folgende Parameter müssen angepasst bzw. ergänzt werden:
disabled_features

disabled_features = #imap #pop3


Postfix neu starten:

sudo /etc/init.d/postfix restart

Saslauthd neu starten:

sudo /etc/init.d/saslauthd restart

Zarafa neu starten:

sudo /etc/init.d/zarafa-server restart

Anti SPAM: Greylisting, Blacklisten, sonstige Maßnahmen

Greylisting

Postgrey installieren:

sudo apt-get install postgrey

Ins Verzeichnis /etc/postfix wechseln

cd /etc/postfix

Die Datei main.cf bearbeiten

sudo vim main.cf


Folgende Parameter müssen angepasst bzw. ergänzt werden:
vorher:

smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    permit

nachher:

smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    check_policy_service inet:127.0.0.1:10023
    permit


Blacklisten

Die Datei main.cf bearbeiten

sudo vim main.cf


Folgende Parameter müssen angepasst bzw. ergänzt werden:
vorher:

smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    check_policy_service inet:127.0.0.1:10023
    permit

nachher:

smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    reject_rbl_client zen.spamhaus.org
    reject_rbl_client dnsbl-1.uceprotect.net
    reject_rbl_client ix.dnsbl.manitu.net
    reject_rbl_client sbl.spamhaus.org
    reject_rbl_client cbl.abuseat.org
    reject_rbl_client dul.dnsbl.sorbs.net
    check_policy_service inet:127.0.0.1:10023
    permit


Sonstige Maßnahmen

Die Datei main.cf bearbeiten

sudo vim main.cf


Folgende Parameter müssen angepasst bzw. ergänzt werden:
vorher:

smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    check_policy_service inet:127.0.0.1:10023
    permit

nachher:

smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    reject_rbl_client zen.spamhaus.org
    reject_rbl_client dnsbl-1.uceprotect.net
    reject_rbl_client ix.dnsbl.manitu.net
    reject_rbl_client sbl.spamhaus.org
    reject_rbl_client cbl.abuseat.org
    reject_rbl_client dul.dnsbl.sorbs.net
    reject_invalid_hostname
    reject_non_fqdn_hostname
    reject_non_fqdn_sender
    reject_non_fqdn_recipient
    reject_unknown_sender_domain
    reject_unknown_recipient_domain
    check_policy_service inet:127.0.0.1:10023
    permit


Postfix neu starten:

sudo /etc/init.d/postfix restart

Erweiterte Konfiguration

Zarafa - Verschlüsselung - SSL/TLS

Keyfile und Zertifikat erstellen

Ins Verzeichnis /etc/zarafa wechseln:

cd /etc/zarafa

Verzeichnis gateway erstellen:

sudo mkdir gateway

RSA Key erstellen

sudo openssl genrsa -out /etc/zarafa/gateway/privkey.pem 2048

Ein selbstsigniertes Zertifikat mit einer Gültigkeit von 3 Jahren erzeugen:

openssl req -new -x509 -key /etc/zarafa/gateway/privkey.pem -out /etc/zarafa/gateway/cert.pem -days 1095

Country Name (DE für Deutschland):

DE

State or Province Name:

Bundesland

Locality Name:

Stadt

Organization Name (Firmenname, bei Privatpersonen → Ihr Name):

Firma

Organizational Unit Name (Name der Abteilung zu der das Zertifikat gehört, ansonsten „Mailserver“):

Mailserver

Common Name (WICHTIG Hier muss der Name eingetragen werden, der bei myhostname verwendet wurde.

mail.mustermann.de

Email Address (z.B. die des Webmasters oder info@mustermann.de)

info@mustermann.de

Secure POP3 aktivieren

Ins Verzeichnis /etc/zarafa wechseln:

cd /etc/zarafa


Die Datei gateway.cfg anpassen:
Folgende Parameter müssen angepasst bzw. ergänzt werden.

pop3s_enable    =       yes

Zarafa-Gateway neu starten:

/etc/init.d/zarafa-gateway restart

Z-Push

Die aktuelle Version von Z-Push kann hier: http://z-push.sourceforge.net/ heruntergeladen werden.

Ins Verzeichnis /var/www wechseln:

cd /var/www

Z-Push mit Wget runterladen:

wget http://prdownload.berlios.de/z-push/z-push-1.5.x-xxxx.tar.gz

Das heruntergeladene Archiv entpacken:

tar xfz z-push-1.5.x-xxxx.tar.gz

Entpacktes Verzeichnis umbenennen:

mv z-push-1.5.x-xxxx z-push

Rechte für das Verzeichnis z-push setzen:

sudo chown -R www-data:www-data /var/www/z-push


Ins Verzeichnis /etc/apache2/sites-enabled wechseln:

cd /etc/apache2/sites-enabled

Die Datei z-push anlegen:

sudo touch z-push

Die Datei z-push bearbeiten:

sudo vim z-push

Ergänzen:

Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php