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