Dieses HowTo erklärt in einzelnen Schritten die Installation und Konfiguration des Mailservers Zarafa 7.0.x auf Ubuntu 10.04 LTS mit virtuellen Domains und Benutzern.
Ein installiertes Grundsystem mit SSH oder Konsolenzugang wird vorausgesetzt.
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
Bevor Zarafa installiert werden kann müssen noch ein Datenbanksystem (MySQL), ein Webserver (Apache) und PHP installiert werden.
sudo apt-get install mysql-server
sudo apt-get install apache2-mpm-prefork libapache2-mod-php5
Um das Installationspaket über die Konsole herunterladen zu können wird Wget benötigt.
sudo apt-get install wget
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.
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
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
Unter der IP des Servers mit dem Zusatz /webaccess ist das Webinterface von Zarafa zu erreichen.
So sollte es nach dem Login aus sehen:
Benutzer mit Administratorrechten anlegen:
zarafa-admin -c "Benutzername" -P -f "Anzeigename" -e "adresse@domain.de" -a 1
Benutzer ohne Administratorrechten anlegen:
zarafa-admin -c "Benutzername" -P -f "Anzeigename" -e "adresse@domain.de" -a 0
Benutzer deaktivieren:
zarafa-admin -u Benutzername -n 1
Benutzer löschen:
zarafa-admin -d Benutzername
Anzeigename ändern:
zarafa-admin -u Benutzername -f "Anzeigename"
Benutzername ändern:
zarafa-admin -u Benutzername -U NeuerBenutzerame
Passwort ändern:
zarafa-admin -u Benutzername -P
Details über einen Benutzer anzeigen:
zarafa-admin --details Benutzername
Alle Benutzer anzeigen:
zarafa-admin -l
Benutzer 2 das Recht gewähren mit der E-Mail Adresse von Benutzer 1 zu senden.
zarafa-admin -u benutzername1 --add-sendas benutzername2
Zeigt eine Liste an wer alles mit der E-Mail Adresse von Benutzer 1 senden darf.
zarafa-admin --list-sendas benutzername1
Gruppe erstellen:
zarafa-admin -g Gruppenname
Gruppe löschen:
zarafa-admin -G Gruppenname
Benutzer zur Gruppe “Test” hinzufügen
zarafa-admin -b Benutzername -i Test
Benutzer aus der Gruppe Test entfernen
zarafa-admin -B Benutzername -i Test
Alle Gruppen anzeigen:
zarafa-admin -L
Anpassen der Datei /etc/zarafa/server.cfg
enable_gab = no
Postfix installieren:
sudo apt-get install postfix
Die Erklärung mit OK bestätigen:
Internet-Site auswählen:
Domain-Namen eintragen:
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
Ü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
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 ein- und ausgehende 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_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 smtpd_tls_CApath = /etc/ssl/certs smtp_tls_security_level = may smtp_tls_cert_file = /etc/ssl/private/mail.testdomain.de/selfmail.cert smtp_tls_key_file = /etc/ssl/private/mail.testdomain.de/selfmail.key smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache tls_random_source = dev:/dev/urandom tls_random_prng_update_period = 3600s
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
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
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
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
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
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
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