{{keywords>login language anleitung mailserver 10.04 ubuntu}} {{description>Dieses HowTo erklärt in einzelnen Schritten die Installation und Konfiguration eines Mailservers mit Zarafa 7.0.x auf Ubuntu 10.04 LTS mit virtuellen Domains und Benutzern.}} ====== 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 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.__ ===== 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...\\ {{::download.jpg?nolink|}}\\ \\ ...und mit einem klick auf die rechte Maustaste in Putty zu kopieren.\\ {{:link.jpg?nolink|}}\\ \\ 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:\\ {{::installation.jpg?nolink|}}\\ Mit ENTER bestätigen.\\ \\ Weitere noch fehlende Pakete werden automatisch vom Zarafa-Setup erkannt und zur installation aufgefordert: \\ {{::weitere_pakete.jpg?nolink|}}\\ Eingabe der Seriennummer (wenn vorhanden):\\ {{:serial.jpg?nolink|}}\\ \\ MySQL-Server Daten eingeben:\\ {{::sql_config.jpg?nolink|}}\\ Bis auf das Passwort können alle Felder leer gelassen werden.\\ \\ SMTP-Konfiguration:\\ {{::smtp_config.jpg?nolink|}}\\ Hier können alle Felder leer gelassen werden.\\ \\ Die weiteren Abfragen können alle mit ENTER bestätigt werden:\\ {{::pop_imap_config.jpg?nolink|}}\\ \\ Übersicht der MySQL-Konfiguration und erster Start des Zarafa-Servers:\\ {{::zarafa_server_start.jpg?nolink|}} Der Versuch den Zarafa-Server zu Stoppen schlägt naütrlich fehl, da er ja noch nie gestartet wurde:\\ {{::zarafa_server_kill_fail.jpg?nolink|}}\\ \\ Der Zarafa dagent, spooler, monitor, gateway services und der ical Server werden gestartet:\\ {{::zarafa_server_components_start.jpg?nolink|}}\\ 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 {{:zarafa_user_anlegen.jpg?nolink|}} ==== Erster Login ==== Unter der IP des Servers mit dem Zusatz /webaccess ist das Webinterface von Zarafa zu erreichen.\\ {{::zarafa_login.jpg?nolink|}}\\ So sollte es nach dem Login aus sehen:\\ {{::zarafa_posteingang.jpg?nolink|}}\\ ==== Zarafa Befehler (zarafa-admin) ==== === Benutzer === 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 \\ === Senden als === 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 \\ === Gruppen === 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 ---- ==== Globales Adressbuch deaktivieren ==== Anpassen der Datei /etc/zarafa/server.cfg enable_gab = no ===== Installation und Konfiguration von Postfix ===== ==== Installation ==== Postfix installieren: sudo apt-get install postfix\\ Die Erklärung mit OK bestätigen:\\ {{::postfix_config_1.jpg?nolink|}}\\ \\ Internet-Site auswählen:\\ {{::postfix_config_2.jpg?nolink|}}\\ \\ Domain-Namen eintragen:\\ {{::postfix_config_3.jpg?nolink|}}\\ ==== 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 . \\ 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 \\ {{::zarafa_erste_e-mail.jpg?nolink|}} ==== 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 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 ==== 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 \\ ~~DISCUSSION:closed|Kommentare~~