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