Links zu den Projekten
Zimbra, Zimbra WikiGroupware Migration
audriga Groupware MigrationLinks:
Download Community Version
Dokumentation Übersicht
Datenbank Backup
User_Manual
Administrator_Manual
Zarafa Wiki
Zarafa Einrichtung Ubuntu
Forum ctserver.org
Zarafa mit SASL
Procmail FAQs
Procmail Beispiele
zarafa-webaccess - alter WebMailer
zarafa-webapp - neuer WebMailer
unter Debian muß als erstes MySQL, Postfix und Apache installiert werden
apt-get install mysql-server postfix postfix-mysql apache2-mpm-prefork
Locale für Zarafa anpassen
# /etc/default/locale LC_ALL="de_DE.UTF-8" LANG="de_DE.UTF-8"
update-locale
Zarafa entpacken und die install.sh aus dem entstandenen Ordner ausführen. Alle weiteren benötigten Pakete werden nachinstalliert, auch Apache mit PHP (mit MAPI Erweiterung) das für den Webaccess benötigt wird.
/etc/php5/apache2/conf.d/zarafa.ini ... extension=mapi.so ...
Die Abfrage der Lizenz kann man bei der Community Version leer lassen.
- (Optional) Apache Proxy Modul aktivieren
a2enmod proxy service apache2 restart
# /apache2/mods-enabled/proxy.conf <IfModule mod_proxy.c> ProxyPass /zarafa http://127.0.0.1:236/ ProxyPassReverse /zarafa http://127.0.0.1:236/ </IfModule>
- Anpassung bevor der erste Benutzer angelegt wird.
# /etc/default/zarafa ZARAFA_LOCALE="de_DE.UTF-8" ZARAFA_USERSCRIPT_LOCALE="de_DE.UTF-8"
# /etc/zarafa/userscripts/users_common.sh export ZARAFA_LOCALE="de_DE.UTF-8" export ZARAFA_USERSCRIPT_LOCALE="de_DE.UTF-8" export LC_ALL="de_DE.UTF-8"
#/etc/zarafa/userscripts/createuser.d/00createstore ... # zarafa-admin --utf8 --create-store "${ZARAFA_USER}" --lang "${ZARAFA_LANG}" zarafa-admin --create-store "${ZARAFA_USER}" --lang "${ZARAFA_LANG}"
/etc/init.d/zarafa-server restart
# /etc/apache2/envvars export LANG="de_DE.UTF-8"
/etc/init.d/apache2 restart
- Dienste anhalten
# Mail Dienste anhalten /etc/init.d/fetchmail stop && /etc/init.d/postfix stop # Primär Dienste anhalten /etc/init.d/zarafa-spooler stop && /etc/init.d/zarafa-server stop && /etc/init.d/mysql stop # Optionale Dienste anhalten /etc/init.d/zarafa-dagent stop && /etc/init.d/zarafa-gateway stop && /etc/init.d/zarafa-ical stop /etc/init.d/zarafa-search stop && /etc/init.d/zarafa-monitor stop # !!! nur Vollversion !!! /etc/init.d/zarafa-licensed stop
- Backup der Konfiguration und der MySQL Datenbank
cp -r /etc/zarafa /etc/zarafa.bck cp -r /var/lib/mysql /var/lib/mysql.bck
- Pakete updaten/installieren
dpkg -Bi libvmime0_0.9.2* libical0_0.44* dpkg -i zarafa-client* zarafa-libs* python-mapi* php5-mapi* dpkg -i libkyotocabinet16* zarafa-search* dpkg -i zarafa_7* zarafa-client* zarafa-common* zarafa-dagent* zarafa-gateway* zarafa-ical* \ zarafa-libarchiver* zarafa-monitor* zarafa-server* \ zarafa-spooler* zarafa-utils* zarafa-webaccess* zarafa-search* dpkg -i zarafa-contacts* zarafa-webapp* # !!! nur Vollversion !!! dpkg -i zarafa-licensed*
- Dienste starten
# Primär Dienste starten /etc/init.d/mysql start && /etc/init.d/zarafa-server start && /etc/init.d/zarafa-spooler start # !!! nur Vollversion !!! /etc/init.d/zarafa-licensed start # Optionale Dienste starten /etc/init.d/zarafa-dagent start && /etc/init.d/zarafa-gateway start && /etc/init.d/zarafa-ical start /etc/init.d/zarafa-search start && /etc/init.d/zarafa-monitor start # Mail Dienste starten /etc/init.d/fetchmail start && /etc/init.d/postfix start # Apache Service neustarten service apache2 restart
Überwachen ob alles richtig läuft
export ZARAFA=/var/log/zarafa tail -f $LOG/auth.log $LOG/syslog $ZARAFA/degent.log $ZARAFA/gateway.log $ZARAFA/ical.log $ZARAFA/licensed.log \ $ZARAFA/monitor.log $ZARAFA/search.log $ZARAFA/server.log $ZARAFA/spooler.log
Befehl | Erklärung |
---|---|
zarafa-admin -s | Public Store erstellen |
zarafa-admin -c LoginName -p Passwort -e eMailAdresse -f "Vor Nachname" | neue User anlegen, die Option -f legt auch den Namen fest, der als Absender einer eMail gezeigt wird |
zarafa-admin -u LoginName -f "Vor Nachname" | ändern der Benutzerangaben |
zarafa-admin -u LoginName -p <neues Passwort> | Passwort ändern, nach dem ändern des Passwortes, muß IMAP und POP3 wieder freigegeben werden zarafa-admin -u User --enable-feature imap |
zarafa-admin -u LoginName -U <neuer Benutzername> | Login Name ändern |
zarafa-admin --create-store LoginName | MailStore erstellen, wird normalerweise automatisch erstellt |
zarafa-admin -l | zeigt die erstellten User an |
zarafa-admin -d Loginname | Benutzer löschen |
zarafa-admin --list-orphans | verwaisten Datenpeicher anzeigen, der nach dem löschen eines Users erhalten bleibt. |
zarafa-admin --remove-store GUID | verwaisten Datenpeicher löschen |
zarafa-admin -V | Version des Servers anzeigen |
/etc/init.d/zarafa-server start | Zarafa Server starten |
zarafa-admin --force-resync User | Resync Cache-Mode-Profil |
zarafa-admin --user-count | Benutzer Übersicht |
zarafa-admin --clear-cache | internen Cache löschen |
zarafa-admin --sync | |
zarafa-admin --list-sendas User | anzeigen welcher Benutzer im Auftrag des angegebenen Benutzers senden kann |
zarafa-admin -u User --enable-feature imap | IMAP für einen Nutzer aktivieren |
zarafa-admin -u User --enable-feature pop3 | POP3 für einen Nutzer aktivieren |
zarafa-admin -u User --disable-feature pop3 | POP3 für einen Nutzer aktivieren |
zarafa-stats --system | Systemstatistik |
zarafa-stats --users | Userstatistik |
zarafa-stats | Übersicht über verfügbare Optionen |
http://<Server Name>/webaccess | Webaccess Zugriff |
echo test | zarafa-dagent -F 'Gelöschte Objekte' ZarafaUser | Mails direct im Ordner ablegen |
Log Dateien von Zarafa Ordner /var/log/zarafa
LOG Datei | |
---|---|
gateway.log | POP3/IMAP |
ical.log | Ical/CalDAV |
indexer.log | Zarafa Indexer |
licensed.log | License Server |
server.log | Zarafa Server |
spooler.log | SMTP Server |
monitor.log | eMail Verkehr |
Konfiguration | |
/etc/zarafa/ | Zarafia Konfigurationsverzeichnis |
/etc/zarafa/license/base | Lizenzdatei hier kann dan auch später die Lizenz eingetragen werden, wenn man von der Community Version auf eine andere wechselt. |
Prozess | Konfigurationsdatei | Beschreibung |
---|---|---|
zarafa-server | /etc/zarafa/server.cfg | Hauptserver, wird über SOAP angesprochen, speichert Daten in der MySQL-Datenbank |
zarafa-spooler | /etc/zarafa/spooler.cfg | leitet ausgehende Mails an den MTA weiter |
zarafa-monitor | /etc/zarafa/monitor.cfg | überwacht Quota-Einstellungen (optional) |
zarafa-gateway | /etc/zarafa/gateway.cfg | POP3- und IMAP-Schnittstelle (optional) |
zarafa-ical | /etc/zarafa/ical.cfg | Ical- und CardDAV-Schnittstelle (optional) |
zarafa-indexer | /etc/zarafa/indexer.cfg | gespeicherte Mails für Volltextsuchen indexiert (optional) |
zarafa-licensed | /etc/zarafa/licensed.cfg | Lizenz-Manager (optional, nur für Outlook-Zugang nötig) |
zarafa-dagent | /etc/zarafa/dagent.cfg | leitet eingehende Mail vom externen MTA zu Zarafa (standardmäßig nicht aktiv) |
cd /var/log/zarafa tail -f /var/log/syslog /var/log/fetchmail /var/log/mail.log gateway.log ical.log indexer.log \ licensed.log server.log spooler.log monitor.log
- Features global aktivieren/deaktivieren
# /etc/zarafa/server.cfg ... disabled_features = imap pop3 ...
Delivery Agent starten (Local Mail Transfer Protocol)
# /etc/default/zarafa DAGENT_ENABLED=yes
/etc/init.d/zarafa-dagent start
eMails werden direkt von Postfix als MTA übernommen.
- Berechtigungen der Verzeichnisse anpassen
chown -R zarafa:zarafa /var/log/zarafa chown -R zarafa:zarafa /var/lib/zarafa
- Parameter in allen .cfg Dateien ändern
run_as_user = zarafa run_as_group = zarafa
- Service neu starten
service zarafa-server restart service zarafa-search restart service zarafa-presence restart service zarafa-gateway restart service zarafa-dagent restart service zarafa-ical restart service zarafa-monitor restart service zarafa-spooler restart
- Kontrolle, ob alle Änderungen durchgeführt wurden
egrep "run_as_user|run_as_group" /etc/zarafa/* ps aux | grep -i "zarafa"
- MySQL Paket für Postfix installieren
apt-get install postfix-mysql
Postfix einrichten
# /etc/postfix/main.cf # # Variablen definieren mydomain = domain.tld myhostname = mail.domain.tld # smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) # # Benutzer werden bei neuen Mail benachrichtigt yes/no biff = no # append_dot_mydomain = no readme_directory = no # ####################################################### # TLS parameters ####################################################### smtpd_tls_cert_file=/etc/zarafa/ssl/cert.pem smtpd_tls_key_file=/etc/zarafa/ssl/privkey.pem # smtpd_tls_loglevel = 3 # smtpd_use_tls=yes # smtpd_enforce_tls = yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache ####################################################### # TLS parameters Ende ####################################################### alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = $myhostname, localhost.$mydomain, localhost mynetworks = 127.0.0.0/8 [::1]/128 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all relayhost = ####################################################### # Zarafa Anpassungen ####################################################### # virtual_maps = mysql:/etc/postfix/mysql-aliases.cf # mailbox_transport = zarafa: zarafa_destination_recipient_limit = 1 # transport_maps = hash:/etc/postfix/transport ####################################################### # Erweiterung ####################################################### virtual_mailbox_maps = mysql:/etc/postfix/mysql-aliases.cf virtual_mailbox_domains = domain1.tld, domain2.tld ... virtual_alias_maps = hash:/etc/postfix/valias virtual_alias_domains = $virtual_alias_maps virtual_transport = lmtp:127.0.0.1:2003 # All options: propagate_unmatched_extensions = canonical, virtual, alias, forward, include propagate_unmatched_extensions = canonical, virtual, alias ####################################################### # SASL Authentification aktivieren ####################################################### # SASL für nicht RFC2554 Clients broken_sasl_auth_clients = yes # SASL bei eingehenden Verbindungen smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous # smtpd_tls_auth_only = no smtpd_sasl_path = smtpd # SASL bei ausgehenden Verbindungen # smtp_sasl_auth_enable = yes # smtp_tls_security_level = may # smtp_sender_dependent_authentication = yes # Nutzer/Passwort für die Authentifizierung festlegen # smtp_sasl_password_maps = hash:/etc/postfix/smtp_relayhost_auth # smtp_sasl_security_options = noanonymous ####################################################### # Versandbedingungen festlegen Client access maps Regeln erstellen ####################################################### # IP und Hostname prüfen #smtpd_client_restrictions = # permit_sasl_authenticated # HELO prüfen Hostname im DNS # smtpd_helo_restrictions = # reject_unknown_helo_hostname # MAIL FROM: prüfen smtpd_sender_restrictions = reject_unverified_sender # RCPT TO: prüfen smtpd_recipient_restrictions = # SASL prüfen permit_sasl_authenticated, # eigenes Netzwerk erlauben permit_mynetworks, # unbekannte Empfänger abweisen reject_unauth_destination, # MAIL FROM: muss ein FQDN Name sein reject_non_fqdn_sender, # RCPT TO: muss ein FQDN Name sein reject_non_fqdn_recipient, # Postfix muss für Empfänger Domain verantwortlich sein reject_unknown_recipient_domain, # unbekannte Absenderdomain werden abgelehnt reject_unknown_sender_domain, # Postfix ist finales Ziel permit_auth_destination # Anzahl SMTP Kommandos prüfen smtpd_data_restrictions = reject_unauth_pipelining ####################################################### # Ende der Regeln #######################################################
Postfix Zarafa DB plugin integration
# /etc/postfix/mysql-aliases.cf # The user name and password to log into the mysql server. user = MySQL-User password = mysql-Passswort hosts = 127.0.0.1 dbname = zarafa # For Postfix 2.2 and later The SQL query template. # See mysql_table(5) for details. query = select value from objectproperty where objectid=(select objectid from objectproperty where value='%s' limit 1) and propname='loginname';
# /etc/postfix/vmailbox # # Virtuelle Domain definieren # Beispiele # # domain.tld anything # Virtuelle Domain definieren # domain2.tld anything # Virtuelle Domain definieren # # alias@domain.tld alias2 # @domain.tld alias2 #Catch-All Regel # alias3@domain.tld alias@provider.tld #Weiterleitung, auch an # externe Mail möglich # alias@domain.tld alias@domain2.tld, alias2@domain.tld # # domain.tld anything domain2.tld anything
# /etc/postfix/valias # # Virtuelle Aliase definieren # # genau die Adresse # alias@domain.tld alias@provider.tld # # Catch-All Regel alles an @domain.tld zu dieser Adresse weiterleiten # @domain.tld alias2@provider.tld # # externe Mail möglich # alias@domain.tld alias@domain2.tld, alias2@domain.tld ####################################################### # allgemeine Umleitungen ####################################################### root@domain.tld user@domain.tld postmaster@domain.tld user@domain.tld ####################################################### # Verteiler/Sammeladdresse ####################################################### alle@domain.tld user@domain.tld, user2@domain.tld
postmap /etc/postfix/vmailbox postmap /etc/postfix/valias
eMail Adressen umschreiben, ein und ausgehende
# /etc/postfix/main.cf ... canonical_maps = hash:/etc/postfix/canonical ...
# /etc/postfix/canonical # # Adressen umschreiben Beispiele # # Adresse generell umschreiben (ein und ausgehende Mails inkl. Änderung des # Mailheaders) # # web32@doamin.tld user@domain.tld # # lokale Nutzeraccounts umschreiben # # root user@domain.tld # # alle Adressen der Domain umschreiben # # @srv.domain.tld @domain.tld
- Install sasl2-bin
apt-get install sasl2-bin libsasl2-modules libsasl2-modules-sql
- Dateien anpassen
#/etc/default/saslauthd START=yes DESC="SASL Authentication Daemon" NAME="saslauthd" MECHANISMS="rimap" MECH_OPTIONS="127.0.0.1" THREADS=0 OPTIONS="-c -r -m /var/spool/postfix/var/run/saslauthd"
# /etc/postfix/sasl/smtpd.conf pwcheck_method: saslauthd mech_list: plain login allow_plaintext: true # log_level: 3
rm -r /var/run/saslauthd ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
- Postfix Benutzer der Gruppe SASL hinzufügen, Rechte setzen
adduser postfix sasl chgrp postfix /etc/postfix/sasl/smtpd.conf chmod 640 /etc/postfix/sasl/smtpd.conf
- es ist Wichtig, das der IMAP Server von Zarafa auch auf Port 143 lauscht, sonst funktioniert SASL Auth nicht !!!
#/etc/zarafa/gateway.cfg ... # enable/disable IMAP, and IMAP listen port imap_enable = yes imap_port = 143 ...
# /etc/postfix/main.cf ... # SASL Authentification aktivieren # # SASL für nicht RFC2554 Clients broken_sasl_auth_clients = yes # SASL bei eingehenden Verbindungen smtpd_sasl_auth_enable = yes # smtpd_sasl_security_options = noanonymous, noplaintext smtpd_sasl_security_options = noanonymous # smtpd_sasl_local_domain = smtpd_sasl_path = smtpd
- Postfix und SASL neustarten
service postfix restart service saslauthd restart
- Verbindung testen
testsaslauthd -u <Benutzer> -p <Passwort> -s smtp testsaslauthd -u <Benutzer> -p <Passwort> -f /var/spool/postfix/var/run/saslauthd/mux
Authentifizierung korrekt
0: OK "Success."
Authentifizierung fehlerhaft
0: NO "authentication failed"
kein Zugriff auf SASL, Einstellungen prüfen
connect() : No such file or directory
Fehlermeldung: SASL authentication failure: cannot connect to saslauthd server: Permission denied
Lösung: Postfix Benutzer der Gruppe SASL hinzufügen, Rechte setzen
das Beispiel hat folgende Konfiguration
LocalesNetz: 192.168.2.0/24
IP Zarafa Server: 192.168.2.62
- Fetchmail einrichten
apt-get install fetchmail
# /etc/default/fetchmail START_DAEMON=yes
# /etc/fetchmailrc set daemon 600 set syslog set logfile "/var/log/fetchmail" poll pop.gmx.net protocol pop3 user "user@gmx.de" password "geheim" options ssl smtpaddress localhost keep forcecr mda "/usr/bin/zarafa-dagent ZarafaUser"
# /etc/zarafa/server.cfg local_admin_users = root fetchmail
/etc/init.d/zarafa-server restart
touch /var/log/fetchmail chown fetchmail.root /var/log/fetchmail /etc/init.d/fetchmail start
- Postfix einrichten
# /etc/postfix/main.cf mynetworks = 192.168.2.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 inet_interfaces = 192.168.2.62 localhost # default_transport = error # relay_transport = error ############################# Erweiterung ###################### # eMail dem SMTP Host zuordnen sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relayhost # wenn es nur einen RelayServer gibt # relayhost = smtp.1und1.de smtp_sender_dependent_authentication = yes smtp_sasl_auth_enable = yes # Nutzer/Passwort für die Authentifizierung festlegen smtp_sasl_password_maps = hash:/etc/postfix/smtp_relayhost_auth smtp_sasl_security_options = noanonymous
# /etc/postfix/sender_relayhost # Zuordnung eMail Domain und Versandserver # Syntax: eMail-Adresse SMTP-des-Providers # einzelne eMail Adressen # user1@gmx.de mail.gmx.net # user2@gmx.net mail.gmx.net # user3@web.de smtp.web.de # # je Provider @gmx.de mail.gmx.net @gmx.net mail.gmx.net @gmx.it mail.gmx.net @web.de smtp.web.de
# /etc/postfix/smtp_relayhost_auth # Passwort per Mailadresse # Syntax: eMail-Adresse Benutzer:Passwort user1@gmx.de nutzer1:passwort user2@gmx.net nutzer2:passwort user3@web.de nutzer3:passwort # Passwort pro MailHost # Syntax: SMTP-des-Providers Benutzer:Passwort # smtp.1und1.de user@domain.tld:Passwort
postmap /etc/postfix/sender_relayhost postmap /etc/postfix/smtp_relayhost_auth
postfix reload
zarafaclient.msi installieren, Konto hinzufügen | Andere | Zarafa Server
Server: <IP des Zarafa Servers> Port: 236 Benutzername: Zarafa Loginname Passwort: Verbindungstyp:
Outlook Zugriff über Port 237 mit HTTPS Verschlüsselung
für den Zugriff per Client muß vorher noch das IMAP oder/und POP3 Feature aktiviert werden.
zarafa-admin -u LoginName --enable-feature imap zarafa-admin -u LoginName --enable-feature pop3
die Zeile in der /etc/zarafa/server.cfg hat nicht den gewünschten Erfolg gebracht
# /etc/zarafa/server.cfg # disable_features = imap pop3
a2enmod ssl a2ensite default-ssl /etc/init.d/apache2 restart
Zugriff über SSL auf Webaccess
https://<Zarafa-Server>/webaccess/
- Verzeichnis anlegen
mkdir /etc/zarafa/ssl chmod 700 /etc/zarafa/ssl
- CA und Zertifikat anlegen
cd /etc/zarafa/ssl sh /usr/share/doc/zarafa/ssl-certificates.sh server
Common Name und Passwort vergeben
# /etc/zarafa/server.cfg ... server_ssl_enabled = "yes" server_ssl_key_file = /etc/zarafa/ssl/server.pem server_ssl_key_pass = PASSWORT server_ssl_ca_file = /etc/zarafa/ssl/demoCA/cacert.pem server_ssl_ca_path = /etc/zarafa/ssl/demoCA sslkeys_path = /etc/zarafa/ssl/ ...
- Zarafa Server neu starten
/etc/init.d/zarafa-server restart
- Zertifikat für CalDAV und IMAP erstellen
openssl genrsa -out /etc/zarafa/ssl/privkey.pem 2048 openssl req -new -x509 -key /etc/zarafa/ssl/privkey.pem -out /etc/zarafa/ssl/cert.pem -days 1095
Common Name = Name des Servers
POP3 SSL Port 995
IMAP SSL Port 993
# /etc/zarafa/gateway.cfg imaps_enable = yes pop3s_enable = yes ssl_private_key_file = /etc/zarafa/ssl/privkey.pem ssl_certificate_file = /etc/zarafa/ssl/cert.pem
/etc/init.d/zarafa-gateway restart
SSL Port 8443
# /etc/zarafa/ical.cfg ... icals_enable = yes ssl_private_key_file = /etc/zarafa/ssl/privkey.pem ssl_certificate_file = /etc/zarafa/ssl/cert.pem
/etc/init.d/zarafa-ical restart
Pakete clamassassin für den Virencheck, Spamc als Spamfilter und Procmail als Filter/Sortierer
Fetchmailrc anpassen, für die Weitergabe an Procmail
# /etc/fetchmailrc ... # mda "/usr/bin/zarafa-dagent ZarafaUser" mda "/usr/bin/procmail -a ZarafaUser" ...
Procmail Verzeichnis für Sperrdateien anlegen
mkdir /var/spool/procmail chown fetchmail.root /var/spool/procmail chmod 755 /var/spool/procmail
# /etc/procmailrc # Run procmail as the receiving user, not root: DROPPRIVS=yes # Debug Informationen an oder aus VERBOSE=on LOGABSTRACT=yes # LOG File festlegen LOGFILE=/var/log/procmail.log # Zeichensatz festlegen EXPORT LANG=de_DE.UTF-8 # Home Verzeichnis definieren HOMEDIR=/var/spool/procmail DELIVERMAIL="/usr/bin/zarafa-dagent" USER=$1 # Virencheck Mail und Anhang :0 fw: $HOMEDIR/clamassassin.lock |/usr/bin/clamassassin # Virenmails markieren :0 w * ^X-Virus-Status: Yes | $DELIVERMAIL -j $USER EXITCODE=$? # Spamcheck :0 fw: $HOMEDIR/spamc.lock |/usr/bin/spamc -u spam # Sortierung # SPAM mit -j in den Junk E-Mail Ordner :0 w * ^X-Spam-Status: Yes | $DELIVERMAIL -j $USER EXITCODE=$? # GMX WerbeMail :0 w * ^Reply-to.*mailings@gmxnet.de* # * ^To.user@^domain.tld # * ^Subject.*TEST # an Mailadresse weiterleiten # ! user@domain.tld # Mail in den Ordner Posteingeng\Archiv (-F) ablegen, # ist der Ordner nicht vorhanden, wird er angelegt (-C) # | $DELIVERMAIL -C -F 'Posteingang\Archiv' $USER # beim Ordner Gelöschte Objekte ist es wichtig das die Variable LANG # gesetzt ist damit die Umlaute richtig verarbeitet werden | $DELIVERMAIL -F 'Gelöschte Objekte' $USER # Mail im Ordner Junk E-Mail des Benutzers verschieben # | $DELIVERMAIL -j $USER # Mail unwiederbringlich löschen # /dev/null EXITCODE=$? # normale Nachrichten :0 w | $DELIVERMAIL $USER EXITCODE=$?
-Download, Entpacken und Zugriffsrechte setzen
wget http://download.z-push.org/final/2.2/z-push-2.2.9.tar.gz tar xvzf z-push-2.2.9.tar.gz -C /var/www mv /var/www/z-push-2.2.9 /var/www/z-push
chmod 755 /var/www/z-push mkdir /var/www/z-push/state chmod 755 /var/www/z-push/state mkdir /var/log/z-push chown -R www-data:www-data /var/www/z-push /var/log/z-push
- Apache Konfigurationsdatei erweitern
apt-get install libapache2-mod-php5 a2enmod php5 service apache2 restart
# /etc/apache2/sites-enabled/zarafa-webaccess ... Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php <Directory /var/www/z-push/> Options -Indexes AllowOverride None Order allow,deny Allow from all php_flag magic_quotes_gpc off php_flag register_globals off php_flag magic_quotes_runtime off php_flag short_open_tag on <Files debug.txt> Deny from All </Files> </Directory> ...
- Z-Push Konfiguration anpassen /var/www/z-push/config.php
, unter /var/www/z-push/state
wird der aktuelle Status der ActiveSync Clients gespeichert, so das nicht immer das komplette Verzeichnis übertragen werden muss.
... define('STATE_DIR', '/var/www/z-push/state/'); ...
- Symbolische Links anlegen, z-push-top
zeigt die aktuellen Aktivitäten der Nutzer und
ln -s /var/www/z-push/z-push-admin.php /usr/sbin/z-push-admin ln -s /var/www/z-push/z-push-top.php /usr/sbin/z-push-top
- Z-Push Protokollierungsdatei für Syncronisierungsprobleme anlegen
touch /usr/share/zarafa-webaccess/z-push-1.5.5-790/debug.txt chmod a+w /usr/share/zarafa-webaccess/z-push-1.5.5-790/debug.txt
- verhindert das Auslesen der debug.txt Datei übers Web, kann auch in der vHost Konfigurationsdatei erfolgen
# /var/www/z-push/.htaccess <Files debug.txt> order allow,deny Deny from All </Files>
- Apache Server neu starten
/etc/init.d/apache2 restart
- ActiveSync Server testen, "Z-Push - Open Source ActiveSync" Seite wird gezeigt.
https://server.domain.tld/Microsoft-Server-ActiveSync
- Ausgabe des Browsers
Z-Push - Open Source ActiveSync Version 2.2.9 GET not supported This is the z-push location and can only be accessed by Microsoft ActiveSync-capable devices.
- Anpassung Zarafa WebApp Version 2.1.2, sonst findet das Webinterface den Zarafa-Server nicht.
# /etc/zarafa/webapp/config.php ... define("DEFAULT_SERVER","file:///var/run/zarafad/server.sock"); ...
- Konfiguration anpassen
# /etc/zarafa/ical.cfg run_as_user = zarafa run_as_group = zarafa pid_file = /var/run/zarafad/ical.pid ical_enable = no ical_port = 8080 icals_enable = yes icals_port = 8443 ssl_private_key_file = /etc/zarafa/ssl/privkey.pem ssl_certificate_file = /etc/zarafa/ssl/cert.pem ...
Beispiel iPhone Einstellungen | Mail, Kontakte, Kalender | Account hinzufügen | Andere | Kalenderabo hinzufügen oder CalDAV-Account hinzufügen (Kalenderabo ist nur lesend, CalDAV lesend und schreibend)
Server: https://mail.domail.tld:8443/caldav/<Username>/
Benutzer: User
Passwort: ***
SSL verwenden: aktivieren
Verbindung im Browser testen, man erhält eine Calendar.ics
als Download.
https://server.domail.tld:8443
in Thunderbird Kalender öffnen, neuen Kalender hinzufügen | Netzwerkkalender
Server: https://mail.domain.tld:8443/caldav/<Username>/Kalender
- erweiterte Log Ausgabe von Postfix aktivieren mit der Option (-v)
# /etc/postfix/master.cf # ... smtp inet n - - - - smtpd -v ...
- eMail mit dem zarafa-dagent auf der Konsole versenden, -v Verbose, -f Datei verschicken
zarafa-dagent user@domain.tld -v -f /etc/hosts
- Beispiel für einen Aliase der alle LOGs überwacht.
#!/bin/sh # /etc/profile.d/aliase.sh # Systemweite ALIASE setzen # export LOG=/var/log export MYSQL=/var/log/mysql export APACHE=/var/log/apache2 export ZARAFA=/var/log/zarafa alias tall='tail -f $LOG/auth.log $LOG/syslog $MYSQL/error.log $APACHE/access.log $APACHE/error.log \ $APACHE/other_vhosts_access.log $APACHE/ssl_access.log $ZARAFA/degent.log $ZARAFA/gateway.log $ZARAFA/ical.log \ $ZARAFA/licensed.log $ZARAFA/monitor.log $ZARAFA/search.log $ZARAFA/server.log $ZARAFA/spooler.log' alias tzar='tail -f $LOG/auth.log $LOG/syslog $ZARAFA/degent.log $ZARAFA/gateway.log $ZARAFA/ical.log \ $ZARAFA/licensed.log $ZARAFA/monitor.log $ZARAFA/search.log $ZARAFA/server.log $ZARAFA/spooler.log' alias tmail='tail -f $LOG/auth.log $LOG/syslog $LOG/mail.log $LOG/fetchmail $LOG/procmail.log ' alias twww='tail -f $LOG/auth.log $LOG/syslog $APACHE/access.log $APACHE/error.log \ $APACHE/other_vhosts_access.log $APACHE/ssl_access.log' alias tsys='tail -f $LOG/auth.log $LOG/syslog'
- Fetchmail Fehler im Log
Unable to open logfile '/var/log/zarafa/dagent.log' as user 'fetchmail' Not enough permissions to append logfile '/var/log/zarafa/dagent.log'. Reverting to stderr.
usermod -G mail fetchmail chown -R zarafa.mail /var/log/zarafa chmod 755 /var/log/zarafa chmod -R 660 /var/log/zarafa/*
- Zarafa LOGs überwachen
cd /var/log/zarafa tail -f dagent.log presence.log spooler.log server.log search.log monitor.log gateway.log ical.log
Change language of default mapi folders
Configure language on Debian based distributions
- character_set der MySQL Datenbank prüfen
mysql -u root -p zarafa mysql> SHOW VARIABLES LIKE "character_set%";
System Debian 6 64Bit (Squeeze) mit Zarafa Community Ed. 7.0.1-28479
Fehler: Webmail Login nicht möglich "Unknown MAPI Error: MAPI_E_NOT_FOUND"
Lösung: der Mailstore wurde nicht angelegt, kann mit folgenden Befehl nachgeholt werden
zarafa-admin --create-store loginname
oder die Datei bearbeiten
#/etc/zarafa/userscripts/createuser.d/00createstore ... # zarafa-admin --utf8 --create-store "${ZARAFA_USER}" --lang "${ZARAFA_LANG}" zarafa-admin --create-store "${ZARAFA_USER}" --lang "${ZARAFA_LANG}"
Fehler: im Webaccess werden Kalender und Kontakte ale eMail-Liste angezeigt
Lösung: bereinigen und Cache löschen
zarafa-admin --purge-deferred zarafa-admin --clear-cache
Fehler: Fetchmail Access denied or Connection failed, using socket: 'file:///var/run/zarafa', error code: 0x80040111
Lösung:Fetchmail als Benutzer hinzufügen
# /etc/zarafa/server.cfg ... local_admin_users = root fetchmail
Fehler: im Webaccess werden keine Umlaute gezeigt
Lösung: wie folgt
#/etc/apache2/envvars ... export LANG="de_DE.UTF-8"
#/etc/init.d/apache2 ... # ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin" ENV="env -i LANG=de_DE.UTF-8 PATH=/usr/local/bin:/usr/bin:/bin"
/etc/init.d/apache2 restart
#/etc/default/zarafa ... # ZARAFA_LOCALE=C ZARAFA_LOCALE=de_DE.UTF-8 # ZARAFA_USERSCRIPT_LOCALE=C ZARAFA_USERSCRIPT_LOCALE="de_DE.UTF-8"
/etc/init.d/zarafa-server restart
/etc/zarafa/userscripts/users_common.sh ... export LC_ALL="de_DE.UTF-8"
nach den Änderungen die Benutzer löschen, bei den die Umlaute im Webaccess und Outlook nicht richtig angezeigt werden und diese dann neu anlegen.
zarafa-admin -d LoginName zarafa-admin --list-orphans zarafa-admin --remove-store GUID
zarafa-admin -c Loginname -p Passwort -e eMailAdresse -f "Vor Nachname"
Fehler: beim Aufruf von Webaccess oder Webapp PHP mapi extension not found
Lösung: kontrollieren, ob das Paket php5-mapi
in der passenden Version installiert ist und das Apache auch die Mapi mit laden kann.
ln -s /etc/php5/conf.d/20-zarafa.ini /etc/php5/apache2/conf.d/
# /etc/zarafa/server.cfg server_ssl_protocols = !SSLv2 !SSLv3 ssl_ciphers = 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:\ ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:\ ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:\ ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:\ DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:\ DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:\ !aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA' server_ssl_prefer_server_ciphers = yes
# /etc/zarafa/gateway.cfg ssl_protocols = !SSLv2 !SSLv3 ssl_ciphers = 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:\ ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:\ ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:\ ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:\ DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:\ DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:\ !aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA' ssl_prefer_server_ciphers = yes
# /etc/zarafa/ical.cfg ssl_protocols = !SSLv2 !SSLv3 ssl_ciphers = 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:\ ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:\ ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:\ ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:\ DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:\ DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:\ !aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA' ssl_prefer_server_ciphers = yes