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