|
Inhaltsverzeichnis
|
|
******************
|
|
|
|
Inhalt der Anleitung
|
|
1 Aktuelle Hinweise
|
|
2 Benötigte Software und Pakete
|
|
2.1 Betriebssystem
|
|
2.2 Pakete
|
|
3 Manuelle Installation des Programmpaketes
|
|
4 Anpassung der PostgreSQL-Konfiguration
|
|
4.1 Zeichensätze/die Verwendung von UTF-8
|
|
4.2 Änderungen an Konfigurationsdateien
|
|
4.3 Erweiterung für servergespeicherte Prozeduren
|
|
4.4 Datenbankbenutzer anlegen
|
|
5 Apache-Konfiguration
|
|
6 Der Task-Server
|
|
6.1 Verfügbare und notwendige Konfigurationsoptionen
|
|
6.2 Automatisches Starten des Task-Servers beim Booten
|
|
6.2.1 SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)
|
|
6.2.2 Upstart-basierende Systeme (z.B. Ubuntu)
|
|
6.3 Wie der Task-Server gestartet und beendet wird
|
|
7 Benutzerauthentifizierung und Administratorpasswort
|
|
7.1 Grundlagen zur Benutzerauthentifizierung
|
|
7.2 Administratorpasswort
|
|
7.3 Authentifizierungsdatenbank
|
|
7.4 Passwortüberprüfung
|
|
7.5 Name des Session-Cookies
|
|
7.6 Anlegen der Authentifizierungsdatenbank
|
|
8 Benutzer- und Gruppenverwaltung
|
|
8.1 Zusammenhänge
|
|
8.2 Datenbanken anlegen
|
|
8.3 Gruppen anlegen
|
|
8.4 Benutzer anlegen
|
|
8.5 Gruppenmitgliedschaften verwalten
|
|
8.6 Migration alter Installationen
|
|
9 OpenDocument-Vorlagen
|
|
10 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
|
|
********************************
|
|
|
|
2.1 Betriebssystem
|
|
==================
|
|
|
|
Lx-Office ist für Linux konzipiert, und sollte auf jedem unixoiden
|
|
Betriebssystem zum Laufen zu kriegen sein. Getestet ist diese Version im
|
|
speziellen auf Debian und Ubuntu, grundsätzlich wurde bei der Auswahl
|
|
der Pakete aber darauf Rücksicht genommen, dass es ohne große Probleme
|
|
auf den derzeit aktuellen verbreiteten Distributionen läuft.
|
|
|
|
Anfang 2011 sind das folgende Systeme:
|
|
|
|
* Ubuntu 8.04 LTS Hardy Heron
|
|
|
|
* Ubuntu 9.10 Karmic Koala
|
|
|
|
* Ubuntu 10.04 Lucid Lynx
|
|
|
|
* Ubuntu 10.10 Maverick Meerkat
|
|
|
|
* Debian 5.0 Lenny
|
|
|
|
* Debian 6.0 Squeeze
|
|
|
|
* openSUSE 11.2
|
|
|
|
* openSUSE 11.3
|
|
|
|
* SuSE Linux Enterprice Server 11
|
|
|
|
* Fedora 13
|
|
|
|
* Fedora 14
|
|
|
|
Für die debianoiden Betriebssysteme existiert ein .deb, das deutlich
|
|
einfacher zu installieren ist.
|
|
|
|
Ubuntu 8.04 LTS hat zusätzlich die Schwierigkeit, dass die Module im
|
|
Archiv recht alt sind, und das viele der benötigten Module nicht
|
|
einfach zu installieren sind. Dafür sollte es kurz nach dem Release ein
|
|
eigenes .deb geben.
|
|
|
|
Alternativ dazu kann die normale Installation durchgeführt werden
|
|
(*note Manuelle Installation des Programmpaketes::), wenn vorher ein
|
|
Kompatibilitätspaket installiert wird, das die fehlenden Pakete
|
|
bereitstellt. Das Paket ist auf Sourceforge
|
|
(https://sourceforge.net/projects/lx-office/files/Lx-Office%20ERP/2.6.2/)
|
|
unter dem Namen `lx-erp-perl-libs-compat-v2.tar.gz' hinterlegt.
|
|
|
|
Zur Installation das Paket in das entpackte Lx-Office Verzeichnis
|
|
entpacken:
|
|
|
|
`tar xzf lx-erp-perl-libs-compat-v2.tar.gz /path/to/lx-office/'
|
|
|
|
Zusätzlich müssen dann noch die folgenden Pakete installiert weerden
|
|
|
|
`libbit-vector-perl libsub-exporter-perl libclone-perl
|
|
libclass-factory-util-perl'
|
|
|
|
Danach sollte der Installationscheck (*note Pakete::) die
|
|
enthaltenen Pakete erkennen.
|
|
|
|
2.2 Pakete
|
|
==========
|
|
|
|
Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache)
|
|
und ein Datenbankserver (PostgreSQL, mindestens v8.2) benötigt.
|
|
|
|
Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht
|
|
Bestandteil einer Standard-Perl-Installation sind:
|
|
|
|
* parent
|
|
|
|
* Archive::Zip
|
|
|
|
* Class::Accessor
|
|
|
|
* CGI::Ajax
|
|
|
|
* Config::Std
|
|
|
|
* DateTime
|
|
|
|
* DBI
|
|
|
|
* DBD::Pg
|
|
|
|
* Email::Address
|
|
|
|
* List::MoreUtils
|
|
|
|
* Params::Validate
|
|
|
|
* PDF::API2
|
|
|
|
* Rose::Object
|
|
|
|
* Rose::DB
|
|
|
|
* Rose::DB::Object
|
|
|
|
* Template
|
|
|
|
* Text::CSV_XS
|
|
|
|
* Text::Iconv
|
|
|
|
* URI
|
|
|
|
* XML::Writer
|
|
|
|
* YAML
|
|
|
|
Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete hinzugekommen,
|
|
`URI' und `XML::Writer' sind notwendig. Ohne startet Lx-Office nicht.
|
|
|
|
Gegenüber Version 2.6.1 sind `parent', `DateTime', `Rose::Object',
|
|
`Rose::DB' und `Rose::DB::Object' neu hinzugekommen. `IO::Wrap' wurde
|
|
entfernt.
|
|
|
|
`Email::Address' und `List::MoreUtils' sind schon länger feste
|
|
Abhängigkeiten, wurden aber bisher mit Lx-Office mitgeliefert. Beide
|
|
sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
|
|
zukünftigen Version aber aus dem Paket entfernt werden. Es wird
|
|
empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
|
|
installieren.
|
|
|
|
`CGI::Ajax' ist nach wie vor in einer modifizierten Version
|
|
mitgeliefert und braucht nicht nachinstalliert werden.
|
|
|
|
Die zu installierenden Pakete können in den verschiedenen
|
|
Distributionen unterschiedlich heißen.
|
|
|
|
Für Debian oder Ubuntu benötigen Sie diese Pakete:
|
|
|
|
`apache2 postgresql libparent-perl libarchive-zip-perl
|
|
libclass-accessor-perl libdatetime-perl libdbi-perl libdbd-pg-perl
|
|
libpg-perl libemail-address-perl liblist-moreutils-perl
|
|
libpdf-api2-perl librose-object-perl librose-db-perl
|
|
librose-db-object-perl libtemplate-perl libtext-csv-xs-perl
|
|
libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl
|
|
libconfig-std-perl libparams-validate-perl'
|
|
|
|
Für Fedora Core benötigen Sie diese Pakete:
|
|
|
|
`httpd postgresql-server perl-parent perl-Class-Accessor
|
|
perl-DateTime perl-DBI perl-DBD-Pg perl-Email-Address
|
|
perl-List-MoreUtils perl-PDF-API2 perl-Rose-Object perl-Rose-DB
|
|
perl-Rose-DB-Object perl-Template-Toolkit perl-Text-CSV_XS
|
|
perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML'
|
|
|
|
Für OpenSuSE benötigen Sie diese Pakete:
|
|
|
|
`apache2 postgresql-server perl-Archive-Zip perl-Class-Accessor
|
|
perl-DateTime perl-DBI perl-DBD-Pg perl-MailTools perl-List-MoreUtils
|
|
perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv
|
|
perl-URI perl-XML-Writer perl-YAML'
|
|
|
|
Bei openSuSE 11 ist `parent' bereits enthalten, und braucht nicht
|
|
nachinstalliert werden. Die `Rose::*' Pakete sind derzeit nicht für
|
|
SuSE gepackt, und müssen anderweitig nachinstalliert werden.
|
|
|
|
Lx-Office enthält ein Script, mit dem überprüft werden kann, ob alle
|
|
benötigten Perl-Module installiert sind. Der Aufruf lautet wie folgt:
|
|
|
|
`./scripts/installation_check.pl'
|
|
|
|
3 Manuelle Installation des Programmpaketes
|
|
*******************************************
|
|
|
|
Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.2.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.6.2.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.
|
|
|
|
Die Verzeichnisse `users', `spool' und `webdav' müssen für den
|
|
Benutzer beschreibbar sein, unter dem der Webserver läuft. Die
|
|
restlichen Dateien müssen für diesen Benutzer lesbar sein. Der
|
|
Benutzername ist bei verschiedenen Distributionen unterschiedlich (z.B.
|
|
bei Debian/Ubuntu `www-data', bei Fedora core `apache' oder bei
|
|
OpenSuSE `wwwrun').
|
|
|
|
Der folgende Befehl ändert den Besitzer für die oben genannten
|
|
Verzeichnisse auf einem Debian/Ubuntu-System:
|
|
|
|
`chown -R www-data lx-office-erp/users lx-office-erp/spool
|
|
lx-office-erp/webdav'
|
|
|
|
Weiterhin muss der Webserver-Benutzer im Verzeichnis `templates'
|
|
Verzeichnisse für jeden neuen Benutzer, der in lx-office angelegt wird,
|
|
anlegen dürfen:
|
|
|
|
`chgrp www-data lx-office-erp/templates; chmod g+w
|
|
lx-office-erp/templates'
|
|
|
|
4 Anpassung der PostgreSQL-Konfiguration
|
|
****************************************
|
|
|
|
PostgreSQL muss auf verschiedene Weisen angepasst werden.
|
|
|
|
4.1 Zeichensätze/die Verwendung von UTF-8
|
|
==========================================
|
|
|
|
Lx-Office kann komplett mit UTF-8 als Zeichensatz verwendet werden.
|
|
Dabei gibt es zwei Punkte zu beachten: PostgreSQL muss in Version 8.0
|
|
oder neuer benutzt werden, und der PostgreSQL-Datenbankcluster muss
|
|
ebenfalls mit UTF-8 als Locale angelegt worden sein.
|
|
|
|
Dieses ist kann überprüft werden: ist das Encoding der Datenbank
|
|
"template1" "UTF8", so kann auch Lx-Office mit UTF-8 betrieben werden.
|
|
Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
|
|
UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
|
|
Ubuntu kann dies z.B. mit dem folgenden Befehl getan werden:
|
|
|
|
`pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2
|
|
clustername'
|
|
|
|
Die Datenbankversionsnummer muss an die tatsächlich verwendete
|
|
Versionsnummer angepasst werden.
|
|
|
|
Unter anderen Distributionen gibt es ähnliche Methoden.
|
|
|
|
Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und ist
|
|
ein Neuanlegen eines weiteren Clusters nicht möglich, so kann Lx-Office
|
|
mit ISO-8859-15 als Encoding betrieben werden.
|
|
|
|
Das Encoding einer Datenbank kann in `psql' mit `\l' geprüft werden.
|
|
|
|
4.2 Ä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. Das Verhalten wird über den
|
|
Parameter `listen_address' gesteuert. Laufen PostgreSQL und Lx-Office
|
|
auf demselben Rechner, so kann dort der Wert `localhost' verwendet
|
|
werden. Andernfalls müssen Datenbankverbindungen auch von anderen
|
|
Rechnern aus zugelassen werden, was mit dem Wert \`*' geschieht.
|
|
|
|
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.3 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 language 'plpgsql';'
|
|
|
|
Achtung: In älteren Postgresversionen (vor 8.0) muss der Handler für
|
|
die Sprache manuell anlelegt werden, diese Versionen werden aber nicht
|
|
mehr offiziell von Lx-Office unterstützt. Dafür dann die folgenden
|
|
Kommandos:
|
|
|
|
`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.4 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
|
|
**********************
|
|
|
|
Hinweis: Für einen deutlichen Performanceschub sorgt die Ausführung
|
|
mittels FCGI. Die Einrichtung wird ausführlich in der Datei
|
|
`INSTALL.fcgi' beschrieben.
|
|
|
|
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/
|
|
<Directory /var/www/lx-erp>
|
|
Options ExecCGI Includes FollowSymlinks
|
|
</Directory>
|
|
<Directory /var/www/lx-erp/users>
|
|
Order Deny,Allow
|
|
Deny from All
|
|
</Directory>
|
|
'
|
|
|
|
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 Der Task-Server
|
|
*****************
|
|
|
|
Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
|
|
regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
|
|
festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
|
|
wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
|
|
benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
|
|
bekommen.
|
|
|
|
6.1 Verfügbare und notwendige Konfigurationsoptionen
|
|
=====================================================
|
|
|
|
Die Konfiguration erfolgt über den Abschnitt `[task_server]' in der
|
|
Datei `config/lx_office.conf'. Die dort verfügbaren Optionen sind:
|
|
|
|
* `login': gültiger Lx-Office-Benutzername, der benutzt wird, um die
|
|
zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
|
|
in der Administration angelegt werden. Diese Option muss angegeben
|
|
werden.
|
|
|
|
* `run_as': Wird der Server vom Systembenutzer `root' gestartet, so
|
|
wechselt er auf den mit `run_as' angegebenen Systembenutzer. Der
|
|
Systembenutzer muss dieselben Lese- und Schreibrechte haben, wie
|
|
auch der Webserverbenutzer (siehe *note Manuelle Installation des
|
|
Programmpaketes::). Daher ist es sinnvoll, hier denselben
|
|
Systembenutzer einzutragen, unter dem auch der Webserver läuft.
|
|
|
|
* `debug': Schaltet Debug-Informationen an und aus.
|
|
|
|
6.2 Automatisches Starten des Task-Servers beim Booten
|
|
======================================================
|
|
|
|
Der Task-Server verhält sich von seinen Optionen her wie ein reguläres
|
|
SystemV-kompatibles Boot-Script. Außerdem wechselt er beim Starten
|
|
automatisch in das Lx-Office-Installationsverzeichnis.
|
|
|
|
Deshalb ist es möglich, ihn durch Setzen eines symbolischen Links aus
|
|
einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
|
|
einzubinden. Da das bei neueren Linux-Distributionen aber nicht
|
|
zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
|
|
anstelle eines symbolischen Links verwendet werden können.
|
|
|
|
6.2.1 SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)
|
|
---------------------------------------------------------------------
|
|
|
|
Kopieren Sie die Datei `scripts/boot/system-v/lx-office-task-server'
|
|
nach `/etc/init.d/lx-office-task-server'. Passen Sie in der kopierten
|
|
Datei den Pfad zum Task-Server an (Zeile `DAEMON=....'). Binden Sie das
|
|
Script in den Boot-Prozess ein. Dies ist distributionsabhängig:
|
|
|
|
* Debian-basierende Systeme:
|
|
`update-rc.d lx-office-task-server defaults
|
|
# Nur bei Debian Squeeze und neuer:
|
|
insserv lx-office-task-server'
|
|
|
|
* OpenSuSE und Fedora Core:
|
|
`chkconfig --add lx-office-task-server'
|
|
|
|
Danach kann der Task-Server mit dem folgenden Befehl gestartet
|
|
werden: `/etc/init.d/lx-office-task-server start'
|
|
|
|
6.2.2 Upstart-basierende Systeme (z.B. Ubuntu)
|
|
----------------------------------------------
|
|
|
|
Kopieren Sie die Datei
|
|
`scripts/boot/upstart/lx-office-task-server.conf' nach
|
|
`/etc/init/lx-office-task-server.conf'. Passen Sie in der kopierten
|
|
Datei den Pfad zum Task-Server an (Zeile `exec ....').
|
|
|
|
Danach kann der Task-Server mit dem folgenden Befehl gestartet
|
|
werden: `service lx-office-task-server start'
|
|
|
|
6.3 Wie der Task-Server gestartet und beendet wird
|
|
==================================================
|
|
|
|
Der Task-Server wird wie folgt kontrolliert:
|
|
|
|
`./scripts/task_server.pl Befehl'
|
|
|
|
`Befehl' ist dabei eine der folgenden Optionen:
|
|
|
|
* `start' startet eine neue Instanz des Task-Servers. Die Prozess-ID
|
|
wird innerhalb des `users'-Verzeichnisses abgelegt.
|
|
|
|
* `stop' beendet einen laufenden Task-Server.
|
|
|
|
* `restart' beendet und startet ihn neu.
|
|
|
|
* `status' berichtet, ob der Task-Server läuft.
|
|
|
|
Der Task-Server wechselt beim Starten automatisch in das
|
|
Lx-Office-Installationsverzeichnis.
|
|
|
|
Dieselben Optionen können auch für die SystemV-basierenden
|
|
Runlevel-Scripte benutzt werden (siehe oben).
|
|
|
|
7 Benutzerauthentifizierung und Administratorpasswort
|
|
*****************************************************
|
|
|
|
Informationen über die Einrichtung der Benutzerauthentifizierung, über
|
|
die Verwaltung von Gruppen und weitere Einstellungen
|
|
|
|
7.1 Grundlagen zur Benutzerauthentifizierung
|
|
============================================
|
|
|
|
Lx-Office verwaltet die Benutzerinformationen in einer Datenbank, die
|
|
im folgenden "Authentifizierungsdatenbank" genannt wird. Für jeden
|
|
Benutzer kann dort eine eigene Datenbank für die eigentlichen
|
|
Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen
|
|
aber nicht unterschiedlich sein.
|
|
|
|
Im einfachsten Fall gibt es für Lx-Office nur eine einzige Datenbank,
|
|
in der sowohl die Benutzerinformationen als auch die Daten abgelegt
|
|
werden.
|
|
|
|
Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
|
|
entweder gegen die Authentifizierungsdatenbank oder gegen einen
|
|
LDAP-Server überprüft werden.
|
|
|
|
Welche Art der Passwortüberprüfung Lx-Office benutzt und wie
|
|
Lx-Office die Authentifizierungsdatenbank erreichen kann, wird in der
|
|
Konfigurationsdatei `config/lx_office.conf' festgelegt. Diese muss bei
|
|
der Installation und bei einem Upgrade von einer Version vor v2.6.0
|
|
angelegt werden. Eine Beispielkonfigurationsdatei
|
|
`config/lx_office.conf.default' existiert, die als Vorlage benutzt
|
|
werden kann.
|
|
|
|
7.2 Administratorpasswort
|
|
=========================
|
|
|
|
Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt
|
|
wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort
|
|
und nicht mehr im Administrationsinterface selber geändert werden. Der
|
|
Parameter dazu heißt `$self->{admin_password}'.
|
|
|
|
7.3 Authentifizierungsdatenbank
|
|
===============================
|
|
|
|
Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern
|
|
in `$self->{DB_config}' konfiguriert. Hier sind die folgenden Parameter
|
|
anzugeben:
|
|
|
|
* `host' - Der Rechnername oder die IP-Adresse des Datenbankservers
|
|
|
|
* `port' - Die Portnummer des Datenbankservers, meist 5432
|
|
|
|
* `db' - Der Name der Authentifizierungsdatenbank
|
|
|
|
* `user' - Der Benutzername, mit dem sich Lx-Office beim
|
|
Datenbankserver anmeldet (z.B. "postgres")
|
|
|
|
* `password' - Das Passwort für den Datenbankbenutzer
|
|
|
|
Die Datenbank muss noch nicht existieren. Lx-Office kann sie
|
|
automatisch anlegen (mehr dazu siehe unten).
|
|
|
|
7.4 Passwortüberprüfung
|
|
=========================
|
|
|
|
Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die
|
|
Authentifizierungsdatenbank und gegen einen externen LDAP- oder
|
|
Active-Directory-Server. Welche davon benutzt wird, regelt der
|
|
Parameter `$self->{module}'.
|
|
|
|
Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
|
|
gespeichert werden, so muss der Parameter `$self->{module}' den Wert
|
|
`DB' enthalten. In diesem Fall können sowohl der Administrator als auch
|
|
die Benutzer selber ihre Psaswörter in Lx-Office ändern.
|
|
|
|
Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt
|
|
werden, so muss der Parameter `$self->{module}' auf `LDAP' gesetzt
|
|
werden. In diesem Fall müssen zusätzliche Informationen über den
|
|
LDAP-Server in `$self->{LDAP_config}' angegeben werden:
|
|
|
|
* `host' - Der Rechnername oder die IP-Adresse des LDAP- oder
|
|
Active-Directory-Servers. Diese Angabe ist zwingend erforderlich.
|
|
|
|
* `port' - Die Portnummer des LDAP-Servers; meist 389.
|
|
|
|
* `tls' - Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
|
|
Wert auf `1' setzen, andernfalls auf `0' belassen
|
|
|
|
* `attribute' - Das LDAP-Attribut, in dem der Benutzername steht,
|
|
den der Benutzer eingegeben hat. Für Active-Directory-Server ist
|
|
dies meist `sAMAccountName', für andere LDAP-Server hingegen
|
|
`uid'. Diese Angabe ist zwingend erforderlich.
|
|
|
|
* `base_dn' - Der Abschnitt des LDAP-Baumes, der durchsucht werden
|
|
soll. Diese Angabe ist zwingend erforderlich.
|
|
|
|
* `filter' - Ein optionaler LDAP-Filter. Enthält dieser Filter das
|
|
Wort `<%login%>', so wird dieses durch den vom Benutzer
|
|
eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum
|
|
nach einem Element durchsucht, bei dem das oben angegebene Attribut
|
|
mit dem Benutzernamen identisch ist.
|
|
|
|
* `bind_dn' und `bind_password' - Wenn der LDAP-Server eine
|
|
Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist
|
|
dies bei Active-Directory-Servern der Fall), so kann diese hier
|
|
angegeben werden. Für Active-Directory-Server kann als `bind_dn'
|
|
entweder eine komplette LDAP-DN wie z.B. `cn=Martin
|
|
Mustermann,cn=Users,dc=firmendomain' auch nur der volle Name des
|
|
Benutzers eingegeben werden; in diesem Beispiel also `Martin
|
|
Mustermann'.
|
|
|
|
7.5 Name des Session-Cookies
|
|
============================
|
|
|
|
Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt
|
|
werden, so müssen die Namen der Session-Cookies für alle Installationen
|
|
unterschiedlich sein. Der Name des Cookies wird mit dem Parameter
|
|
`$self->{cookie_name}' gesetzt.
|
|
|
|
Diese Angabe ist optional, wenn nur eine Installation auf dem Server
|
|
existiert.
|
|
|
|
7.6 Anlegen der Authentifizierungsdatenbank
|
|
===========================================
|
|
|
|
Nachdem alle Einstellungen in `config/lx_office.conf' vorgenommen
|
|
wurden, muss Lx-Office die Authentifizierungsdatenbank anlegen. Dieses
|
|
geschieht automatisch, wenn Sie sich im Administrationsmodul anmelden,
|
|
das unter der folgenden URL erreichbar sein sollte:
|
|
|
|
`http://localhost/lx-erp/admin.pl'
|
|
|
|
8 Benutzer- und Gruppenverwaltung
|
|
*********************************
|
|
|
|
Nach der Installation müssen Benutzer, Gruppen und Datenbanken angelegt
|
|
werden. Dieses geschieht im Administrationsmenü, das Sie unter
|
|
folgender URL finden:
|
|
|
|
`http://localhost/lx-erp/admin.pl'
|
|
|
|
Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
|
|
`config/lx_office.conf' eingetragen haben.
|
|
|
|
8.1 Zusammenhänge
|
|
==================
|
|
|
|
Lx-Office verwendet eine Datenbank zum Speichern all seiner
|
|
Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
|
|
mit Lx-Office arbeiten zu können, muss eine Person einen
|
|
Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
|
|
Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
|
|
möglich und normal, dass mehreren Benutzern die selbe Datenbank
|
|
zugewiesen wird, sodass sie alle mit den selben Daten arbeiten können.
|
|
|
|
Die Basisdaten der Benutzer, die in der Administration eingegeben
|
|
werden können, werden in einer zweiten Datenbank gespeichert, der
|
|
bereits erwähnten Authentifizierungsdatenbank. Diese ist also den
|
|
Produktivdaten enthaltenden Datenbanken vorgeschaltet. Pro
|
|
Lx-Office-Installation gibt es nur eine Authentifizierungsdatenbank,
|
|
aber beliebig viele Datenbanken mit Firmendaten.
|
|
|
|
Lx-Office kann seinen Benutzern Zugriff auf bestimmte
|
|
Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
|
|
gestattet, so werden der entsprechenden Menüpunkte auch nicht
|
|
angezeigt. Diese Rechte werden ebenfalls in der
|
|
Authentifizierungsdatenbank gespeichert.
|
|
|
|
Um Rechte verteilen zu können, verwendet Lx-Office ein
|
|
Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
|
|
erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
|
|
mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
|
|
Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
|
|
Benutzer Mitglied ist.
|
|
|
|
Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und Benutzer
|
|
angelegt werden sollten, lautet:
|
|
|
|
1. Datenbank anlegen
|
|
|
|
2. Gruppen anlegen
|
|
|
|
3. Benutzer anlegen
|
|
|
|
4. Benutzer den Gruppen zuordnen
|
|
|
|
8.2 Datenbanken anlegen
|
|
=======================
|
|
|
|
Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für den
|
|
Datenbankzugriff den vorhin angelegten Benutzer (in unseren Beispielen
|
|
ist dies `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
|
|
`config/lx_office.conf' die Variable `dbcharset' im Abschnitt `system'
|
|
auf den Wert `UTF-8' setzen. Zusätzlich muss beim Anlegen der Datenbank
|
|
`UTF-8 Unicode' als Schriftsatz ausgewählt werden.
|
|
|
|
Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
|
|
verwenden müssen, da diese Einstellungen momentan global in Lx-Office
|
|
vorgenommen wird und nicht nach Datenbank unterschieden werden kann.
|
|
Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
|
|
angelegt worden sein.
|
|
|
|
8.3 Gruppen anlegen
|
|
===================
|
|
|
|
Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein Name
|
|
gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
|
|
Anlegen können Sie die verschiedenen Bereiche wählen, auf die
|
|
Mitglieder dieser Gruppe Zugriff haben sollen.
|
|
|
|
Benutzergruppen sind unabhängig von Datenbanken, da sie in der
|
|
Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
|
|
Datenbanken, die in dieser Installation verwaltet werden.
|
|
|
|
8.4 Benutzer anlegen
|
|
====================
|
|
|
|
Beim Anlegen von Benutzern werden für viele Parameter
|
|
Standardeinstellungen vorgenommen, die den Gepflogenheiten des
|
|
deutschen Raumes entsprechen.
|
|
|
|
Zwingend anzugeben sind der Loginname sowie die komplette
|
|
Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
|
|
Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
|
|
gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
|
|
aktiv, so ist das Passwort-Feld deaktiviert.
|
|
|
|
In der Datenbankkonfiguration müssen die Zugriffsdaten einer der eben
|
|
angelegten Datenbanken eingetragen werden.
|
|
|
|
8.5 Gruppenmitgliedschaften verwalten
|
|
=====================================
|
|
|
|
Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den Gruppen
|
|
zugewiesen werden. Dazu gibt es zwei Möglichkeiten:
|
|
|
|
1. In der Gruppenverwaltung wählt man eine Gruppe aus. Im folgenden
|
|
Dialog kann man dann einzeln die Benutzer der Gruppe hinzufügen.
|
|
|
|
2. In der Gruppenverwaltung wählt man das Tool zur Verwaltung der
|
|
Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die alle im
|
|
System angelegten Gruppen und Benutzer enthält. Durch Setzen der
|
|
Häkchen wird der Benutzer in der ausgewählten Zeile der Gruppe in
|
|
der ausgewählten Spalte hinzugefügt.
|
|
|
|
8.6 Migration alter Installationen
|
|
==================================
|
|
|
|
Wenn Lx-Office 2.6.2 über eine ältere Version installiert wird, in der
|
|
die Benutzerdaten noch im Dateisystem im Verzeichnis `users' verwaltet
|
|
wurden, so bietet Lx-Office die Möglichkeit, diese Benutzerdaten
|
|
automatisch in die Authentifizierungsdatenbank zu übernehmen. Dies
|
|
geschieht, wenn man sich nach dem Update der Installation das erste Mal
|
|
im Administrationsbereich anmeldet. Findet Lx-Office die Datei
|
|
`users/members', so wird der Migrationsprozess gestartet.
|
|
|
|
Der Migrationsprozess ist nahezu vollautomatisch. Alle Benutzerdaten
|
|
können übernommen werden. Nach den Benutzerdaten bietet Lx-Office noch
|
|
die Möglichkeit an, dass automatisch eine Benutzergruppe angelegt wird.
|
|
Dieser Gruppe wird Zugriff auf alle Funktionen von Lx-Office gewährt.
|
|
Alle migrierten Benutzern werden Mitglied in dieser Gruppe. Damit wird
|
|
das Verhalten von Lx-Office bis Version 2.4.3 inklusive
|
|
wiederhergestellt, und die Benutzer können sich sofort wieder anmelden
|
|
und mit dem System arbeiten.
|
|
|
|
9 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
|
|
`config/lx_office.conf' die Variable `opendocument' im Abschnitt
|
|
`print_templates' auf `1' stehen. Dieses ist die Standardeinstellung.
|
|
|
|
Weiterhin muss in der Datei `config/lx_office.conf' die Variable
|
|
`dbcharset' im Abschnitt `system' auf die Zeichenkodierung gesetzt
|
|
werden, die auch bei der Speicherung der Daten in der Datenbank
|
|
verwendet wird. Diese ist in den meisten Fällen "UTF-8".
|
|
|
|
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 `config/lx_config.conf'
|
|
zwei weitere Variablen angepasst werden: `openofficeorg_writer' muss
|
|
den vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
|
|
`xvfb' muss den Pfad zum "X virtual frame buffer" enthalten. Beide
|
|
stehen im Abschnitt `applications'.
|
|
|
|
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 bereits erledigt (*note
|
|
Manuelle Installation des Programmpaketes::), kann aber erneut überprüft
|
|
werden, wenn die Konvertierung nach PDF fehlschlägt.
|
|
|
|
10 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'
|
|
|
|
|
|
|
|
Local Variables:
|
|
coding: utf-8
|
|
End:
|