Projekt

Allgemein

Profil

Herunterladen (27,2 KB) Statistiken
| Zweig: | Markierung: | Revision:
7b642ce6 Moritz Bunkus
\input texinfo @c -*-texinfo-*-
@c %**start of header
4c24a5f4 Sven Schöling
@documentencoding UTF-8
7b642ce6 Moritz Bunkus
@setfilename INSTALL.info
@settitle Lx-Office Installationsanleitung
@c %**end of header

@c @copying
@c Die Lx-Office Installationsanleitung kann beliebig weiter verwendet
@c werden.
@c @end copying

@titlepage
@title Lx-Office Installationsanleitung
@end titlepage

@contents

@ifnottex
@node Top
@top Inhalt der Anleitung
@end ifnottex

@menu
* Aktuelle Hinweise:: Andere Informationsquellen als diese Anleitung
4c24a5f4 Sven Schöling
* Benötigte Software und Pakete:: Vorraussetzungen zum Betrieb von Lx-Office
7b642ce6 Moritz Bunkus
* Installation des Programmpaketes:: Installationsort, Berechtigungen
* Anpassung der PostgreSQL-Konfiguration:: Verschiedene Aspekte der Datenbankkonfiguration
4c24a5f4 Sven Schöling
* Apache-Konfiguration:: Einrichtung eines Aliases und Optionen für das Ausführen von CGI-Scripten
* Benutzerauthentifizierung und Administratorpasswort:: Einrichtung der Authentifizierungsdatenbank und der Passwortüberprüfung
8c7e4493 Moritz Bunkus
* Benutzer- und Gruppenverwaltung:: Einrichten von Benutzern, Gruppen und Datenbanken
7b642ce6 Moritz Bunkus
* OpenDocument-Vorlagen:: Wichtige Hinweise zum Erstellen und zur Verwendung von Dokumentenvorlagen
* Lx-Office ERP verwenden:: Die URLs zur Anmeldung und Administration
@end menu

@c ---------------------------------------------------------------

@node Aktuelle Hinweise
@chapter Aktuelle Hinweise

Aktuelle Installations- und Konfigurationshinweise gibt es:

@itemize
@item
auf der Lx-Office Homepage unter @uref{http://lx-office.org/index.php?id=dokumentation}

@item
im Lx-Office-Wiki unter Dokumentation (@uref{http://wiki.lx-office.org/index.php/Lx-Office_ERP})

@item
im Lx-Office-Forum: @uref{http://www.lx-office.org/forum/}
@end itemize

@c ---------------------------------------------------------------

4c24a5f4 Sven Schöling
@node Benötigte Software und Pakete
@chapter Benötigte Software und Pakete
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache) und ein Datenbankserver (PostgreSQL) benötigt.
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind:
7b642ce6 Moritz Bunkus
@itemize
@item
8eb4af24 Sven Schöling
Archive::Zip
7b642ce6 Moritz Bunkus
@item
8eb4af24 Sven Schöling
Class::Accessor
7b642ce6 Moritz Bunkus
@item
CGI::Ajax
@item
d1987c14 Sven Schöling
DateTime
@item
8eb4af24 Sven Schöling
DBI
7b642ce6 Moritz Bunkus
@item
8eb4af24 Sven Schöling
DBD::Pg
7b642ce6 Moritz Bunkus
@item
8eb4af24 Sven Schöling
Email::Address
7b642ce6 Moritz Bunkus
@item
8eb4af24 Sven Schöling
List::MoreUtils
0603f8f1 Moritz Bunkus
@item
8eb4af24 Sven Schöling
PDF::API2
7b642ce6 Moritz Bunkus
@item
Template
b02fc29a Sven Schöling
@item
8eb4af24 Sven Schöling
Text::CSV_XS
b02fc29a Sven Schöling
@item
8eb4af24 Sven Schöling
Text::Iconv
@item
URI
@item
XML::Writer
@item
YAML
7b642ce6 Moritz Bunkus
@end itemize

8eb4af24 Sven Schöling
Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete hinzugekommen, @code{URI}
und @code{XML::Writer} sind notwendig. Ohne startet Lx-Office nicht.

@code{Email::Address} und @code{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.

@code{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.
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Für Debian oder Ubuntu benötigen Sie diese Pakete:
7b642ce6 Moritz Bunkus
d1987c14 Sven Schöling
@code{apache2 postgresql libarchive-zip-perl libclass-accessor-perl libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl libemail-address-perl libio-stringy-perl liblist-moreutils-perl libpdf-api2-perl libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl}
7b642ce6 Moritz Bunkus
8eb4af24 Sven Schöling
Für Fedora Core benötigen Sie diese Pakete:
7b642ce6 Moritz Bunkus
d1987c14 Sven Schöling
@code{httpd postgresql-server perl-Class-Accessor perl-DateTime perl-DBI perl-DBD-Pg perl-Email-Address perl-IO-stringy perl-List-MoreUtils perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML}
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Für OpenSuSE benötigen Sie diese Pakete:
7b642ce6 Moritz Bunkus
d1987c14 Sven Schöling
@code{apache2 postgresql-server perl-Archive-Zip perl-Class-Accessor perl-DateTime perl-DBI perl-DBD-Pg perl-MailTools perl-IO-stringy perl-List-MoreUtils perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML}
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
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:
be180538 Moritz Bunkus
@code{./scripts/installation_check.pl}

7b642ce6 Moritz Bunkus
@c ---------------------------------------------------------------

@node Installation des Programmpaketes
@chapter Installation des Programmpaketes

24e130ef Sven Schöling
Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.1.tgz) wird im
7b642ce6 Moritz Bunkus
Dokumentenverzeichnis des Webservers (z.B. @code{/var/www/html/},
@code{/srv/www/htdocs} oder @code{/var/www/}) entpackt:

@code{cd /var/www
@*
24e130ef Sven Schöling
tar xvzf lxoffice-erp-2.6.1.tgz}
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Verändern Sie evtl. noch den Namen des Verzeichnisses mit
7b642ce6 Moritz Bunkus
@code{mv lxoffice-erp/ lx-erp/}

4c24a5f4 Sven Schöling
Alternativ können Sie auch einen Alias in der Webserverkonfiguration
benutzen, um auf das tatsächliche Installationsverzeichnis zu
7b642ce6 Moritz Bunkus
verweisen.

4c24a5f4 Sven Schöling
Die Verzeichnisse @code{users}, @code{spool} und @code{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
efa178c8 Moritz Bunkus
Benutzername ist bei verschiedenen Distributionen unterschiedlich
(z.B. bei Debian/Ubuntu @code{www-data}, bei Fedora core @code{apache}
oder bei OpenSuSE @code{wwwrun}).
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Der folgende Befehl ändert den Besitzer für die oben genannten
76b009b0 Moritz Bunkus
Verzeichnisse auf einem Debian/Ubuntu-System:

efa178c8 Moritz Bunkus
@code{chown -R www-data lx-office-erp/users lx-office-erp/spool lx-office-erp/webdav}
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Weiterhin muss der Webserver-Benutzer im Verzeichnis @code{templates} Verzeichnisse für
jeden neuen Benutzer, der in lx-office angelegt wird, anlegen dürfen:
168cc171 Jens Quade
@code{chgrp www-data lx-office-erp/templates; chmod g+w lx-office-erp/templates}


7b642ce6 Moritz Bunkus
@c ---------------------------------------------------------------

@node Anpassung der PostgreSQL-Konfiguration
@chapter Anpassung der PostgreSQL-Konfiguration

PostgreSQL muss auf verschiedene Weisen angepasst werden.

@menu
4c24a5f4 Sven Schöling
* Zeichensätze/die Verwendung von UTF-8:: Was bei der Verwendung von UTF-8 zu beachten ist
* Änderungen an Konfigurationsdateien:: Anpassungen für Anmeldung am Server und Featureunterstützung
* Erweiterung für servergespeicherte Prozeduren:: Lx-Office benutzt servergespeicherte Prozeduren
7b642ce6 Moritz Bunkus
* Datenbankbenutzer anlegen:: Um den Zugriff besser zu reglementieren
@end menu

4c24a5f4 Sven Schöling
@node Zeichensätze/die Verwendung von UTF-8
@section Zeichensätze/die Verwendung von UTF-8
3acaa523 Moritz Bunkus
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.

4c24a5f4 Sven Schöling
Dieses ist kann überprüft werden: ist das Encoding der Datenbank
3acaa523 Moritz Bunkus
``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:

@code{pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername}

4c24a5f4 Sven Schöling
Die Datenbankversionsnummer muss an die tatsächlich verwendete
3acaa523 Moritz Bunkus
Versionsnummer angepasst werden.

4c24a5f4 Sven Schöling
Unter anderen Distributionen gibt es ähnliche Methoden.
3acaa523 Moritz Bunkus
Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und ist
4c24a5f4 Sven Schöling
ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
b02fc29a Sven Schöling
Lx-Office mit ISO-8859-15 als Encoding betrieben werden.
3acaa523 Moritz Bunkus
4c24a5f4 Sven Schöling
Das Encoding einer Datenbank kann in @code{psql} mit @code{\l} geprüft werden.
168cc171 Jens Quade
4c24a5f4 Sven Schöling
@node Änderungen an Konfigurationsdateien
@section Änderungen an Konfigurationsdateien
7b642ce6 Moritz Bunkus
In der Datei @code{postgresql.conf}, die je nach Distribution in
verschiedenen Verzeichnissen liegen kann
(z.B. @code{/var/lib/pgsql/data/} oder @code{/etc/postgresql/}, muss
4c24a5f4 Sven Schöling
sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Für
2b5da843 Moritz Bunkus
PostgreSQL vor Version v8.0 lautete dieser Parameter
7b642ce6 Moritz Bunkus
@code{TCPIP_SOCKET = 1}

4c24a5f4 Sven Schöling
Ab v8.0 wird das Verhalten hingegen über den neuen Parameter
2b5da843 Moritz Bunkus
@code{listen_address} gesteuert. Laufen PostgreSQL und Lx-Office auf
demselben Rechner, so kann dort der Wert @code{localhost} verwendet
4c24a5f4 Sven Schöling
werden. Andernfalls müssen Datenbankverbindungen auch von anderen
2b5da843 Moritz Bunkus
Rechnern aus zugelassen werden, was mit dem Wert \@code{*} geschieht.

7b642ce6 Moritz Bunkus
In der Datei @code{pg_hba.conf}, die im gleichen Verzeichnis wie die
4c24a5f4 Sven Schöling
@code{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
7b642ce6 Moritz Bunkus
zuzulassen

@code{local all all trust
@*
host all all 127.0.0.1 255.0.0.0 trust}

4c24a5f4 Sven Schöling
Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort
7b642ce6 Moritz Bunkus
zuzulassen. Beispielsweise:

@code{local all lxoffice password
@*
host all lxoffice 127.0.0.1 255.255.255.255 password}

@c ---------------------------------------------------------------

4c24a5f4 Sven Schöling
@node Erweiterung für servergespeicherte Prozeduren
@section Erweiterung für servergespeicherte Prozeduren
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
In der Datenbank @code{template1} muss die Unterstützung für
7b642ce6 Moritz Bunkus
servergespeicherte Prozeduren eingerichet werden. Melden Sie sich
4c24a5f4 Sven Schöling
dafür als Benutzer ``postgres'' an der Datenbank an, und führen Sie
7b642ce6 Moritz Bunkus
die folgenden Kommandos aus:

@code{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 @code{plpgsql.so} von
Distribution zu Distribution verschiedlich sein kann. Bei
Debian/Ubuntu befindet sie sich unter
168cc171 Jens Quade
@code{/usr/lib/postgresql/lib/plpgsql.so}, bei Ubuntu 9.10 unter @code{/usr/lib/postgresql/8.4/lib/plpgsql.so}.
7b642ce6 Moritz Bunkus

@c ---------------------------------------------------------------

@node Datenbankbenutzer anlegen
@section Datenbankbenutzer anlegen

Wenn Sie nicht den Datenbanksuperuser ``postgres'' zum Zugriff
benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
4c24a5f4 Sven Schöling
anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen können:
7b642ce6 Moritz Bunkus
@code{su - postgres
@*
createuser -d -P lxoffice}

4c24a5f4 Sven Schöling
Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie
7b642ce6 Moritz Bunkus
den evtl. voreingestellten Benutzer ``postgres'' auf ``lxoffice''
4c24a5f4 Sven Schöling
bzw. den hier gewählten Benutzernamen.
7b642ce6 Moritz Bunkus
@c ---------------------------------------------------------------

@node Apache-Konfiguration
@chapter Apache-Konfiguration

Der Zugriff auf das Programmverzeichnis muss in der Apache
Webserverkonfigurationsdatei @code{httpd.conf} eingestellt
4c24a5f4 Sven Schöling
werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
7b642ce6 Moritz Bunkus
anderen Datei hinzu, die beim Starten des Webservers eingelesen wird:

@code{@*
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 @samp{+} gesetzt werden.

Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets
4c24a5f4 Sven Schöling
nicht ausgeliefert. In solchen Fällen hat es oft geholfen, die
7b642ce6 Moritz Bunkus
folgende Option in die Konfiguration aufzunehmen:

@code{EnableSendfile Off}

@c ---------------------------------------------------------------

8c7e4493 Moritz Bunkus
@node Benutzerauthentifizierung und Administratorpasswort
@chapter Benutzerauthentifizierung und Administratorpasswort
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Informationen über die Einrichtung der Benutzerauthentifizierung, über
8c7e4493 Moritz Bunkus
die Verwaltung von Gruppen und weitere Einstellungen
7b642ce6 Moritz Bunkus
8c7e4493 Moritz Bunkus
@menu
4c24a5f4 Sven Schöling
* Grundlagen zur Benutzerauthentifizierung:: Verfügbare Methoden, Name der Konfigurationsdatei
8c7e4493 Moritz Bunkus
* Administratorpasswort:: Wo das Administratorpasswort gesetzt werden kann
* Authentifizierungsdatenbank:: Verbindungseinstellungen zur Authentifizierungsdatenbank
4c24a5f4 Sven Schöling
* Passwortüberprüfung:: Einstellungen zur Überprüfung der Benutzerpasswörter
* Name des Session-Cookies:: Ändern des Cookie-Namens bei Verwendung mehrerer Lx-Office-Installationen auf einem Server
8c7e4493 Moritz Bunkus
* Anlegen der Authentifizierungsdatenbank:: Wie die Authentifizierungsdatenbank angelegt wird
@end menu

@c ---------------------------------------------------------------

@node Grundlagen zur Benutzerauthentifizierung
@section Grundlagen zur Benutzerauthentifizierung

Lx-Office verwaltet die Benutzerinformationen in einer Datenbank, die
4c24a5f4 Sven Schöling
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
8c7e4493 Moritz Bunkus
aber nicht unterschiedlich sein.

4c24a5f4 Sven Schöling
Im einfachsten Fall gibt es für Lx-Office nur eine einzige Datenbank,
8c7e4493 Moritz Bunkus
in der sowohl die Benutzerinformationen als auch die Daten abgelegt
werden.

4c24a5f4 Sven Schöling
Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
8c7e4493 Moritz Bunkus
entweder gegen die Authentifizierungsdatenbank oder gegen einen
4c24a5f4 Sven Schöling
LDAP-Server überprüft werden.
8c7e4493 Moritz Bunkus
4c24a5f4 Sven Schöling
Welche Art der Passwortüberprüfung Lx-Office benutzt und wie Lx-Office
8c7e4493 Moritz Bunkus
die Authentifizierungsdatenbank erreichen kann, wird in der
Konfigurationsdatei @code{config/authentication.pl} festgelegt. Diese
muss bei der Installation und bei einem Upgrade von einer Version vor
3001e127 Moritz Bunkus
v2.6.0 angelegt werden. Eine Beispielkonfigurationsdatei
8c7e4493 Moritz Bunkus
@code{config/authentication.pl.default} existiert, die als Vorlage
benutzt werden kann.

@node Administratorpasswort
@section Administratorpasswort

Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt wird,
wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort und nicht
4c24a5f4 Sven Schöling
mehr im Administrationsinterface selber geändert werden. Der Parameter dazu
heißt @code{$self->@{admin_password@}}.
8c7e4493 Moritz Bunkus
@node Authentifizierungsdatenbank
@section Authentifizierungsdatenbank

Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern
in @code{$self->@{DB_config@}} konfiguriert. Hier sind die folgenden
Parameter anzugeben:

@itemize
@item
@samp{host} -- Der Rechnername oder die IP-Adresse des Datenbankservers
@item
@samp{port} -- Die Portnummer des Datenbankservers, meist 5432
@item
@samp{db} -- Der Name der Authentifizierungsdatenbank
@item
@samp{user} -- Der Benutzername, mit dem sich Lx-Office beim Datenbankserver anmeldet (z.B. ``postgres'')
@item
4c24a5f4 Sven Schöling
@samp{password} -- Das Passwort für den Datenbankbenutzer
8c7e4493 Moritz Bunkus
@end itemize

Die Datenbank muss noch nicht existieren. Lx-Office kann sie
automatisch anlegen (mehr dazu siehe unten).

4c24a5f4 Sven Schöling
@node Passwortüberprüfung
@section Passwortüberprüfung
8c7e4493 Moritz Bunkus
4c24a5f4 Sven Schöling
Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die
8c7e4493 Moritz Bunkus
Authentifizierungsdatenbank und gegen einen externen LDAP- oder
Active-Directory-Server. Welche davon benutzt wird, regelt der
Parameter @code{$self->@{module@}}.

4c24a5f4 Sven Schöling
Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
8c7e4493 Moritz Bunkus
gespeichert werden, so muss der Parameter @code{$self->@{module@}} den
4c24a5f4 Sven Schöling
Wert @samp{DB} enthalten. In diesem Fall können sowohl der
Administrator als auch die Benutzer selber ihre Psaswörter in
Lx-Office ändern.
8c7e4493 Moritz Bunkus
Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt
werden, so muss der Parameter @code{$self->@{module@}} auf @samp{LDAP}
4c24a5f4 Sven Schöling
gesetzt werden. In diesem Fall müssen zusätzliche Informationen über
8c7e4493 Moritz Bunkus
den LDAP-Server in @code{$self->@{LDAP_config@}} angegeben werden:

@itemize
@item
@samp{host} -- Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend erforderlich.
@item
@samp{port} -- Die Portnummer des LDAP-Servers; meist 389.
@item
4c24a5f4 Sven Schöling
@samp{tls} -- Wenn Verbindungsverschlüsselung gewünscht ist, so diesen Wert auf @samp{1} setzen, andernfalls auf @samp{0} belassen
8c7e4493 Moritz Bunkus
@item
4c24a5f4 Sven Schöling
@samp{attribute} -- Das LDAP-Attribut, in dem der Benutzername steht, den der Benutzer eingegeben hat. Für Active-Directory-Server
ist dies meist @samp{sAMAccountName}, für andere LDAP-Server hingegen @samp{uid}. Diese Angabe ist zwingend erforderlich.
8c7e4493 Moritz Bunkus
@item
@samp{base_dn} -- Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich.
@item
4c24a5f4 Sven Schöling
@samp{filter} -- Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort @code{<%login%>}, so wird dieses durch den vom Benutzer
8c7e4493 Moritz Bunkus
eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum nach einem Element durchsucht, bei dem das oben angegebene Attribut
mit dem Benutzernamen identisch ist.
@item
@samp{bind_dn} und @samp{bind_password} -- Wenn der LDAP-Server eine Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist dies bei
4c24a5f4 Sven Schöling
Active-Directory-Servern der Fall), so kann diese hier angegeben werden. Für Active-Directory-Server kann als @samp{bind_dn} entweder eine
8c7e4493 Moritz Bunkus
komplette LDAP-DN wie z.B. @samp{cn=Martin Mustermann,cn=Users,dc=firmendomain} auch nur der volle Name des Benutzers
eingegeben werden; in diesem Beispiel also @samp{Martin Mustermann}.
@end itemize
7b642ce6 Moritz Bunkus
8c7e4493 Moritz Bunkus
@node Name des Session-Cookies
@section Name des Session-Cookies

Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt
4c24a5f4 Sven Schöling
werden, so müssen die Namen der Session-Cookies für alle
8c7e4493 Moritz Bunkus
Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
Parameter @code{$self->@{cookie_name@}} gesetzt.

Diese Angabe ist optional, wenn nur eine Installation auf dem Server
existiert.

@node Anlegen der Authentifizierungsdatenbank
@section Anlegen der Authentifizierungsdatenbank

Nachdem alle Einstellungen in @code{config/authentication.pl}
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:

@uref{http://localhost/lx-erp/admin.pl}


@c ---------------------------------------------------------------

@node Benutzer- und Gruppenverwaltung
@chapter Benutzer- und Gruppenverwaltung

4c24a5f4 Sven Schöling
Nach der Installation müssen Benutzer, Gruppen und Datenbanken
angelegt werden. Dieses geschieht im Administrationsmenü, das Sie
8c7e4493 Moritz Bunkus
unter folgender URL finden:

@uref{http://localhost/lx-erp/admin.pl}

Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
@code{config/authentication.pl} eingetragen haben.

@menu
4c24a5f4 Sven Schöling
* Zusammenhänge:: Übersicht über Benutzer, Gruppen, Berechtigungen und Datenbanken
8c7e4493 Moritz Bunkus
* Datenbanken anlegen:: Hinweise zum Anlegen von Datenbanken
* Gruppen anlegen:: Hinweise zum Anlegen von Gruppen
* Benutzer anlegen:: Hinweise zum Anlegen von Benutzern
* Gruppenmitgliedschaften verwalten:: Wie man Gruppen Benutzer zuordnet
4c24a5f4 Sven Schöling
* Migration alter Installationen:: Automatische Übernahme bei Update von einer älteren Version
8c7e4493 Moritz Bunkus
@end menu

4c24a5f4 Sven Schöling
@node Zusammenhänge
@section Zusammenhänge
8c7e4493 Moritz Bunkus
Lx-Office verwendet eine Datenbank zum Speichern all seiner
Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
4c24a5f4 Sven Schöling
mit Lx-Office arbeiten zu können, muss eine Person einen
8c7e4493 Moritz Bunkus
Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
4c24a5f4 Sven Schöling
möglich und normal, dass mehreren Benutzern die selbe Datenbank
zugewiesen wird, sodass sie alle mit den selben Daten arbeiten können.
8c7e4493 Moritz Bunkus
Die Basisdaten der Benutzer, die in der Administration eingegeben
4c24a5f4 Sven Schöling
werden können, werden in einer zweiten Datenbank gespeichert, der
bereits erwähnten Authentifizierungsdatenbank. Diese ist also den
8c7e4493 Moritz Bunkus
Produktivdaten enthaltenden Datenbanken vorgeschaltet. Pro
Lx-Office-Installation gibt es nur eine Authentifizierungsdatenbank,
aber beliebig viele Datenbanken mit Firmendaten.

b02fc29a Sven Schöling
Lx-Office kann seinen Benutzern Zugriff auf bestimmte
8c7e4493 Moritz Bunkus
Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
4c24a5f4 Sven Schöling
gestattet, so werden der entsprechenden Menüpunkte auch nicht
8c7e4493 Moritz Bunkus
angezeigt. Diese Rechte werden ebenfalls in der
Authentifizierungsdatenbank gespeichert.

4c24a5f4 Sven Schöling
Um Rechte verteilen zu können, verwendet Lx-Office ein
8c7e4493 Moritz Bunkus
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:

@enumerate
@item
Datenbank anlegen
@item
Gruppen anlegen
@item
Benutzer anlegen
@item
Benutzer den Gruppen zuordnen
@end enumerate

@node Datenbanken anlegen
@section Datenbanken anlegen

4c24a5f4 Sven Schöling
Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für den
8c7e4493 Moritz Bunkus
Datenbankzugriff den vorhin angelegten Benutzer (in unseren Beispielen
ist dies @samp{lxoffice}).
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Wenn Sie für die Lx-Office-Installation nicht den europäischen
7b642ce6 Moritz Bunkus
Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
4c24a5f4 Sven Schöling
müssen Sie vor dem Anlegen der Datenbank in der Datei
8c7e4493 Moritz Bunkus
@code{config/lx-erp.conf} die Variable @code{$dbcharset} auf den Wert
4c24a5f4 Sven Schöling
@samp{UTF-8} setzen. Zusätzlich muss beim Anlegen der Datenbank
@samp{UTF-8 Unicode} als Schriftsatz ausgewählt werden.
8c7e4493 Moritz Bunkus
Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
4c24a5f4 Sven Schöling
verwenden müssen, da diese Einstellungen momentan global in Lx-Office
8c7e4493 Moritz Bunkus
vorgenommen wird und nicht nach Datenbank unterschieden werden
kann. Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
angelegt worden sein.

@node Gruppen anlegen
@section Gruppen anlegen

Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein Name
gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
4c24a5f4 Sven Schöling
Anlegen können Sie die verschiedenen Bereiche wählen, auf die
8c7e4493 Moritz Bunkus
Mitglieder dieser Gruppe Zugriff haben sollen.

4c24a5f4 Sven Schöling
Benutzergruppen sind unabhängig von Datenbanken, da sie in der
Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
8c7e4493 Moritz Bunkus
Datenbanken, die in dieser Installation verwaltet werden.

@node Benutzer anlegen
@section Benutzer anlegen

4c24a5f4 Sven Schöling
Beim Anlegen von Benutzern werden für viele Parameter
8c7e4493 Moritz Bunkus
Standardeinstellungen vorgenommen, die den Gepflogenheiten des
deutschen Raumes entsprechen.

Zwingend anzugeben sind der Loginname sowie die komplette
4c24a5f4 Sven Schöling
Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
8c7e4493 Moritz Bunkus
Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
4c24a5f4 Sven Schöling
gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
8c7e4493 Moritz Bunkus
aktiv, so ist das Passwort-Feld deaktiviert.

4c24a5f4 Sven Schöling
In der Datenbankkonfiguration müssen die Zugriffsdaten einer der eben
8c7e4493 Moritz Bunkus
angelegten Datenbanken eingetragen werden.

@node Gruppenmitgliedschaften verwalten
@section Gruppenmitgliedschaften verwalten

4c24a5f4 Sven Schöling
Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den Gruppen
zugewiesen werden. Dazu gibt es zwei Möglichkeiten:
8c7e4493 Moritz Bunkus
@enumerate
@item
4c24a5f4 Sven Schöling
In der Gruppenverwaltung wählt man eine Gruppe aus. Im folgenden
Dialog kann man dann einzeln die Benutzer der Gruppe hinzufügen.
8c7e4493 Moritz Bunkus
@item
4c24a5f4 Sven Schöling
In der Gruppenverwaltung wählt man das Tool zur Verwaltung der
8c7e4493 Moritz Bunkus
Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die alle im
4c24a5f4 Sven Schöling
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.
8c7e4493 Moritz Bunkus
@end enumerate

@node Migration alter Installationen
@section Migration alter Installationen

24e130ef Sven Schöling
Wenn Lx-Office 2.6.1 über eine ältere Version installiert wird, in der
8c7e4493 Moritz Bunkus
die Benutzerdaten noch im Dateisystem im Verzeichnis @code{users}
4c24a5f4 Sven Schöling
verwaltet wurden, so bietet Lx-Office die Möglichkeit, diese
8c7e4493 Moritz Bunkus
Benutzerdaten automatisch in die Authentifizierungsdatenbank zu
4c24a5f4 Sven Schöling
übernehmen. Dies geschieht, wenn man sich nach dem Update der
8c7e4493 Moritz Bunkus
Installation das erste Mal im Administrationsbereich anmeldet. Findet
Lx-Office die Datei @code{users/members}, so wird der
Migrationsprozess gestartet.

Der Migrationsprozess ist nahezu vollautomatisch. Alle Benutzerdaten
4c24a5f4 Sven Schöling
können übernommen werden. Nach den Benutzerdaten bietet Lx-Office noch
die Möglichkeit an, dass automatisch eine Benutzergruppe angelegt
8c7e4493 Moritz Bunkus
wird. Dieser Gruppe wird Zugriff auf alle Funktionen von Lx-Office
4c24a5f4 Sven Schöling
gewährt. Alle migrierten Benutzern werden Mitglied in dieser
8c7e4493 Moritz Bunkus
Gruppe. Damit wird das Verhalten von Lx-Office bis Version 2.4.3
4c24a5f4 Sven Schöling
inklusive wiederhergestellt, und die Benutzer können sich sofort
8c7e4493 Moritz Bunkus
wieder anmelden und mit dem System arbeiten.
7b642ce6 Moritz Bunkus
@c ---------------------------------------------------------------

@node OpenDocument-Vorlagen
@chapter OpenDocument-Vorlagen

4c24a5f4 Sven Schöling
Lx-Office unterstützt die Verwendung von Vorlagen im
7b642ce6 Moritz Bunkus
OpenDocument-Format, wie es OpenOffice.org ab Version 2
erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als
4c24a5f4 Sven Schöling
auch aus diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
8c7e4493 Moritz Bunkus
OpenDocument-Vorlagen zu aktivieren muss in der Datei
@code{config/lx-erp.conf} die Variable @code{$opendocument_templates}
auf @samp{1} stehen. Dieses ist die Standardeinstellung.
7b642ce6 Moritz Bunkus
8c7e4493 Moritz Bunkus
Weiterhin muss in der Datei @code{config/lx-erp.conf} die Variable
7b642ce6 Moritz Bunkus
@code{$dbcharset} auf die Zeichenkodierung gesetzt werden, die auch
bei der Speicherung der Daten in der Datenbank verwendet wird. Diese
2af9eae7 Moritz Bunkus
ist in den meisten Fällen "UTF-8".
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
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
7b642ce6 Moritz Bunkus
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.

4c24a5f4 Sven Schöling
Nach der Installation müssen in der Datei @code{config/lx-erp.conf}
8c7e4493 Moritz Bunkus
zwei weitere Variablen angepasst werden:
4c24a5f4 Sven Schöling
@code{$openofficeorg_writer_bin} muss den vollständigen Pfad zur
8c7e4493 Moritz Bunkus
OpenOffice.org Writer-Anwendung enthalten. @code{$xvfb_bin} muss den
Pfad zum ``X virtual frame buffer'' enthalten.
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
7b642ce6 Moritz Bunkus
OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
die Variable @code{$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
4c24a5f4 Sven Schöling
reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
7b642ce6 Moritz Bunkus
werden muss. Der Nachteil ist, dass diese Methode Python und die
4c24a5f4 Sven Schöling
Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 sind.
7b642ce6 Moritz Bunkus
4c24a5f4 Sven Schöling
Ist @code{$openofficeorg_daemon} nicht gesetzt, so wird für jedes
7b642ce6 Moritz Bunkus
Dokument OpenOffice neu gestartet und die Konvertierung mit Hilfe
4c24a5f4 Sven Schöling
eines Makros durchgeführt. Dieses Makro muss in der Dokumentenvorlage
7b642ce6 Moritz Bunkus
enthalten sein und ``Standard.Conversion.ConvertSelfToPDF()''
4c24a5f4 Sven Schöling
heißen. Die Beispielvorlage @samp{templates/German-invoice.odt}
enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
7b642ce6 Moritz Bunkus
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 @code{~/.openoffice.org2}. Sollte der Name
bei Ihrer OpenOffice.org-Installation anders sein, so muss das
Verzeichnis @code{users/.openoffice.org2} entsprechend umbenannt
4c24a5f4 Sven Schöling
werden. Ist der Name z.B. einfach nur @code{.openoffice}, so wäre
folgender Befehl auszuführen:
7b642ce6 Moritz Bunkus
@code{mv users/.openoffice.org2 users/.openoffice}

Dieses Verzeichnis, wie auch das komplette @code{users}-Verzeichnis,
muss vom Webserver beschreibbar sein. Dieses wurde in Schritt
@code{Installation des Programmpakets} oben bereits erledigt, kann
4c24a5f4 Sven Schöling
aber erneut überprüft werden, wenn die Konvertierung nach PDF
fehlschlägt.
7b642ce6 Moritz Bunkus
@c ---------------------------------------------------------------

@node Lx-Office ERP verwenden
@chapter Lx-Office ERP verwenden

Nach erfolgreicher Installation ist der Loginbildschirm unter
folgender URL erreichbar:

@uref{http://localhost/lx-office-erp/login.pl}

Die Administrationsseite erreichen Sie unter:

@uref{http://localhost/lx-office-erp/admin.pl}

@bye