Installation der Online Teamlösung eGroupWare Community Edition

Aus

Allgemeine Informationen

eGroupWare ist eine Online Teamlösung die folgendes bietet:

  • Eine gemeinsame Arbeitsumgebung für das gesamte Team
  • Informationen und Wissen zentral verwalten
  • Projekte, Aufgaben und Serviceanfragen managen
  • Dokumentenmanagement
  • Kontaktmanagement (CRM)
  • Datenaustausch, Synchronisation und offene Schnittstellen
  • Servicemanagement per Ticket-System
  • Verwaltung von Website-Inhalten über ein eigenes Website-CMS
  • Individuelle Rechtevergabe und Konfiguration

Anleitung Installation von eGroupWare 1.8 auf einer DS

Vorbemerkung

auf der egroupware Homepage hab ich irgendwo gelesen, dass es von apachefriends ein fertiges egroupware Packet mit Webserver, Datenbank und allem was man so braucht gäbe. Ich habe dieses nicht gefunden, falls jemand fündig wird kann er hier ja einen link reinsetzen. Mit diesem Packet wären einige der Änderungen und Schritte die hier beschrieben wahrscheinlich unnötig und es würde vielleicht „out of the box“ funktionieren.

Diese Anleitung beschreibt wie man egroupware mit dem Synology - Webserver zum laufen bekommt. Getestet und erarbeitet wurde es mit einer DS411+ und einer DS411+ II mit einem x86 (Atom) basierten Prozessor.

Sie wurde von keinen Linux „Cracks“ erstellt und weist im Bezug auf Sicherheit bestimmt Verbesserungsbedarf auf, sollte entsprechenden Experten oder erfahrenen Nutzern kritische Punkte auffallen sind bessere Vorschläge erwünscht.

Voraussetzungen

  • Kenntnisse im Umgang mit dem DSM
  • der Konsole
  • funktionierendes IPGK
  • Kenntnisse in nano oder vi
  • Grundlegendes Verständnis des Webservers
  • MySQL Datenbank aktiviert und ggfs. Zugang über phpMyAdmin
  • (Midnight Commander nicht notwendig wird aber im Tutorial verwendet)
  • Internet Explorer oder Firefox als Browser (Mit Opera wollte er sich bei mir nicht einloggen, falls es jemand hinbekommt mit Opera bitte hier ergänzen wie)

Vor jeglicher großen Änderung an der Diskstation ist eine Datensicherung natürlich immer empfehlenswert.

Vor der Installation von eGroupWare sollte zur Sicherheit eurer DS der Zugang zum Webserver von außen, d.h. aus dem Internet gesperrt werden und erst nach erfolgreicher Installation wieder geöffnet.

Dazu entweder am Router die Weiterleitung der Ports (im Regelfall 80 für http und 443 für https) für den Webserver unterbinden oder in der DSM Firewall den Zugang für IP-Adressen außerhalb des Heimnetzwerkes verbieten. (DSM-Bedienfeld-Firewall, dort eine vorhandene Regel für den Webserver bearbeiten oder neu erstellen und als Quell-IP für Zugriffe nur den lokal verwendeten IP-Bereich zulassen z.B. 192.168.1.0 Subnetz 255.255.255.0)

Des Weiteren können sich Änderungen die ihr an verschiedenen Dateien zur Webserver-Konfiguration durchführt auch auf andere Webseiten eures Webservers auswirken, so wurde mir z.B. ein vorher einwandfrei dargestelltes Wiki nicht mehr in korrekter Formatierung angezeigt.Von daher macht ihr das auf eigenes Risiko. Und legt auch Sicherungen der Dateien die ihr verändert an z.B. der php.ini -> php.ini_sicherung , so könnt ihr jederzeit wieder zurück

Alles verstanden, ok dann geht’s nun los.

Zugriff auf das NAS per Kommandozeile

Installationsdateien herunterladen

Download der Dateien vom: Downloadbereich der EGW Community Edition

Wir haben den Daily snaphot verwendet. Man erhält dann eine Datei, in unserem Fall (Stand 24.02.2012) die:

 eGroupware_1.8-snapshot.tar.bz2 

Installation

Diese muss dann z.B. über den DSM mittels Dateibrowser rechtsklick extrahiert werden. Man erhält dann die Datei:

 eGroupware_1.8-snapshot.tar

diese nochmals extrahieren und nun hat man den fertigen eGroupware Ordner den man auf den Webserver legen kann.

Also letztendlich muss der Ordner dann im Ordner web landen oder genauer /volume1/web Am besten nennt ihr ihn egroupware, so wurde es in der weiteren Anleitung gemacht Dann die Webinstallationsoberfläche über den Browser aufrufen indem man die IP der Diskstation / Name_des_egroupware_ordners eintippt.

 Bsp: http://192.168.1.10/egroupware 

Wessix egroupware Bild1.jpg

Sollte dies euer erster Installationsversuch sein bringt euch diese Eingabe zum Webinterface basierten Setup. Falls ihr später irgendwann nochmal etwas ändern wollt und zum Setup zurückkehren wollt könnt ihr im Browser eintippen:

http://IP_eurer_DS/Name_des_egroupware_ordners/setup
BSP: http://192.168.1.10/egroupware/setup 

Nun eine gewünschte Sprache wählen und die Installationstests starten. Ihr bekommt nun eine Liste mit Voraussetzungen, die für die Nutzung von egroupware erfüllt sind oder auch nicht. Nicht alle dieser Voraussetzungen müssen zwingend erforderlich sein, das hängt davon ab wie ihr egroupware nutzen wollt und mit welcher Datenbank es zusammenarbeiten soll.

Jedoch müssen wir dafür sorgen, dass alle roten X verschwinden.

Wessix egroupware Bild2.jpg Wessix egroupware Bild3.jpg

Falls hier nicht alle notwendigen Schritte erklärt sein sollten: Die Überprüfung schreibt eigentlich recht genau hin, wo es hängt und was man zur Behebung machen kann.

So nun müssen aber noch einige Schreibrechte auf die Verzeichnisse geändert werden.

In dieser Anleitung wird dazu der Midnight Commander verwendet, welcher über IPKG installiert werden kann

ipkg install mc

und dann mit der Eingabe von

mc

in der Konsole gestartet wird. Das ändern geht auch über die normalen Kommandozeilenbefehle

chmod

oder

chown

Genaueres hierzu entnehmt ihr bitte dem entsprechenden Wiki-Abschnitt Kommandozeile.

Wir ändern also mit dem Midnight Commander die Rechte/bzw. den Besitzer des Ordners /volume1/web/egroupware/setup sodass der Webserver (nobody:nobody) Zugriff darauf hat. Im MidnightCommander den Ordner auswählen und über das Top-menü-> file -> Chown

Wessix egroupware Bild6.jpg

den Benutzer des ordners auf nobody und nobody setzen.

So ganz unten in der Überprüfungsliste steht noch das wir JpGraph benötigen.

Das lässt sich leicht erledigen, auf: http://jpgraph.net/download/ gibt’s die entsprechende Datei als .tar.gz gepackt.

Wessix egroupware Bild4.jpg


Diese muss heruntergeladen werden und wieder 2x entpackt und der Inhalt dann direkt im /volume1/web Ordner in einem Verzeichnis mit dem Namen jpgraph abgelegt werden. (also nicht in den egroupware Ordner)


Wessix egroupware Bild5.jpg

Wenn ihr nun kontrollieren wollt ob ihr alles richtig gemacht habt könnt ihr wieder bei der Installationsüberprüfung ganz unten auf: zum Wiederholen der Installationstest hier klicken drücken.

Nun sollte ein grüner Haken ganz unten vor: Überprüfe JPGraph in /volume1/web/jpgraph stehen.

Das aktualisieren der überprüfenden Tests kann manchmal etwas dauern. Also Geduld aufbringen und nen Schluck Kaffee nehmen.

Nun ändern wir zur Sicherheit noch die Rechte des /volume1/web/egroupware Verzeichnisses, da es momentan noch volle Schreibrechte besitzt. Da wir die Rechte auch an die Unterordner vererben wollen geht das über die Kommandozeile ganz einfach mit:

cd /volume1/web
chmod –R 755 egroupware/

So nun beheben wir die Warnung: mbstring.func_overload = 7 …. Dazu müssen wir die /usr/syno/etc/php.ini modifizieren Vorher legen wir allerdings eine Sicherungskopie an:

Wir wechseln ins Verzeichnis /usr/syno/etc :

cd /usr/syno/etc/ 

und öffnen sie mit Nano:

nano –w php.ini

nun drücken wir die Tastenkombination strg+o und ändern den Namen der zu speichernden datei ab, indem wir sie php.ini.sicherung nennen und bestätigen. Jetzt nochmal die richtige php.ini öffnen die modifiziert wird

nano –w php.ini

mit strg + w suchen wir nach dem ausdruck:

mbstring.func_overload

und ändern die Zeile:

; mbstring.func_overload = 0

zu

mbstring.func_overload = 7

ab und entfernen das „;“ Zeichen am Anfang der Zeile, dass diese verarbeitet wird.

Die Warnungen bezüglich anderer Datenbanktypen können wir ignorieren, da wir ja MySQL verwenden.

Nun starten wir den Webserver mal neu. Das geht entweder über die Konsole oder aber im DSM unter Bedienfeld -> Webdienste dort den Haken für Webstation aktivieren rausnehmen, OK drücken. Kurz warten. Danach den Haken wieder setzen und wieder Ok drücken.

So nun sollte der Webserver neugestartet sein und einige Warnungen beim erneuten durchführen des Tests verschwunden.

Jetzt müssen wir noch PEAR und die gewünschten PEAR-Module installieren. Also ab zur Konsole, dort machen wir erstmal ein:

ipkg update 

Und dann

ipkg install php-pear 

Wenn erfolgreich sollte erscheinen:

Wrote PEAR system config file at: /opt/etc/pear.conf
You may want to add: /opt/share/pear to your php.ini include_path 
Configuring psmisc
update-alternatives: Linking //opt/bin/killall to /opt/bin/
update-alternatives: Linking //opt/bin/pidof to /opt/bin/ps
Configuring zlib
Successfully terminated. 

So wie uns das Setupscript von PEAR schon vorschlägt tragen wir nun in die '/usr/syno/etc/php.ini unter dem Abschnitt include_path Diese Zeile ein:

include_path = ".:/php/includes:/opt/share/pear"

und fügen im DSM unter Bedienfeld -> Webdienste -> PHP – Einstellungen und open_basedir den eintrag:

:/opt/share/pear 

Am Ende der Zeile hinzu. Die Doppelpunkte dienen als Trennzeichen und müssen miteingefügt werden

Danach geht‘s wieder in der Konsole weiter:

Wir geben ein:

pear install Auth_SASL
pear install XML_Feed_Parser

Ersteres sollte druchlaufen, bei der zweiten Eingabe erscheint wahrscheinlich ein Fehler mit Allowed memory size ….

Um diesen zu beheben müssen wir in der /opt/etc/php.ini [! nicht in der (/usr/syno/etcphp.ini)!] den Eintrag:

 memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)

z.B. auf 128 Mb hoch stellen. (bei kleineren DS vielleicht keinen allzu hochen Wert wählen. Ich habe jetzt nicht geckukt wie hoch man den mindestens stellen muss, bzw nicht mehr in Erinnerung.

Also:

memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)

Wir speichern die Datei und führen

pear install XML_Feed_Parser

nochmal aus.

Nun sollte es gehen.

Jetzt sollten alle Roten X beim Installationstest verschwunden sein und die beisten gelben Blitze auch.

Falls irgendein Ordner noch nicht die entsprechend notwendigen oder zu viele Schreibrechte besitzen sollte schreibt es euch der Test hin und ihr könnt die mit dem Midnight Commander über das File Menü und die Befehle Chmod und Chown für diese Ordner ändern.


Jetzt kann es zur Headerverwaltung weitergehen

Headerverwaltung

Wessix egroupware Bild7.jpg


Dort die gewünschten Daten eintragen. Den Benutzer Headerverwaltung benötigt ihr wenn ihr später noch einmal genau auf dieser Seite etwas einstellen wollt. Ich habe für Benutzer Headerverwaltung und weiter unten bei Benutzer für die Konfiguration der Domain die gleichen Daten gewählt. Bei Zugang beschränken muss nichts eingetragen werden, ich finde es aber durchaus sinnvoll, so wurde im Beispiel der Konfigurationszugang zur Headerverwaltung auf die IP: 192.168.1.25 beschränkt. Das heißt, nur von dieser IP kann auf die Headerverwaltung zugegriffen werden.

Als Datenbakname wurde egroupware und als benutzername auch egroupware gewählt, ein Passwort könnt ihr frei wählen. Hier muss nicht das root Kennwort der MySQL Datenbank eingegeben werden das kommt später einmalig.

Alle anderen Einstellungen können so verbleiben.

Nun müssen wir noch die Datei header.inc.php herunterladen, in unserem egroupware Verzeichnis /volume1/web/egroupware ablegen und mit den richtigen Zugriffsrechten versehen.

Also klicken wir auf Herunterladen und speichern sie als header.inc.php unter /volume1/web/egroupware ab Nun rufen wir in der Kommandozeile den Midnight Commander auf:

mc

und stellen über das Topmenü chown Besitzer auf nobody:nobody und bei chmod die Zugriffsrechte so ein, dass im rechten Anzeigefeld der Zahlencode 100771 steht.


Dann die Header Konfiguration mit weiter abschließen.

Datenbank, Anwendungen und admin Benutzer einrichten

Wessix egroupware Bild8.jpg

Im jetzt erscheinenden Fenster loggen wir uns mit dem gerade erstellten admin Account im oberen Feld ein.


Ihr seht nun 6 rote X. Das ist normal. Diese werden nacheinander beseitigt.

Die Sprache lassen wir wie voreingestellt.

Wessix egroupware Bild9.jpg

Die Datenbank lassen wir uns automatisch anlegen, hierzu müssen wir die root Zugangsdaten zur MySQL Datenbank eingeben und auf Datenbank erzeugen klicken.

Danach auf erneut überprüfen

Wessix egroupware Bild10.jpg

es steht immer noch ein rotes X da, weil noch keine Anwendungen in die Datenbank installiert wurden. Das machen wir nun mit einem Klick auf installieren (alle Anwendungen) [unteres Bild]

Wessix egroupware Bild11.jpg




Wessix egroupware Bild12.jpg

Nun sollte das 1. Häkchen grün werden.

Auf Gegenwärtige Konfiguration ändern klicken.


Wessix egroupware Bild13.jpg


Nun müssen die beiden Variablen für die Dateisicherungen angepasst und dafür die entsprechenden Ordner vorher mit z.B dem Midnight Commander erstellt werden. Ich habe vor die voreingestellten Pfade so abgeändert dass die Pfade dann so aussehen:

/volume1/egroupware/default/files 
/volume1/egroupware/default/backup 

Diese Verzeichnisse gibt es so noch nicht, deshalb erstellen wir sie z.B. mit dem konsolenbefehl mkdir oder aber mit dem Midnight Commander indem wir ins Verzeichnis /volume1 wechseln und dann mit dem Topleisten-Befehl File-> Mkdir ein Verzeichnis egroupware erstellen.

Danach wechseln wir in dieses und erstellen wieder ein Verzeichnis namens default usw. bis wir die beiden entsprechenden Verzeichnisse zu den von uns angegebenen Pfaden erstellt haben. (Müsste eigentlich auch mit dem DSM zu machen sein, sicherlich kann man hier auch andere Pfade wählen, aber so fand ich es recht überschaubar)

Für das neu erstellte Verzeichnis /volume1/egroupware stellen wir mittels des Konsolenbefehls:

chown -R nobody:nobody /volume1/egroupware/

den Besitzer für dieses Verzeichnis und seine Unterverzeichnisse auf den Webserver.

Dass der Webserver auch darauf zugreifen kann muss das Verzeichnis mit hinzufügen von:

:/volume1/egroupware

in der open_basedir wie schon oben beschrieben miteingetragen werden. Die Doppelpunkte fungieren als Trennzeichen!

Wieder im Browserfenster tragen wir folgendes ein:

Bei URL zur eGroupWare Installation: /egroupware eintragen Bei Hostname noch die Ip eurer DS eintragen BSP: 192.168.1.10 Und bei SMTP Server Hostname oder IP Adresse muss noch: localhost rein. Alle anderen Werte müssen nicht verändert werden, natürlich könnt ihr das sofern ihr wisst was ihr da tut.

Nun auf speichern klicken.

In der Übersicht, fehlt nur noch eine Aufgabe die erledigt werden muss, das Anlegen eines Administrator-Kontos für die eigentliche egroupware Oberfläche mit dem man die anderen egroupware Benutzer verwaltet, Rechte vergibt etc.

Wir klicken also auf „Administrator-Konto anlegen"


Wessix egroupware Bild15.jpg


Noch speichern, das war‘s alle Häkchen sollten grün sein !

Glückwunsch ihr habt durchgehalten.

Nun könnt ihr links oben auf Zurück zur Benutzeranmeldung klicken oder in der Adressleiste eures Browsers eingeben:

http(s)://IP_eurer_DS/egroupware

Auf beiden Wegen solltet ihr bei folgendem Login-Bildschirm landen:

Wessix egroupware Bild16.jpg


Nun mit dem eben erstellten admin Account einloggen und loslegen.

Viel Spaß dabei!


Eine Anleitung wie man eine Synchronisation mit Thunderbird, outlook oder/und einem Android Gerät einrichtet wird hoffentlich in Kürze folgen



Anhang

Synchronisation

Thunderbird 10 GroupDAV

Mit Thunderbird 10 und dem aktuellen Lightning Addon benötigt man keine Plugins:

Einfach in die Kalenderansicht wechseln und in der linken Spalte wo der Kalender Privat eingetragen ist einen rechtsclick machen und Neuer Kalender wählen.

Wessix egroupware Thunderbird Bild1.jpg


Jetzt auf im Netzwerk klicken


Wessix egroupware Thunderbird Bild2.jpg


Im folgenden Fenster CalDAV auswählen und als Adresse angeben:


 http(s)://IP_derDS/name_des_egroupware_ordners/groupdav.php/calendar 
BSP: https://192.168.1.10/egroupware/groupdav.php/calendar


Wessix egroupware Thunderbird Bild3.jpg


Nun noch einen Namen eintragen ein Farbe wählen und wenn ihr wollt einen Email Account zuordnen.


Wessix egroupware Thunderbird Bild4.jpg


Auf weiter klicken und im folgenden Abfragefenster die Benutzerdaten des egroupware Benutzers eingeben, dessen Kalender ihr synchronisieren wollt.

Voila!

Nun habt ihr Lese und ! Schreibszugriff auf den entsprechenden Kalender.


Mehr Details zur groupdav Synchronisation findet ihr auf der egroupware Homepage



Synchronisation via Funambol App und SyncML

zur Funktion der regulären funambol Apps für die Kalender oder Kontaktsynchronisation via syncml muss ein vertrauenswürdiges Zertifikat existieren! Dazu erstellt man ein Zertifikat nach dieser Anleitung:

http://www.synology-wiki.de/index.php/Generierung_eines_eigenen_SSL-Zertifikats

und bindet es wie hier beschrieben auf seinem PC ein:

http://www.synology-forum.de/showthread.html?26757-Allgemeine-Zertifikaten-Frage&p=220656&viewfull=1#post220656


Android Smartphone SyncML mit Funambol app

Der obenstehende Hinweis bezüglich der Zertifikate gilt auch hier und war bei mir der Grund warum es nicht ging. Lapidare Fehlermeldung war nur: "Netzwerkfehler"

Alternativ gibt es für Androidhandys hier eine App die das Zertifikat nicht als zwingend voraussetzt:

http://devbios.wordpress.com/2011/12/26/ssl-funambol-on-android-without-adding-certificates/


Wenn ihr diese runtergeladen habt, manuell installiert und gestartet habt kommt am Anfang ein Fenster bei dem ihr gefragt werdet ob ihr einen neuen Funambol Account anmelden wollt.

Das ist nicht notwendig

Ihr drückt einfach unten rechts auf Anmelden dann sollte dieses Fenster bei euch erscheinen:


Wessix egroupware Funambol android4.jpg

dann sollte dieses Fenster bei euch erscheinen:

Wessix egroupware Funambol android1.jpg

Hier tragt ihr anstatt des Funambol Servers die Daten eurer DS ein.

 http(s)://dyndns_eurer_ds/name_eures_egroupware_ornders/rpc.php 
 BSP: http(s)://meine.dyndns.org/egroupware/rpc.php

Wessix egroupware Funambol android2.jpg


und die Benutzerdaten des egroupware Accounts welchen ihr synchronisieren wollt.

Wessix egroupware Funambol android3.jpg


Ihr könnt nun Adressen und Kalenderdaten synchronisieren.