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