Debian Etch / Confixx 3.3 eGroupware Installation on a multiuser plattform
Ein Kochrezept für eine Installation
Diese Anleitung beruht auf meinen Erfahrungen der letzten Wochen. Sie ist für alle gedacht, die so wie ich manchmal nahe der Verzweifelung sind, dabei durch eine ganze Menge an Posts surfen, auf der Suche nach Lösungen. Darum, bitte siehe: das Kochrezept könnte auch ganz anders ausfallen!, hätte ich andere Erfahrungen gemacht!!!
Dieser Erfahrungsweg gibt keine Gewähr, was Sicherheit oder korrekte Installation betrifft. Im Falle von sensiblen Daten, die mit eGroupware gemanaged werden, sollte man sich evtl. doch überlegen, zu professionellen Anbietern zu wechseln.
Für Anregungen, Kommentare und Verbesserungen bin ich sehr offen! Es kann vorkommen, dass einige Formalitäten Verbesserungs würdig sind.
Das Rezept:
1.)
Anschaffen eines Rootservers, als VPS oder was auch immer. Jede andere Lösung, ohne Root Rechte, wird früher oder später scheitern, soweit meine Erfahrung.
2.)
Debian Etch / Confixx 3.3 als Betriebssystem auswählen.
3.)
Anlegen eines UsersA über das Confixx Admin Panel.
4.)
Herunterladen von den Modulen egroupware-1.6. (basics, egw-pear, etc) als ZIP File, von den Seiten www.egroupware.org. Für mich bot sich ZIP als einfachste Methode an. Es gibt auch die Möglichkeit, die Version 1.4. via apt-get install egroupware zu installieren. Da ich aber mit 1.6. arbeiten wollte habe ich diesen Weg gewählt. (Sollte der andere Weg gewählt werden, File ‚source.list’ und Adresse www.debian.org bzw. http://packages.debian.org überprüfen)
5.)
Hochladen der egroupware-Files in die Docroot des UsersA via FTP.
Die Docroot des UsersA beginnt in der Verzeichnisstruktur vom Ordern HTML oder HTDOCS (o.ä.) an, z.B. /var/www/usera/html……dieser Pfad ist die „docroot“
6.)
Sich als ‚root user’ über die Console PUTTY einloggen. Hier tut es eigentlich jede Console, darunter ist PUTTY wohl die bekannteste (Googeln).
7.)
In das Verzeichnis /var/www/userA/html wechseln und die Befehl
Unzip egroupware-1.6
Unzip egroupware-egw-pear-1.6
eingeben. Das Verzeichnis ‚/egroupware’ wird automatisch dann in der Docroot des UserA angelegt, die Files werden dort abgelegt.
8.)
Mehrere weitere Verzeichnisse anlegen, dabei in das Root-Verzeichniss wechseln:
Mkdir /var/www/userA/var
Mkdir /var/www/userA/var/files
Mkdir /var/www/userA/var/backup
Mkdir /var/www/userA/var/tmp
Diese obigen Verzeichnisse liegen parallel zur Docroot (/var/www/userA/html…), und somit ausserhalb der Docroot! Das ist für den Setup später wichtig.
9.)
Ändern der Rechte. Es handelt sich bei dem Account um den Account von userA und nicht von ‚root:root’ oder wer immer sich über Putty eingeloged hat… Also diese Rechte ändern, wenn nötig! Und zwar in der Docroot, als auch bei den Verzeichnissen /var/files…backup…tmp
Chmod –R 770 html/egroupware
Chmod –R 770 var
Und ändern des Owners. Achtung, einer der Owner oder dieser Gruppe muss ein Systemuser/gruppe sein. In diesem Falle also z.B. wwwrun oder wwwdata (gip 555)! Damit kann das System auf diese Files zugreifen und auch schreiben! Mit dem –R Parameter werden alle Verzeichnisse und Subverzeichnisse incl. Files auf diesen Wert gesetzt.
Chown –R userA:wwwrun htm/egroupware
Chown –R userA:wwwrun var
Jetzt müsste bei ‚ls –la’ folgende Liste kommen (bzw. in die docroot wechseln)
Drxwrxw— usera:wwwrun html/egroupware
Drxwrxw— usera:wwwrun var
10.)
Installation von PEAR! Diese Klassen sind wichtig für die Installation. Die meisten Fehler wärend des Setups werden durch das Modul ‚…egw-pear…’ (s.o. Punkt 7) behoben. Jedoch gibt es zwei Module, die von Hand nach installiert werden müssen.
Von lokalen Lösungen wie go-pear oder lynx…. habe ich Abstand genommen. Verbiegte mir nur die Installation.
Sollte der Befehl # pear version ohne Folgen bleiben (error bash etc), dann:
Apt-get install pear
….
Installation ok
Mit
pear config-get php_dir
sich den Pfad für das Module-Verzeichniss anzeigen lassen.
Sollte das nicht
/usr/share/php sein
Dann mit
pear config-set php_dir /usr/share/php
denn Pfad setzten.
Dieser Pfad wiederholt sich in einigen Dateien wie /etc/pear/pear.conf. Eine Veränderung in einer Datei muss zwingend eine Veränderung in einer anderen nach sich ziehen. Geschieht das nicht, legt man z.B. die Dateien in einem Verzeichnis ab, und startet „nichts“ in einem anderen! (oder welche Kombinationen man sich hier auch immer vorstellen kann)
Neben dem Verzeichniss /usr/share/php gibt es noch das Verzeichnis /usr/share/pear! Achtung: das Standartverzeichniss ist tatsächlich ‚/php’ und nicht ‚/pear’… also nicht verwirren lassen.
11.)
Installation von den Modulen
pear install pear-1.7.2
pear install Auth_SASL
pear install XML_Feed_Parser
(#pear install xyz … alle Module, die durch egw-pear eigentlich installiert sind, können so auch installiert werden, ist aber nicht nötig)
Mit ‚#pear version’ und ‚#pear list’ die Installation überprüfen! Ich hatte dabei das Glück, dass ich als Version tatsächlich immer 1.4.11 rausbekam, aber das Module 1.7.2 als installiert sah. Anfänger Glück!! 
12.)
Tipp aus der eGroupware Wiki
Debian users können auch PHP5 CGI vom backports.org bekommen. Setzte in der ‘source.list’ folgende Adresse ein:
deb http://www.backports.org/debian/ sarge-backports main
und führe folgende Befehle aus:
apt-get update && apt-get install php5-cgi php5-mysql php5-ldap
Diese Module sind meist vorinstalliert, aber doppelt hält besser!
13.)
.htaccess ändern:
Die Datei .htaccess findet sich im Verzeichnis ‚/egroupware’ (docroot) und man hat hier die Wahl der Qual: entweder AllowOverride Fileinfo zu setzten oder sieeinfach umzubenennen! Z.B. in HTDOCS, PHP.INI oder was auch immer……Ich habe mich für „was auch immer“ entschieden.
Die Parameter in der ‚.htaccess Datei’ jedoch im Confixx Admin Panel unter HTTPD Optionen einfügen. Und zwar alle, und jeder einzeln
Beispiel:
Name:
PHP Value und dann das Label des Paramters z.b. mbstring
Wert:
Standart,
EGW, etc
Parameter:
php_admin_value mbstring.func_overload 0 für Standart,
php_admin_value mbstring.func_overload 7 für EGW,
etc….
Nach Abschluss dieser Fisselbarbeit die Werte, die unter EGW eingefügt worden, unter HTTPD Spezial dem userA zuweisen.
11.)
Und den Webserver noch einmal neuladen, geht bei Confixx unter Einstellungen und Update-Intervalle (mit der kleinen Uhr, Zeitvorgaben beachten und evtl. ändern)
Nocheinmal checken, ob alle PHP Werte richtig übernommen wurden:
Dazu ein kleines Programm in einem Editor schreiben,
<?php
phpinfo()
?>
unter ‚phpdatas.php’ abspeichern und in die Docroot des userA laden:
Dann dieses Programm im Browserfenster (http://www.mydomain.com/phpdatas.php) aufrufen und die ‚localen’ und die ‚master’ Werte miteinander vergleichen. Bei den Localen Werten sollten die obigen EGW Werte erscheinen.
12.)
Eine Datenbank in Confixx User Panel anlegen und notieren z.B.:
Name der Datenbank: userA_DB
Hostname: localhost
User: userA
Passwort: mydb
13.)
Im Confixx User Panel noch eine Subdomain anlegen, nur um es später einfacher zu
haben: z.B. egw.mydomain.com für http://mydomain.com/egroupware. Dieser Schritt wurde normalerweise für die angegeben, die kein Verzeichnis parallel zur Docroot angeben konnten. Das Problem wurde aber durch Root-Rechte behoben.
14.)
Setup von eGroupware
Browser öffnen und http://egw.mydomain.con/setup anwählen
Installations Check ausführen: Die gelben Warnzeichen für die verschieden Datenbank können ignoriert werden, solange Mysql genommen wird, und kein Modul diesbezüglich Gelb leuchtet!
Sollten die Pear Module nicht geladen sein: bitte in einem anderen Browser-Tab
http://egw.mydomani.com/egw-pear/setup/setup.inc.php starten, und nocheinmal checken.
Alles andere sollte im Grünen Bereich sein, evtl. werden noch die Leserechte bei header.inc.php angewarnt, aber dass sollte sich später regeln.
Und weiter in den Installation
15.)
Anlegend des Headers!
Bitte folgende Angaben machen (hier ein Beispiel!!!)
Serverroot: /var/www/userA/html/egroupware (siehe Punkt 7)
Benutzer Adminverwaltung IchBinAdmin (oder welcher Name auch immer)
Benutzer Passwort IchBinGeheim (oder was auch immer)
Zugang beschränken (freilassen, aber es lohnt sich bei Intranets)
Permantente Verbindung Ja
Sitzungshandler PHP Sitzungshandler aus php.ini
MyCrypt einstellen Nein
MyCrypt Ini-vektor (So lassen)
Domain-Auswahlbox Nein
Datenbank Instanz default
Datenbank Typ MySql
Datenbank Host localhost (Vergleiche Punkt 12)
Datenbank Port 3306
Datenbank-Name userA_DB (Vergleiche Punkt 12)
Datenbank-User userA (Vergleiche Punkt 12)
Datenbank-Passwort mydb (Vergleiche Punkt 12)
Konfigurationsuser IchBinKonfigurator (oder was auch immer)
Konfigurationspasswort IchBinSchonWiederGeheim (oder was auch immer)
Den Header schreiben bzw. herunterladen.
Achtung: Sollte die Taste ‚Schreiben’ nicht erscheinen, sind die Configurationsrechte im Verzeichniss richtig zu setzten, siehe Punkt 9!
Zur Sicherheit sollte man die ‚header.inc.php’ immer herunterladen.
Sollte der vorangegangene Fehler auftreten, und sich die Datei nicht auf dem Server ‚schreiben’ (speichern) lässt, dann erst herunterladen, raufladen und Rechte des Verzeichnisses ändern, siehe Punkt 9.
Dabei sollten die „World“ Rechte grundsätzlich nicht gesetzt sein, also nur:
Chown userA:wwwdata header.inc.php
Chmod 770 header.inc.php
16.)
Vom Header zum Konfigurations Menu wechseln, und dann der Reihe nach vorgehen!
17.)
Alle Module laden (nur einmal am Anfang ausführen!!)
18.)
Anlegen des Setups-Konfiguration
Ort der Speicherung von Dateien: Dateisystem
Vollständiger Pfad für Benutzerdateien: /var/www/userA/var/files (Vergleiche 8)
Benutzer nur innerhalb der Docroot: (frei lassen)
Vollständiger Pfad für Backups: /var/www/userA/var/backup (Vergleiche 8)
Vollständiger Pfad für Temporäre Dateien: /var/www/userA/var/tmp (Vergleiche 8)
URL zur Installation http://egw.mydomain.com
Auswahlreihenfolge der Bilder PNG-JPG-GIF
Hostname localhost (Vorgabe des Providers)
Keine Angaben bei FTP/ProxyServer
(Hier benötige ich vielleicht noch Hilfe)
IN DER NACHFOLGENDE SECTIONEN HABE ICH BISHER NICHT DIE GEWÜNSCHTEN RESULTATE ERREICHT
Standartmailserver mail.mydomain.com
Mail Protokol imap
Mail Server Typ Virtual Mail Manager
(Login enthält Namen)
Mail Domain mydomain.com
SMTP Server Name smtp.mydomain.com
SMTP Server Port 25 (Standart)
Benutzer für SMTP Authentifizierung userA_postfach;
vorname.name@mydomain.com
Passwort für SMTP Authentifizierung (Freilassen)
Authentifizierung /Benutzerkonten
Verschiedene Felder (Vorgaben so belassen)
IN DER OBIGEN SECTION FEHLEN MIR NOCH ANGABEN!!!
Und nun alle obigen Angaben speichern, auch wenn noch einige nicht vollständig sind.
19.)
Alle weiteren Angaben im Setup nach den Vorgaben ausführen, sowohl beim Anlegen des Adminkontos (soeinfach wie ein Konto anlegen bei einem Emailprovider), als auch bei der Installation der einzelnen Module.
Bevor Felamimail installiert werden kann, muss zuerst der emailadmin installiert sein.
Bei der Sprachauswahl habe ich utf-8 ausgewählt. Man weiss nach nie……
20.)
Ein provisorischen Backup vornehmen, um nur nicht alles wieder von vorne zu beginnen.
21.)
Nocheinmal Setup Check vornehmen, sollte jetzt eigentlich alles im Grünen Bereich sein.
22.)
Und dann mit dem Admin Einloggen und Benutzergruppen und Benutzer innerhalb von eGroupware anlegen.
Unglücklichweise funktioniert bei mir noch nicht das Herzstück, der Felamimail (inclusive der emailadmin), da ich die Systematik Debain Etch/Confixx 3.3, Postfix-Cyrus und eGroupware noch nicht richtig verstanden habe, und ich leider keine Zeit hatte, hier ein Kochrepzept zu entwickeln. Vielleicht kann jemand mir und allen anderen Newbees da auf Flügel helfen,…
Viel Glück, Newbees und möge die Kraft des Honig-Universums mit Euch sein…
Jens