OpenGroupware auf SME Server 7 installieren, Teil 2

Montag, 09. Oktober 2006

SMEIm ersten Teil des Artikels hatten wir uns mit der Installation des notwendigen PostgreSQL-Servers befaßt, das Apache-Modul mod_ngobjweb installiert und für die spezifische Konfiguration des SME-Servers angepaßt. Im zweiten Teil folgt nun die Installation von OpenGroupware (OGo) und die Anpassung der OGo-Apache-Konfiguration an den SME.

Für OpenGroupware gibt es zum Glück passende RPMs für CentOS 4.3. Und da der SME 7 auf diesem System beruht, können wir dieses OGo-Repository verwenden. Wer die saubere Lösung bevorzugt, ;-) holt sich vor den nächsten Schritten den GPG-Key der OGo-Pakete – Hier wird zunächst darauf verzichtet und in den yum Repositories gpgcheck=0 gesetzt.

Zunächst muß eine spätere Paket-Abhängigkeit aus den OGo-RPMs erfüllt werden. Also CentOS Basis-Repository in /etc/yum.conf auf enabled=1 setzen und abschließend yum install pilot-link ausführen (wird von ogo-pda benötigt).

Nächster Schritt: Yum Repositories für OGo in einer separaten Datei anlegen als z.B. /etc/opengroupware.yum – die „baseurl“-Einträge sind in der Originaldatei in einer(!) Zeile:

[ogo-releases]
name=OpenGroupware.org 1.0beta.2
enabled=1
enablegroups=1
gpgcheck=0
baseurl=http://download.opengroupware.org/nightly/packages/centos43/
   releases/opengroupware-1.0beta.2-rock/

[sope]
name=sope 4.4.0 cell
enabled=1
enablegroups=1
gpgcheck=0
baseurl=http://download.opengroupware.org/nightly/packages/centos43/
   releases/sope-4.4.0-cell/

[ThirdParty]
name=ThirdParty software
enabled=1
enablegroups=1
gpgcheck=0
baseurl=http://download.opengroupware.org/nightly/packages/centos43/
releases/ThirdParty/

Nun Augen zu und beten – yum mit Verweis auf unsere neue opengroupware.yum aufrufen:

yum -c /etc/opengroupware.yum install ogo-meta ogo-database-setup

Das Einspielen der Pakete über yum dauert eine ganze Weile, anschließend werden noch automatisch diverse Skripte für die Grundkonfiguration von OGo und des Apachen ausgeführt: Zunächst wird ein System-User „ogo“ und die Gruppe „skyrix“ angelegt. Im Verzeichnis /var/lib/opengroupware.org, dem Homeverzeichnis des Systemusers „ogo“, findet man diverse Support-Dateien sowie die OGo-Konfiguration.

Die Hauptdaten der OGo-Konfiguration (PostgreSQL-Datenbankname, Datenbankuser, Servername) stehen in

/var/lib/opengroupware.org/NSGlobalDomain.plist

Und hier sehen wir auch, was die Installationsskripte (aus den RPMs für CentOS 4.3) bei einer Neuinstallation sonst noch anlegten: Einen User in der Datenbank PostgreSQL namens „OGo“ ohne Paßwort sowie eine PostgreSQL-Datenbank selbst namens „OGo“, auf die der Datenbankuser „OGo“ Zugriff hat. Man achte dabei auf die unterschiedliche Schreibweise der User, hier kommt es sehr oft zu Verwechselungen: Der Systemuser, der auch die Dateirechte am Verzeichnis /var/lib/opengroupware.org hat, wird klein geschrieben, der Datenbanknutzer sowie die Datenbank selbst haben bei einer Neuinstallation die Schreibweise „OGo“. Hatte man bereits eine PostgreSQL-Datenbank für OpenGroupware, kann man die Einträge entsprechend anpassen. Initskripte zum automatischen OGo-Start wurden ebenfalls angelegt unter /etc/rc.d/init.d, denen ein „ogo-“ vorangestellt ist. Hier muß man beim SME-Server noch zusätzlich von Hand in den Runlevel 7 verlinken und ggf. die Init-Skripte ausführbar machen (chmod +x). Damit ist die Konfiguration für OpenGroupware selbst zunächst abgeschlossen. Wir müssen jetzt nur noch die Apache-Konfiguration an den SME-Server anpassen.

Apache-Konfiguration

Da der Apache einer der Standardserver unter SME ist, müssen wir die OGo-Anbindung an den Apachen an die spezielle Konfiguration des SME-Servers anpassen. Unter /etc/httpd/conf liegen die OGo-Konfigurationsdateien aus den RPMs für den Apachen, die man im Prinzip einfach in die httpd.conf eintragen kann und das unter CentOS auch so handhabt. Theoretisch funktioniert dies auch beim SME promblemlos – bis zur nächsten SME-Systemkonfiguration nach Updates etc.

Die Apache-Konfiguration des SME, ebenfalls wie alle anderen Konfigurationsdateien für die unterstützten Server, wird aus diversen Templates generiert (das Grundprinzip wurde bereits im 1. Teil des Artikels vorgestellt). Ein signal-event post-upgrade, das nach jeder Installation von RPMs fällig ist, startet die komplette Generierung aller Konfigurationsskripte aus Templates und würde unsere geänderte httpd.conf jedesmal überschreiben. Folglich müssen wir aus den vier OGo-Konfigurationsdateien für den Apachen vier Templates für den SME-Server machen, sodaß die OGo-Apache-Konfiguration auch nach jeder Neukonfiguration des Systems in der httpd.conf Berücksichtigung findet. Das hört sich aber schlimmer an, als es eigentlich ist, und geht so:

Eigene Templates werden unterhalb von /etc/e-smith/templates-custom abgelegt. Unter diesem Verzeichnis wird ggf. der komplette Dateibaum nachgebildet: Templates für den Apachen liegen z.B. in /etc/e-smith/templates-custom/etc/httpd/conf. Jede zu generierende Konfigurationsdatei hat zusätzlich ein eigenes Verzeichnis, in dem alle einzelnen Templates für diese Datei abgelegt werden. Zusammengebaut werden die Templates in alphabetischer Reihenfolge aus den SME-Standard- sowie den (integrierten) eigenen Templates, sodaß man hier durch die Namensgebung die Struktur der fertigen Konfig-Datei bestimmen kann (etwa vergleichbar mit der Namensgebung von Links zu Init-Skripten unter rc.d). Für unsere eigenen Templates der httpd.conf legen wir also das Verzeichnis(!) an:

/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf

Und da die Namensgebung die Platzierung der Konfig-Schnippsel in der fertigen httpd.conf bestimmt, kopieren wir unsere bereits vorliegenden vier OGo-Konfigurationen aus der RPM-Installation (aus dem Verzeichnis /etc/httpd/conf) unter folgenden Dateinamen in obiges (neu angelegtes) Verzeichnis:

20LoadModule99ngobjweb
99ogo10Webuiconf
99ogo20xmlrpcdconf
99ogo30zidestoreconf

Wenn man die Platzierung in der httpd.conf ändern möchte, sieht man sich die Standard-Templates des SME-Apachen unter /etc/e-smith/templates/etc/httpd/conf/httpd.conf an und ändert die Dateinamen der eigenen Templates entsprechend.

Nun noch schnell zusammenbauen lassen und alle Dienste starten bzw. neustarten – oder man macht gleich einen kompletten Reboot:

signal-event post-upgrade; signal-event reboot

Das erzeugt nach dem Reboot eine neue Systemkonfiguration (was eine ganze Weile dauern kann) und mit etwas Glück ;-) hat man unter http://eigener.server/OpenGroupware.org ein laufendes OpenGroupware. Login als root und dann weiter wie auf opengroupware.org beschrieben. Have fun!

Tags: | Drucken Drucken
Artikel vom Montag, 09. Oktober 2006, 21:36 Uhr in der Kategorie Distributionen, Docs. Sie können Kommentare zu diesen Eintrag durch den RSS-Feed verfolgen. Wenn Sie möchten, können Sie einen Kommentar hinterlassen oder einen Trackback von Ihrem Weblog senden.

«  –  »

Keine Kommentare »

No comments yet.

Leave a comment