23ba2e084cad9d02d9023d1da1775f0ca2920c3e
[kivitendo-erp.git] / doc / INSTALL.texi
1 \input texinfo   @c -*-texinfo-*-
2 @c %**start of header
3 @documentencoding UTF-8
4 @setfilename INSTALL.info
5 @settitle Lx-Office Installationsanleitung
6 @c %**end of header
7
8 @c @copying
9 @c Die Lx-Office Installationsanleitung kann beliebig weiter verwendet
10 @c werden.
11 @c @end copying
12
13 @titlepage
14 @title Lx-Office Installationsanleitung
15 @end titlepage
16
17 @contents
18
19 @ifnottex
20 @node Top
21 @top Inhalt der Anleitung
22 @end ifnottex
23
24 @menu
25 * Aktuelle Hinweise:: Andere Informationsquellen als diese Anleitung
26 * Benötigte Software und Pakete:: Vorraussetzungen zum Betrieb von Lx-Office
27 * Installation des Programmpaketes:: Installationsort, Berechtigungen
28 * Anpassung der PostgreSQL-Konfiguration:: Verschiedene Aspekte der Datenbankkonfiguration
29 * Apache-Konfiguration:: Einrichtung eines Aliases und Optionen für das Ausführen von CGI-Scripten
30 * Benutzerauthentifizierung und Administratorpasswort:: Einrichtung der Authentifizierungsdatenbank und der Passwortüberprüfung
31 * Benutzer- und Gruppenverwaltung:: Einrichten von Benutzern, Gruppen und Datenbanken
32 * OpenDocument-Vorlagen:: Wichtige Hinweise zum Erstellen und zur Verwendung von Dokumentenvorlagen
33 * Lx-Office ERP verwenden:: Die URLs zur Anmeldung und Administration
34 @end menu
35
36 @c ---------------------------------------------------------------
37
38 @node Aktuelle Hinweise
39 @chapter Aktuelle Hinweise
40
41 Aktuelle Installations- und Konfigurationshinweise gibt es:
42
43 @itemize
44 @item
45 auf der Lx-Office Homepage unter @uref{http://lx-office.org/index.php?id=dokumentation}
46
47 @item
48 im Lx-Office-Wiki unter Dokumentation (@uref{http://wiki.lx-office.org/index.php/Lx-Office_ERP})
49
50 @item
51 im Lx-Office-Forum: @uref{http://www.lx-office.org/forum/}
52 @end itemize
53
54 @c ---------------------------------------------------------------
55
56 @node Benötigte Software und Pakete
57 @chapter Benötigte Software und Pakete
58
59 Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache) und ein Datenbankserver (PostgreSQL) benötigt.
60
61 Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind:
62
63 @itemize
64 @item
65 Archive::Zip
66 @item
67 Class::Accessor
68 @item
69 CGI::Ajax
70 @item
71 DateTime
72 @item
73 DBI
74 @item
75 DBD::Pg
76 @item
77 Email::Address
78 @item
79 IO::Wrap (aus dem Paket IO::Stringy)
80 @item
81 List::MoreUtils
82 @item
83 PDF::API2
84 @item
85 Template
86 @item
87 Text::CSV_XS
88 @item
89 Text::Iconv
90 @item
91 URI
92 @item
93 XML::Writer
94 @item
95 YAML
96 @end itemize
97
98 Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete hinzugekommen, @code{URI}
99 und @code{XML::Writer} sind notwendig. Ohne startet Lx-Office nicht.
100
101 @code{Email::Address} und @code{List::MoreUtils} sind schon länger feste
102 Abhängigkeiten, wurden aber bisher mit Lx-Office mitgeliefert.  Beide sind auch
103 in 2.6.1 weiterhin mit ausgeliefert, wurden in einer zukünftigen Version aber
104 aus dem Paket entfernt werden. Es wird empfohlen diese Module zusammen mit den
105 anderen als Bibliotheken zu installieren.
106
107 @code{CGI::Ajax} ist nach wie vor in einer modifizierten Version mitgeliefert
108 und braucht nicht nachinstalliert werden.
109
110 Die zu installierenden Pakete können in den verschiedenen Distributionen unterschiedlich heißen.
111
112 Für Debian oder Ubuntu benötigen Sie diese Pakete:
113
114 @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}
115
116 Für Fedora Core benötigen Sie diese Pakete:
117
118 @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}
119
120 Für OpenSuSE benötigen Sie diese Pakete:
121
122 @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}
123
124 Lx-Office enthält ein Script, mit dem überprüft werden kann, ob alle
125 benötigten Perl-Module installiert sind. Der Aufruf lautet wie folgt:
126
127 @code{./scripts/installation_check.pl}
128
129 @c ---------------------------------------------------------------
130
131 @node Installation des Programmpaketes
132 @chapter Installation des Programmpaketes
133
134 Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.1.tgz) wird im
135 Dokumentenverzeichnis des Webservers (z.B. @code{/var/www/html/},
136 @code{/srv/www/htdocs} oder @code{/var/www/}) entpackt:
137
138 @code{cd /var/www
139 @*
140 tar xvzf lxoffice-erp-2.6.1.tgz}
141
142 Verändern Sie evtl. noch den Namen des Verzeichnisses mit
143
144 @code{mv lxoffice-erp/ lx-erp/}
145
146 Alternativ können Sie auch einen Alias in der Webserverkonfiguration
147 benutzen, um auf das tatsächliche Installationsverzeichnis zu
148 verweisen.
149
150 Die Verzeichnisse @code{users}, @code{spool} und @code{webdav} müssen
151 für den Benutzer beschreibbar sein, unter dem der Webserver läuft. Die
152 restlichen Dateien müssen für diesen Benutzer lesbar sein. Der
153 Benutzername ist bei verschiedenen Distributionen unterschiedlich
154 (z.B. bei Debian/Ubuntu @code{www-data}, bei Fedora core @code{apache}
155 oder bei OpenSuSE @code{wwwrun}).
156
157 Der folgende Befehl ändert den Besitzer für die oben genannten
158 Verzeichnisse auf einem Debian/Ubuntu-System:
159
160 @code{chown -R www-data lx-office-erp/users lx-office-erp/spool lx-office-erp/webdav}
161
162 Weiterhin muss der Webserver-Benutzer im Verzeichnis @code{templates} Verzeichnisse für
163 jeden neuen Benutzer, der in lx-office angelegt wird, anlegen dürfen:
164
165 @code{chgrp www-data lx-office-erp/templates; chmod g+w lx-office-erp/templates}
166
167
168 @c ---------------------------------------------------------------
169
170 @node Anpassung der PostgreSQL-Konfiguration
171 @chapter Anpassung der PostgreSQL-Konfiguration
172
173 PostgreSQL muss auf verschiedene Weisen angepasst werden.
174
175 @menu
176 * Zeichensätze/die Verwendung von UTF-8:: Was bei der Verwendung von UTF-8 zu beachten ist
177 * Änderungen an Konfigurationsdateien:: Anpassungen für Anmeldung am Server und Featureunterstützung
178 * Erweiterung für servergespeicherte Prozeduren:: Lx-Office benutzt servergespeicherte Prozeduren
179 * Datenbankbenutzer anlegen:: Um den Zugriff besser zu reglementieren
180 @end menu
181
182 @node Zeichensätze/die Verwendung von UTF-8
183 @section Zeichensätze/die Verwendung von UTF-8
184
185 Lx-Office kann komplett mit UTF-8 als Zeichensatz verwendet
186 werden. Dabei gibt es zwei Punkte zu beachten: PostgreSQL muss in
187 Version 8.0 oder neuer benutzt werden, und der
188 PostgreSQL-Datenbankcluster muss ebenfalls mit UTF-8 als Locale
189 angelegt worden sein.
190
191 Dieses ist kann überprüft werden: ist das Encoding der Datenbank
192 ``template1'' ``UTF8'', so kann auch Lx-Office mit UTF-8 betrieben
193 werden. Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
194 UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
195 Ubuntu kann dies z.B. mit dem folgenden Befehl getan werden:
196
197 @code{pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername}
198
199 Die Datenbankversionsnummer muss an die tatsächlich verwendete
200 Versionsnummer angepasst werden.
201
202 Unter anderen Distributionen gibt es ähnliche Methoden.
203
204 Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und ist
205 ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
206 Lx-Office mit ISO-8859-15 als Encoding betrieben werden.
207
208 Das Encoding einer Datenbank kann in @code{psql} mit @code{\l} geprüft werden.
209
210 @node Änderungen an Konfigurationsdateien
211 @section Änderungen an Konfigurationsdateien
212
213 In der Datei @code{postgresql.conf}, die je nach Distribution in
214 verschiedenen Verzeichnissen liegen kann
215 (z.B. @code{/var/lib/pgsql/data/} oder @code{/etc/postgresql/}, muss
216 sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Für
217 PostgreSQL vor Version v8.0 lautete dieser Parameter
218
219 @code{TCPIP_SOCKET = 1}
220
221 Ab v8.0 wird das Verhalten hingegen über den neuen Parameter
222 @code{listen_address} gesteuert. Laufen PostgreSQL und Lx-Office auf
223 demselben Rechner, so kann dort der Wert @code{localhost} verwendet
224 werden. Andernfalls müssen Datenbankverbindungen auch von anderen
225 Rechnern aus zugelassen werden, was mit dem Wert \@code{*} geschieht.
226
227 In der Datei @code{pg_hba.conf}, die im gleichen Verzeichnis wie die
228 @code{postgresql.conf} zu finden sein sollte, müssen die
229 Berichtigungen für den Zugriff geändert werden. Hier gibt es mehrere
230 Möglichkeiten. Eine besteht darin, lokale Verbindungen immer
231 zuzulassen
232
233 @code{local all all trust
234 @*
235 host all all 127.0.0.1 255.0.0.0 trust}
236
237 Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort
238 zuzulassen. Beispielsweise:
239
240 @code{local   all         lxoffice                                           password
241 @*
242 host    all         lxoffice      127.0.0.1         255.255.255.255    password}
243
244 @c ---------------------------------------------------------------
245
246 @node Erweiterung für servergespeicherte Prozeduren
247 @section Erweiterung für servergespeicherte Prozeduren
248
249 In der Datenbank @code{template1} muss die Unterstützung für
250 servergespeicherte Prozeduren eingerichet werden. Melden Sie sich
251 dafür als Benutzer ``postgres'' an der Datenbank an, und führen Sie
252 die folgenden Kommandos aus:
253
254 @code{create function plpgsql_call_handler () returns opaque as '/usr/lib/pgsql/plpgsql.so' language 'c';
255 @*
256 create language 'plpgsql' handler plpgsql_call_handler
257 lancompiler 'pl/pgsql';}
258
259 Bitte beachten Sie, dass der Pfad zur Datei @code{plpgsql.so} von
260 Distribution zu Distribution verschiedlich sein kann. Bei
261 Debian/Ubuntu befindet sie sich unter
262 @code{/usr/lib/postgresql/lib/plpgsql.so}, bei Ubuntu 9.10 unter @code{/usr/lib/postgresql/8.4/lib/plpgsql.so}.
263
264
265 @c ---------------------------------------------------------------
266
267 @node Datenbankbenutzer anlegen
268 @section Datenbankbenutzer anlegen
269
270 Wenn Sie nicht den Datenbanksuperuser ``postgres'' zum Zugriff
271 benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
272 anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen können:
273
274 @code{su - postgres
275 @*
276 createuser -d -P lxoffice}
277
278 Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie
279 den evtl. voreingestellten Benutzer ``postgres'' auf ``lxoffice''
280 bzw. den hier gewählten Benutzernamen.
281
282 @c ---------------------------------------------------------------
283
284 @node Apache-Konfiguration
285 @chapter Apache-Konfiguration
286
287 Der Zugriff auf das Programmverzeichnis muss in der Apache
288 Webserverkonfigurationsdatei @code{httpd.conf} eingestellt
289 werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
290 anderen Datei hinzu, die beim Starten des Webservers eingelesen wird:
291
292 @code{@*
293 AddHandler cgi-script .pl
294 @*
295 Alias /lx-erp/ /var/www/lx-erp/
296 @*
297 <Directory /var/www/lx-erp>
298 @*
299   Options ExecCGI Includes FollowSymlinks
300 @*
301 </Directory>
302 @*
303 @*
304 <Directory /var/www/lx-erp/users>
305 @*
306   Order Deny,Allow
307 @*
308   Deny from All
309 @*
310 </Directory>
311 @*
312 }
313
314 Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher das
315 Lx-Office-Archiv entpacket haben.
316
317 Achtung: Vor den einzelnen Optionen muss bei einigen Distributionen ein
318 Plus @samp{+} gesetzt werden.
319
320 Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets
321 nicht ausgeliefert. In solchen Fällen hat es oft geholfen, die
322 folgende Option in die Konfiguration aufzunehmen:
323
324 @code{EnableSendfile Off}
325
326 @c ---------------------------------------------------------------
327
328 @node Benutzerauthentifizierung und Administratorpasswort
329 @chapter Benutzerauthentifizierung und Administratorpasswort
330
331 Informationen über die Einrichtung der Benutzerauthentifizierung, über
332 die Verwaltung von Gruppen und weitere Einstellungen
333
334 @menu
335 * Grundlagen zur Benutzerauthentifizierung:: Verfügbare Methoden, Name der Konfigurationsdatei
336 * Administratorpasswort:: Wo das Administratorpasswort gesetzt werden kann
337 * Authentifizierungsdatenbank:: Verbindungseinstellungen zur Authentifizierungsdatenbank
338 * Passwortüberprüfung:: Einstellungen zur Überprüfung der Benutzerpasswörter
339 * Name des Session-Cookies:: Ändern des Cookie-Namens bei Verwendung mehrerer Lx-Office-Installationen auf einem Server
340 * Anlegen der Authentifizierungsdatenbank:: Wie die Authentifizierungsdatenbank angelegt wird
341 @end menu
342
343 @c ---------------------------------------------------------------
344
345 @node Grundlagen zur Benutzerauthentifizierung
346 @section Grundlagen zur Benutzerauthentifizierung
347
348 Lx-Office verwaltet die Benutzerinformationen in einer Datenbank, die
349 im folgenden ``Authentifizierungsdatenbank'' genannt wird. Für jeden
350 Benutzer kann dort eine eigene Datenbank für die eigentlichen
351 Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen
352 aber nicht unterschiedlich sein.
353
354 Im einfachsten Fall gibt es für Lx-Office nur eine einzige Datenbank,
355 in der sowohl die Benutzerinformationen als auch die Daten abgelegt
356 werden.
357
358 Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
359 entweder gegen die Authentifizierungsdatenbank oder gegen einen
360 LDAP-Server überprüft werden.
361
362 Welche Art der Passwortüberprüfung Lx-Office benutzt und wie Lx-Office
363 die Authentifizierungsdatenbank erreichen kann, wird in der
364 Konfigurationsdatei @code{config/authentication.pl} festgelegt. Diese
365 muss bei der Installation und bei einem Upgrade von einer Version vor
366 v2.6.0 angelegt werden. Eine Beispielkonfigurationsdatei
367 @code{config/authentication.pl.default} existiert, die als Vorlage
368 benutzt werden kann.
369
370 @node Administratorpasswort
371 @section Administratorpasswort
372
373 Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt wird,
374 wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort und nicht
375 mehr im Administrationsinterface selber geändert werden. Der Parameter dazu
376 heißt @code{$self->@{admin_password@}}.
377
378 @node Authentifizierungsdatenbank
379 @section Authentifizierungsdatenbank
380
381 Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern
382 in @code{$self->@{DB_config@}} konfiguriert. Hier sind die folgenden
383 Parameter anzugeben:
384
385 @itemize
386 @item
387 @samp{host} -- Der Rechnername oder die IP-Adresse des Datenbankservers
388 @item
389 @samp{port} -- Die Portnummer des Datenbankservers, meist 5432
390 @item
391 @samp{db} -- Der Name der Authentifizierungsdatenbank
392 @item
393 @samp{user} -- Der Benutzername, mit dem sich Lx-Office beim Datenbankserver anmeldet (z.B. ``postgres'')
394 @item
395 @samp{password} -- Das Passwort für den Datenbankbenutzer
396 @end itemize
397
398 Die Datenbank muss noch nicht existieren. Lx-Office kann sie
399 automatisch anlegen (mehr dazu siehe unten).
400
401 @node Passwortüberprüfung
402 @section Passwortüberprüfung
403
404 Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die
405 Authentifizierungsdatenbank und gegen einen externen LDAP- oder
406 Active-Directory-Server. Welche davon benutzt wird, regelt der
407 Parameter @code{$self->@{module@}}.
408
409 Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
410 gespeichert werden, so muss der Parameter @code{$self->@{module@}} den
411 Wert @samp{DB} enthalten. In diesem Fall können sowohl der
412 Administrator als auch die Benutzer selber ihre Psaswörter in
413 Lx-Office ändern.
414
415 Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt
416 werden, so muss der Parameter @code{$self->@{module@}} auf @samp{LDAP}
417 gesetzt werden. In diesem Fall müssen zusätzliche Informationen über
418 den LDAP-Server in @code{$self->@{LDAP_config@}} angegeben werden:
419
420 @itemize
421 @item
422 @samp{host} -- Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend erforderlich.
423 @item
424 @samp{port} -- Die Portnummer des LDAP-Servers; meist 389.
425 @item
426 @samp{tls} -- Wenn Verbindungsverschlüsselung gewünscht ist, so diesen Wert auf @samp{1} setzen, andernfalls auf @samp{0} belassen
427 @item
428 @samp{attribute} -- Das LDAP-Attribut, in dem der Benutzername steht, den der Benutzer eingegeben hat. Für Active-Directory-Server
429   ist dies meist @samp{sAMAccountName}, für andere LDAP-Server hingegen @samp{uid}. Diese Angabe ist zwingend erforderlich.
430 @item
431 @samp{base_dn} -- Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich.
432 @item
433 @samp{filter} -- Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort @code{<%login%>}, so wird dieses durch den vom Benutzer
434   eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum nach einem Element durchsucht, bei dem das oben angegebene Attribut
435   mit dem Benutzernamen identisch ist.
436 @item
437 @samp{bind_dn} und @samp{bind_password} -- Wenn der LDAP-Server eine Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist dies bei
438   Active-Directory-Servern der Fall), so kann diese hier angegeben werden. Für Active-Directory-Server kann als @samp{bind_dn} entweder eine
439   komplette LDAP-DN wie z.B. @samp{cn=Martin Mustermann,cn=Users,dc=firmendomain} auch nur der volle Name des Benutzers
440   eingegeben werden; in diesem Beispiel also @samp{Martin Mustermann}.
441 @end itemize
442
443 @node Name des Session-Cookies
444 @section Name des Session-Cookies
445
446 Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt
447 werden, so müssen die Namen der Session-Cookies für alle
448 Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
449 Parameter @code{$self->@{cookie_name@}} gesetzt.
450
451 Diese Angabe ist optional, wenn nur eine Installation auf dem Server
452 existiert.
453
454 @node Anlegen der Authentifizierungsdatenbank
455 @section Anlegen der Authentifizierungsdatenbank
456
457 Nachdem alle Einstellungen in @code{config/authentication.pl}
458 vorgenommen wurden, muss Lx-Office die Authentifizierungsdatenbank
459 anlegen. Dieses geschieht automatisch, wenn Sie sich im
460 Administrationsmodul anmelden, das unter der folgenden URL erreichbar
461 sein sollte:
462
463 @uref{http://localhost/lx-erp/admin.pl}
464
465
466 @c ---------------------------------------------------------------
467
468 @node Benutzer- und Gruppenverwaltung
469 @chapter Benutzer- und Gruppenverwaltung
470
471 Nach der Installation müssen Benutzer, Gruppen und Datenbanken
472 angelegt werden.  Dieses geschieht im Administrationsmenü, das Sie
473 unter folgender URL finden:
474
475 @uref{http://localhost/lx-erp/admin.pl}
476
477 Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
478 @code{config/authentication.pl} eingetragen haben.
479
480 @menu
481 * Zusammenhänge:: Übersicht über Benutzer, Gruppen, Berechtigungen und Datenbanken
482 * Datenbanken anlegen:: Hinweise zum Anlegen von Datenbanken
483 * Gruppen anlegen:: Hinweise zum Anlegen von Gruppen
484 * Benutzer anlegen:: Hinweise zum Anlegen von Benutzern
485 * Gruppenmitgliedschaften verwalten:: Wie man Gruppen Benutzer zuordnet
486 * Migration alter Installationen:: Automatische Übernahme bei Update von einer älteren Version
487 @end menu
488
489 @node Zusammenhänge
490 @section Zusammenhänge
491
492 Lx-Office verwendet eine Datenbank zum Speichern all seiner
493 Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
494 mit Lx-Office arbeiten zu können, muss eine Person einen
495 Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
496 Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
497 möglich und normal, dass mehreren Benutzern die selbe Datenbank
498 zugewiesen wird, sodass sie alle mit den selben Daten arbeiten können.
499
500 Die Basisdaten der Benutzer, die in der Administration eingegeben
501 werden können, werden in einer zweiten Datenbank gespeichert, der
502 bereits erwähnten Authentifizierungsdatenbank. Diese ist also den
503 Produktivdaten enthaltenden Datenbanken vorgeschaltet. Pro
504 Lx-Office-Installation gibt es nur eine Authentifizierungsdatenbank,
505 aber beliebig viele Datenbanken mit Firmendaten.
506
507 Lx-Office kann seinen Benutzern Zugriff auf bestimmte
508 Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
509 gestattet, so werden der entsprechenden Menüpunkte auch nicht
510 angezeigt. Diese Rechte werden ebenfalls in der
511 Authentifizierungsdatenbank gespeichert.
512
513 Um Rechte verteilen zu können, verwendet Lx-Office ein
514 Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
515 erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
516 mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
517 Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
518 Benutzer Mitglied ist.
519
520 Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und Benutzer
521 angelegt werden sollten, lautet:
522
523 @enumerate
524 @item
525 Datenbank anlegen
526 @item
527 Gruppen anlegen
528 @item
529 Benutzer anlegen
530 @item
531 Benutzer den Gruppen zuordnen
532 @end enumerate
533
534 @node Datenbanken anlegen
535 @section Datenbanken anlegen
536
537 Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für den
538 Datenbankzugriff den vorhin angelegten Benutzer (in unseren Beispielen
539 ist dies @samp{lxoffice}).
540
541 Wenn Sie für die Lx-Office-Installation nicht den europäischen
542 Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
543 müssen Sie vor dem Anlegen der Datenbank in der Datei
544 @code{config/lx-erp.conf} die Variable @code{$dbcharset} auf den Wert
545 @samp{UTF-8} setzen. Zusätzlich muss beim Anlegen der Datenbank
546 @samp{UTF-8 Unicode} als Schriftsatz ausgewählt werden.
547
548 Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
549 verwenden müssen, da diese Einstellungen momentan global in Lx-Office
550 vorgenommen wird und nicht nach Datenbank unterschieden werden
551 kann. Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
552 angelegt worden sein.
553
554 @node Gruppen anlegen
555 @section Gruppen anlegen
556
557 Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein Name
558 gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
559 Anlegen können Sie die verschiedenen Bereiche wählen, auf die
560 Mitglieder dieser Gruppe Zugriff haben sollen.
561
562 Benutzergruppen sind unabhängig von Datenbanken, da sie in der
563 Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
564 Datenbanken, die in dieser Installation verwaltet werden.
565
566 @node Benutzer anlegen
567 @section Benutzer anlegen
568
569 Beim Anlegen von Benutzern werden für viele Parameter
570 Standardeinstellungen vorgenommen, die den Gepflogenheiten des
571 deutschen Raumes entsprechen.
572
573 Zwingend anzugeben sind der Loginname sowie die komplette
574 Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
575 Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
576 gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
577 aktiv, so ist das Passwort-Feld deaktiviert.
578
579 In der Datenbankkonfiguration müssen die Zugriffsdaten einer der eben
580 angelegten Datenbanken eingetragen werden.
581
582 @node Gruppenmitgliedschaften verwalten
583 @section Gruppenmitgliedschaften verwalten
584
585 Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den Gruppen
586 zugewiesen werden. Dazu gibt es zwei Möglichkeiten:
587
588 @enumerate
589 @item
590 In der Gruppenverwaltung wählt man eine Gruppe aus. Im folgenden
591 Dialog kann man dann einzeln die Benutzer der Gruppe hinzufügen.
592 @item
593 In der Gruppenverwaltung wählt man das Tool zur Verwaltung der
594 Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die alle im
595 System angelegten Gruppen und Benutzer enthält. Durch Setzen der
596 Häkchen wird der Benutzer in der ausgewählten Zeile der Gruppe in der
597 ausgewählten Spalte hinzugefügt.
598 @end enumerate
599
600 @node Migration alter Installationen
601 @section Migration alter Installationen
602
603 Wenn Lx-Office 2.6.1 über eine ältere Version installiert wird, in der
604 die Benutzerdaten noch im Dateisystem im Verzeichnis @code{users}
605 verwaltet wurden, so bietet Lx-Office die Möglichkeit, diese
606 Benutzerdaten automatisch in die Authentifizierungsdatenbank zu
607 übernehmen. Dies geschieht, wenn man sich nach dem Update der
608 Installation das erste Mal im Administrationsbereich anmeldet. Findet
609 Lx-Office die Datei @code{users/members}, so wird der
610 Migrationsprozess gestartet.
611
612 Der Migrationsprozess ist nahezu vollautomatisch. Alle Benutzerdaten
613 können übernommen werden. Nach den Benutzerdaten bietet Lx-Office noch
614 die Möglichkeit an, dass automatisch eine Benutzergruppe angelegt
615 wird. Dieser Gruppe wird Zugriff auf alle Funktionen von Lx-Office
616 gewährt. Alle migrierten Benutzern werden Mitglied in dieser
617 Gruppe. Damit wird das Verhalten von Lx-Office bis Version 2.4.3
618 inklusive wiederhergestellt, und die Benutzer können sich sofort
619 wieder anmelden und mit dem System arbeiten.
620
621 @c ---------------------------------------------------------------
622
623 @node OpenDocument-Vorlagen
624 @chapter OpenDocument-Vorlagen
625
626 Lx-Office unterstützt die Verwendung von Vorlagen im
627 OpenDocument-Format, wie es OpenOffice.org ab Version 2
628 erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als
629 auch aus diesen direkt PDF-Dateien erzeugen.  Um die Unterstützung von
630 OpenDocument-Vorlagen zu aktivieren muss in der Datei
631 @code{config/lx-erp.conf} die Variable @code{$opendocument_templates}
632 auf @samp{1} stehen.  Dieses ist die Standardeinstellung.
633
634 Weiterhin muss in der Datei @code{config/lx-erp.conf} die Variable
635 @code{$dbcharset} auf die Zeichenkodierung gesetzt werden, die auch
636 bei der Speicherung der Daten in der Datenbank verwendet wird. Diese
637 ist in den meisten Fällen "ISO-8859-15".
638
639 Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
640 weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
641 OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
642 neben OpenOffice.org ab Version 2 auch der ``X virtual frame buffer''
643 (xvfb) installiert werden.  Bei Debian ist er im Paket ``xvfb''
644 enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
645
646 Nach der Installation müssen in der Datei @code{config/lx-erp.conf}
647 zwei weitere Variablen angepasst werden:
648 @code{$openofficeorg_writer_bin} muss den vollständigen Pfad zur
649 OpenOffice.org Writer-Anwendung enthalten.  @code{$xvfb_bin} muss den
650 Pfad zum ``X virtual frame buffer'' enthalten.
651
652 Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
653 OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
654 die Variable @code{$openofficeorg_daemon} gesetzt ist, startet ein
655 OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
656 bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
657 benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
658 reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
659 werden muss. Der Nachteil ist, dass diese Methode Python und die
660 Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 sind.
661
662 Ist @code{$openofficeorg_daemon} nicht gesetzt, so wird für jedes
663 Dokument OpenOffice neu gestartet und die Konvertierung mit Hilfe
664 eines Makros durchgeführt. Dieses Makro muss in der Dokumentenvorlage
665 enthalten sein und ``Standard.Conversion.ConvertSelfToPDF()''
666 heißen. Die Beispielvorlage @samp{templates/German-invoice.odt}
667 enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
668 ebenfalls enthalten sein muss.
669
670 Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
671 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter
672 Debian ist dies momentan @code{~/.openoffice.org2}. Sollte der Name
673 bei Ihrer OpenOffice.org-Installation anders sein, so muss das
674 Verzeichnis @code{users/.openoffice.org2} entsprechend umbenannt
675 werden. Ist der Name z.B. einfach nur @code{.openoffice}, so wäre
676 folgender Befehl auszuführen:
677
678 @code{mv users/.openoffice.org2 users/.openoffice}
679
680 Dieses Verzeichnis, wie auch das komplette @code{users}-Verzeichnis,
681 muss vom Webserver beschreibbar sein. Dieses wurde in Schritt
682 @code{Installation des Programmpakets} oben bereits erledigt, kann
683 aber erneut überprüft werden, wenn die Konvertierung nach PDF
684 fehlschlägt.
685
686 @c ---------------------------------------------------------------
687
688 @node Lx-Office ERP verwenden
689 @chapter Lx-Office ERP verwenden
690
691 Nach erfolgreicher Installation ist der Loginbildschirm unter
692 folgender URL erreichbar:
693
694 @uref{http://localhost/lx-office-erp/login.pl}
695
696 Die Administrationsseite erreichen Sie unter:
697
698 @uref{http://localhost/lx-office-erp/admin.pl}
699
700 @bye