EGroupware

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen

eGroupWare ist ein Groupware-Server mit folgenden Eigenschaften:

  • Features: Verwaltung von Emails, Kontakten, Terminen, Aufgaben und vieles mehr mit umfangreichen Team-Funktionen und offenen Schnittstellen.
  • Open-Source
  • web-basiert per Apache, PHP und MySQL
  • erweiterbar mittels Module (z.B. Wiki, Umfragen, Bildergalerie)

Installation

Da an eGroupWare sehr fleißig weiterentwickelt wird, sind neue Features und Bugfixes (vor allem hinsichtlich der externen Schnittstellen wie GroupDAV) meist im Entwickler-Zweig der Software enthalten. Man kann z.B. auch nur einzelne Module (wie InfoLog) aus dem Entwickler-Zweig ersetzen.

Installation und Konfiguration des offiziellen Releases

Aktuell ist 1.4.002.

Download:

Die folgenden Hinweise beziehen sich auf die RPM-Installation:

  • Owner
chown -R root:root /usr/share/egroupware
chown -R wwwrun:www /var/lib/egroupware/*
  • Links in /usr/share/egroupware
header.inc.php -> /var/lib/egroupware/header.inc.php
sitemgr-link -> sitemgr/sitemgr-link
  • php.ini
    • open_basedir /usr/share/egroupware/:/var/lib/egroupware/ ggf. auch in php.ini eintragen
    • weitere Einstellungen siehe unten in Apache Konfiguration

eGrouWare Konfiguration

  • Setup-/Konfigurationsadmin-Login
    • Schritt 2 - Konfiguration
      • temp. Dateien
/srv/www/tmp
    • Schritt 5 - Erweiterte Verwaltung der Anwendungen
      • phpsysinfo in Setup nicht installiert
      • sambaadmin nicht aktiviert
  • Headerverwaltung
    • Zugang beschränken besetzt
    • Permanente Verbindung: Ja
    • Session-Typ: PHP
    • MCrypt: Ja
  • Konfiguration der Anwendung
    • RPC und SOAP deaktiviert
  • Email
    • IMAP-Server:Dovecot
      • in eGroupWare Standard-IMAP ausgewählt (Admin -> emailadmin)
      • für TLS STARTTLS wählen (Option TLS funtioniert nicht)
    • SMTP: Postfix

Apache Konfiguration

Datei /etc/apache2/conf.d/egroupware.conf

Alias /egroupware /usr/share/egroupware

<Directory /usr/share/egroupware/>
  Options FollowSymLinks ExecCGI
  AllowOverride None
  Order allow,deny
  #Allow from all

  # gilt auch für alle Unterverzeichnisse, die nicht mit "All from all" besetzt sind.
  Allow from 127.0.0.1
  Allow from 192.168.0.0/16
  Allow from 10.1.0.0/16
  # noch ein paar andere Netze ;-)
  AuthType Basic
  AuthName "eGroupWare Pre-Login"
  AuthUserFile /srv/www/htpasswd
  Require user user1
  Satisfy Any

  DirectoryIndex index.html index.php
  AddHandler cgi-script .cgi
  AddDefaultCharset Off
  php_flag file_uploads on
  php_flag log_errors on
  php_flag magic_quotes_gpc off
  php_flag magic_quotes_runtime off
  php_flag register_globals off
  php_flag short_open_tag on
  php_flag track_vars on
  php_flag display_errors off
  php_value error_reporting 'E_ALL & ~E_NOTICE'
  php_value max_execution_time 90
  # mbstring.func_overload 7 macht große Probleme mit wordpress und mediawiki
  # anscheinend ist das Benutzen in <Directory> noch buggy, siehe http://us3.php.net/mbstring
  # bisher scheint es aber auch ohne 7 zu funktionieren (betroffen soll z.B. mail sein)
  #php_value mbstring.func_overload 7
  php_value memory_limit 24M
  php_value session.gc_maxlifetime 1440
  php_value session.save_path /var/lib/egroupware/sessions
  php_value include_path .:/usr/share/php5/PEAR:/usr/share/php
  php_value open_basedir /usr/share/egroupware/:/var/lib/egroupware/:/tmp
  php_value upload_max_filesize 6M
  <Files ~ "\.inc\.php$">
    Order allow,deny
    Deny from all
  </Files>

  # Alle HTTP Zugriffe auf HTTPS umleiten
  # /egroupware/ in path not needed since we are already in the <Directory> context
  RewriteEngine On
  RewriteCond %{SERVER_PORT} !^443$
  RewriteRule ^(.*) https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</Directory>

<Directory /usr/share/egroupware/fudforum/>
  AllowOverride Limit Options
</Directory>

<Directory /usr/share/egroupware/phpsysinfo/>
  php_value open_basedir /
</Directory>

<Location /egroupware/icalsrv.php>
    Script PUT /usr/share/egroupware/icalsrv.php
    AddHandler ical/ics .ics
    Action ical/ics /usr/share/egroupware/icalsrv.php
    #Order allow,deny
    #Allow from all
</Location>

<Location /egroupware/rpc.php>
    php_value mbstring.func_overload 0
    #Order allow,deny
    #Allow from all
    #Satisfy Any
</Location>

Branch-Version des aktuellen Releases

Zum aktuellen 1.4 Release werden leichte Korrekturen im Branch-Zweig vorgenommen. Diese Software kann man i.d.R. einfach über die bestehende Version kopieren.

Download: http://www.egroupware.org/other/1.4-snapshot.tar.bz2

Hinweise:

  • In diesem Tarball ist das Gallery2-Modul nicht enthalten.

Trunk-Zweig

Im Trunk-Entwicklerzweig werden neue Features implementiert. Derzeit hat der Trunk die Version 1.5.001. Daraus lassen sich z.T. einzelne Module verwenden und über die bestehende Software kopieren.

Download: http://www.egroupware.org/other/trunk-snapshot.tar.bz2

Welche Module sind aktuell aus dem Trunk ersetzt:

  • InfoLog (bessere Unterstützung für GroupDAV etc.)
  • icalsrv (Verbesserungen für GroupDAV)

Sprachdateien (unterhalb des setup-Verzeichnisses des Moduls) im 1.5-Trunk liegen in UTF-8 vor, bei 1.4 ist es ISO-8859. Daher müssen diese in ISO-8859 übersetzt werden und vom System neu eingelesen werden in die Datenbank.

  • Beispiel UTF-8 nach ISO-8859
iconv -f utf-8 -t iso-8859-1 -o egw_de.lang.iso egw_de.lang
cp egw_de.lang.iso egw_de.lang
  • Update der Datenbank über
Setup -> Schritt 4 - Verwaltung der Sprachen -> Alle installierten Sprachen löschen und neu installieren

Tipps & Tricks

GroupDAV in kontact

  • Siehe http://www.egroupware.org/sync
  • Beim Export von Adressen von kontact zum Server werden diese in das persönliche Adressbuch des admin-Users eingetragen. Diese Adressen kann man später auf dem Server einfach in ein anderes Adressbuch schieben.
  • siehe Probleme mit Umlauten und Felder-Zuordnungen im Adressbuch

SyncML

SyncML mit einem SonyEricsson W850i funktioniert bis auf die Kontakte, siehe Konfiguration in [1]. Beim Adressbuch bricht der Sync - zumindest bei größeren Adressbüchern - ab ("unerwartete Serverantwort"). Es scheint sich eher um ein Timing-Problem zu handeln.

Debugging

  • GroupDAV (icalsrc): icalsrv/inc/class.icalsrv_groupdav.inc.php
var $debug = 0;

oder

var $debug = 1;
  • SyncML
    • Debug-Verzeichnis in Datei phpgwapi/inc/horde/Horde/RPC/syncml.php instellen und dieses Verzeichnis auch erstellen und für Apache schreibbar machen.
var $_debugDir = '/srv/www/tmp/sync';
    • Weitere Debug-Meldungen gehen in das PHP- bzw. Apache Error-Log gemäß Eintrag in phpgwapi/inc/horde/config/conf.php
$conf['log']['priority'] = PEAR_LOG_INFO;

oder

$conf['log']['priority'] = PEAR_LOG_DEBUG;

Probleme

UTF-8

eGW verwendet für bestimmte String-Funktionen die mbstring-Erweiterung in PHP. Eigentlich müsste mbstring.func_overload=7 gesetzt werden im Apache Directory-Kontext. Jedoch scheint das Aktivieren im Directory-Kontext nicht sauber zu funktionieren, so dass andere PHP-Applikationen im gleichen virt. Server große Probleme damit haben (Mediawiki, Wordpress). Daher ist diese Funktion ausgeschaltet. Nebenwirkungen konnten bisher nicht beobachtet werden. Siehe [2]

XMLRPC

  • Der XMLRPC-Zugriff in kontact funktioniert nur sehr bedingt.
    • Probleme mit Authentifizierung
    • Export von kontact zum Server funktioniert nur sporadisch bei einzelnen Adressen.

GroupDAV

  • GroupDAV-Zugriff per kontact
    • Umlaute werden (nur) im kontact-Adressbuch falsch dargestellt. Auf dem Server sind diese korrekt - auch nach einem Export per GroupDAV vom Client zum Server. Anscheinend klappt die Umwandlung nur beim Lesen vom Server nicht. Unklar ist, ob der Bug bei eGroupWare oder kontact liegt. Siehe [Forum].
    • Werden Einträge mit nicht korrekter Darstellung der Umlaute in kontact editiert, werden z.B. die Strings abgeschnitten und so auf dem Server gespeichert. Daher: Am besten Kontakte mit Umlauten nur auf dem Server ändern.
    • Export von Adressbucheinträgen von kontact zu eGW
      • vor allem die Telefonnummerneinträge werden recht bunt gemischt ("Privat" wird nicht übernommen sobald noch eine andere Telefonummer existiert, "Sonstige" in kontact wird zu "Privat" in eGW, "Fax Privat" wird nicht übernommen, bei der Anzeige in kontact wird die "Mobil"-Nummer als "Sonstiges" angezeigt
      • nur eine Email-Adresse wird übernommen

CSV-Import von Adressbüchern in eGW

  • kontact
    • Kategorien werden aus kontact nicht exportiert
    • nur eine Email-Adresse wird aus kontact exportiert
    • Umbrüche in Notizen (\n) werden nicht korrekt importiert, bzw. als String "\n"
    • einige Zeilen werden überhaupt nicht importiert (z.B. bei Adressen nur mit Name und Notiz)

Weblinks