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