Inhaltsverzeichnis
******************
Inhalt der Anleitung
1 Aktuelle Hinweise
2 Benötigte Software und Pakete
3 Installation des Programmpaketes
4 Anpassung der PostgreSQL-Konfiguration
4.1 Änderungen an Konfigurationsdateien
4.2 Erweiterung für servergespeicherte Prozeduren
4.3 Datenbankbenutzer anlegen
5 Apache-Konfiguration
6 Benutzer und Datenbanken anlegen
7 OpenDocument-Vorlagen
8 Lx-Office ERP verwenden
Inhalt der Anleitung
********************
1 Aktuelle Hinweise
*******************
Aktuelle Installations- und Konfigurationshinweise gibt es:
* auf der Lx-Office Homepage unter
`http://lx-office.org/index.php?id=dokumentation'
* im Lx-Office-Wiki unter Dokumentation
(`http://wiki.lx-office.org/index.php/Lx-Office_ERP')
* im Lx-Office-Forum: `http://www.lx-office.org/forum/'
2 Benötigte Software und Pakete
*******************************
Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache)
und ein Datenbankserver (PostgreSQL) benötigt.
Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht
Bestandteil einer Standard-Perl-Installation sind:
* DBI
* DBD::Pg
* CGI::Ajax
* Class::Accessor
* Archive::Zip
* Text::Iconv
* Text::CSV_XS
* IO::Wrap (aus dem Paket IO::Stringy)
* YAML
* Template
Diese Pakete können bei den unterschiedlichen Distributionen anders
heißen.
Für Debian oder Ubuntu benötigen Sie diese Pakete:
`apache postgresql libdbi-perl libdbd-pg-perl libpgperl
libclass-accessor-perl libarchive-zip-perl libtext-iconv-perl
libyaml-perl libtext-csv-perl libio-stringy-perl libtemplate-perl'
Für Fedora Core benötigen Sie unter anderem diese Pakete:
`httpd postgresql-server perl-DBI perl-DBD-Pg'
Für OpenSuSE benötigen Sie diese Pakete:
`apache2 postgresql-server perl-DBI perl-DBD-Pg perl-Archive-Zip
perl-Class-Accessor perl-Text-Iconv perl-Text-CSV_XS perl-IO-stringy
perl-Template-Toolkit'
Da Perl-CGI-Ajax nicht als Paket für Distributionen bereit steht, muß
es mit der CPAN-Shell installiert werden. Leider gibt es Fälle, in
denen das nicht möglich oder praktikabel ist. Lx-Office liefert daher
das Paket im CGI-Verzeichnis mit. Das sollte als Fall-Back greifen.
3 Installation des Programmpaketes
**********************************
Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.4.x.tgz) wird im
Dokumentenverzeichnis des Webservers (z.B. `/var/www/html/',
`/srv/www/htdocs' oder `/var/www/') entpackt:
`cd /var/www
tar xvzf lxoffice-erp-2.4.x.tgz'
Verändern Sie evtl. noch den Namen des Verzeichnisses mit
`mv lxoffice-erp/ lx-erp/'
Alternativ können Sie auch einen Alias in der Webserverkonfiguration
benutzen, um auf das tatsächliche Installationsverzeichnis zu verweisen.
Das Verzeichnis muß für den Benutzer beschreibbar sein, unter dem der
Webserver läuft. Dieser ist bei verschiedenen Distributionen
unterschiedlich (z.B. bei Debian/Ubuntu `www-data', bei Fedora core
`apache' oder bei OpenSuSE `wwwrun').
`chown -R www-data: lx-office-erp/'
4 Anpassung der PostgreSQL-Konfiguration
****************************************
PostgreSQL muss auf verschiedene Weisen angepasst werden.
4.1 Änderungen an Konfigurationsdateien
=======================================
In der Datei `postgresql.conf', die je nach Distribution in
verschiedenen Verzeichnissen liegen kann (z.B. `/var/lib/pgsql/data/'
oder `/etc/postgresql/', muss sichergestellt werden, dass
TCP/IP-Verbindungen aktiviert sind. Dieser Parameter lautet
`TCPIP_SOCKET = 1'
Bei PostgreSQL-Versionen ab v8.0 und neuer muss zusätzlich der
folgende Parameter gesetzt werden:
`default_with_oids = on'
In der Datei `pg_hba.conf', die im gleichen Verzeichnis wie die
`postgresql.conf' zu finden sein sollte, müssen die Berichtigungen für
den Zugriff geändert werden. Hier gibt es mehrere Möglichkeiten. Eine
besteht darin, lokale Verbindungen immer zuzulassen
`local all all trust
host all all 127.0.0.1 255.0.0.0 trust'
Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort
zuzulassen. Beispielsweise:
`local all lxoffice
password
host all lxoffice 127.0.0.1 255.255.255.255
password'
4.2 Erweiterung für servergespeicherte Prozeduren
=================================================
In der Datenbank `template1' muss die Unterstützung für
servergespeicherte Prozeduren eingerichet werden. Melden Sie sich dafür
als Benutzer "postgres" an der Datenbank an, und führen Sie die
folgenden Kommandos aus:
`create function plpgsql_call_handler () returns opaque as
'/usr/lib/pgsql/plpgsql.so' language 'c';
create language 'plpgsql' handler plpgsql_call_handler lancompiler
'pl/pgsql';'
Bitte beachten Sie, dass der Pfad zur Datei `plpgsql.so' von
Distribution zu Distribution verschiedlich sein kann. Bei Debian/Ubuntu
befindet sie sich unter `/usr/lib/postgresql/lib/plpgsql.so'.
4.3 Datenbankbenutzer anlegen
=============================
Wenn Sie nicht den Datenbanksuperuser "postgres" zum Zugriff benutzen
wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer anlegen. Ein
Beispiel, wie Sie einen neuen Benutzer anlegen können:
`su - postgres
createuser -d -P lxoffice'
Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie
den evtl. voreingestellten Benutzer "postgres" auf "lxoffice" bzw. den
hier gewählten Benutzernamen.
5 Apache-Konfiguration
**********************
Der Zugriff auf das Programmverzeichnis muss in der Apache
Webserverkonfigurationsdatei `httpd.conf' eingestellt werden. Fügen Sie
den folgenden Abschnitt dieser Datei oder einer anderen Datei hinzu,
die beim Starten des Webservers eingelesen wird:
`
AddHandler cgi-script .pl
Alias /lx-erp/ /var/www/lx-erp/
Options ExecCGI Includes FollowSymlinks
Order Deny,Allow
Deny from All
'
Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher das
Lx-Office-Archiv entpacket haben.
Achtung: Vor den einzelnen Optionen muss bei einigen Distributionen
ein Plus `+' gesetzt werden.
Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets
nicht ausgeliefert. In solchen Fällen hat es oft geholfen, die folgende
Option in die Konfiguration aufzunehmen:
`EnableSendfile Off'
6 Benutzer und Datenbanken anlegen
**********************************
Nach der Installation müssen Benutzer und Datenbanken angelegt werden.
Dieses geschieht im Administrationsmenü, dass Sie unter folgender URL
finden:
`http://localhost/lx-erp/admin.pl'
Zuerst muss eine Datenbank angelegt werden, anschließend ein
Benutzer. Verwenden Sie für den Datenbankzugriff den eben angelegten
Benutzer "lxoffice".
Wenn Sie für die Lx-Office-Installation nicht den europäischen
Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
müssen Sie vor dem Anlegen der Datenbank in der Datei "lx-erp.conf" die
Variable `$dbcharset' auf den Wert "UTF-8" setzen. Zusätzlich muss beim
Anlegen der Datenbank "UTF-8 Unicode" als Schriftsatz ausgewählt werden.
7 OpenDocument-Vorlagen
***********************
Lx-Office unterstützt die Verwendung von Vorlagen im
OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt.
Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als auch aus
diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
OpenDocument-Vorlagen zu aktivieren muss in der Datei "lx-erp.conf" die
Variable `$opendocument_templates' auf "1" stehen. Dieses ist die
Standardeinstellung.
Weiterhin muss in der Datei "lx-erp.conf" die Variable `$dbcharset'
auf die Zeichenkodierung gesetzt werden, die auch bei der Speicherung
der Daten in der Datenbank verwendet wird. Diese ist in den meisten
Fällen "ISO-8859-15".
Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
neben OpenOffice.org ab Version 2 auch der "X virtual frame buffer"
(xvfb) installiert werden. Bei Debian ist er im Paket "xvfb"
enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
Nach der Installation müssen in der Datei "lx-erp.conf" zwei weitere
Variablen angepasst werden: `$openofficeorg_writer_bin' muss den
vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
`$xvfb_bin' muss den Pfad zum "X virtual frame buffer" enthalten.
Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die
Variable `$openofficeorg_daemon' gesetzt ist, startet ein OpenOffice,
das auch nach der Umwandlung des Dokumentes gestartet bleibt. Bei
weiteren Umwandlungen wird dann diese laufende Instanz benutzt. Der
Vorteil ist, dass die Zeit zur Umwandlung deutlich reduziert wird, weil
nicht für jedes Dokument ein OpenOffice gestartet werden muss. Der
Nachteil ist, dass diese Methode Python und die Python-UNO-Bindings
benötigt, die Bestandteil von OpenOffice 2 sind.
Ist `$openofficeorg_daemon' nicht gesetzt, so wird für jedes
Dokument OpenOffice neu gestartet und die Konvertierung mit Hilfe eines
Makros durchgeführt. Dieses Makro muss in der Dokumentenvorlage
enthalten sein und "Standard.Conversion.ConvertSelfToPDF()" heißen. Die
Beispielvorlage `templates/German-invoice.odt' enthält ein solches
Makro, das in jeder anderen Dokumentenvorlage ebenfalls enthalten sein
muss.
Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter Debian
ist dies momentan `~/.openoffice.org2'. Sollte der Name bei Ihrer
OpenOffice.org-Installation anders sein, so muss das Verzeichnis
`users/.openoffice.org2' entsprechend umbenannt werden. Ist der Name
z.B. einfach nur `.openoffice', so wäre folgender Befehl auszuführen:
`mv users/.openoffice.org2 users/.openoffice'
Dieses Verzeichnis, wie auch das komplette `users'-Verzeichnis, muss
vom Webserver beschreibbar sein. Dieses wurde in Schritt `Installation
des Programmpakets' oben bereits erledigt, kann aber erneut überprüft
werden, wenn die Konvertierung nach PDF fehlschlägt.
8 Lx-Office ERP verwenden
*************************
Nach erfolgreicher Installation ist der Loginbildschirm unter folgender
URL erreichbar:
`http://localhost/lx-office-erp/login.pl'
Die Administrationsseite erreichen Sie unter:
`http://localhost/lx-office-erp/admin.pl'