Weiteres Perl-Modul zu Installationsanleitung hinzugefügt.
[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 * Änderungen an Konfigurationsdateien:: Anpassungen für Anmeldung am Server und Featureunterstützung
144 * Erweiterung für servergespeicherte Prozeduren:: Lx-Office benutzt servergespeicherte Prozeduren
145 * Datenbankbenutzer anlegen:: Um den Zugriff besser zu reglementieren
146 @end menu
147
148 @node Änderungen an Konfigurationsdateien
149 @section Änderungen an Konfigurationsdateien
150
151 In der Datei @code{postgresql.conf}, die je nach Distribution in
152 verschiedenen Verzeichnissen liegen kann
153 (z.B. @code{/var/lib/pgsql/data/} oder @code{/etc/postgresql/}, muss
154 sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Dieser
155 Parameter lautet
156
157 @code{TCPIP_SOCKET = 1}
158
159 Bei PostgreSQL-Versionen ab v8.0 und neuer muss zusätzlich der
160 folgende Parameter gesetzt werden:
161
162 @code{default_with_oids = on}
163
164 In der Datei @code{pg_hba.conf}, die im gleichen Verzeichnis wie die
165 @code{postgresql.conf} zu finden sein sollte, müssen die
166 Berichtigungen für den Zugriff geändert werden. Hier gibt es mehrere
167 Möglichkeiten. Eine besteht darin, lokale Verbindungen immer
168 zuzulassen
169
170 @code{local all all trust
171 @*
172 host all all 127.0.0.1 255.0.0.0 trust}
173
174 Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort
175 zuzulassen. Beispielsweise:
176
177 @code{local   all         lxoffice                                           password
178 @*
179 host    all         lxoffice      127.0.0.1         255.255.255.255    password}
180
181 @c ---------------------------------------------------------------
182
183 @node Erweiterung für servergespeicherte Prozeduren
184 @section Erweiterung für servergespeicherte Prozeduren
185
186 In der Datenbank @code{template1} muss die Unterstützung für
187 servergespeicherte Prozeduren eingerichet werden. Melden Sie sich
188 dafür als Benutzer ``postgres'' an der Datenbank an, und führen Sie
189 die folgenden Kommandos aus:
190
191 @code{create function plpgsql_call_handler () returns opaque as '/usr/lib/pgsql/plpgsql.so' language 'c';
192 @*
193 create language 'plpgsql' handler plpgsql_call_handler
194 lancompiler 'pl/pgsql';}
195
196 Bitte beachten Sie, dass der Pfad zur Datei @code{plpgsql.so} von
197 Distribution zu Distribution verschiedlich sein kann. Bei
198 Debian/Ubuntu befindet sie sich unter
199 @code{/usr/lib/postgresql/lib/plpgsql.so}.
200
201
202 @c ---------------------------------------------------------------
203
204 @node Datenbankbenutzer anlegen
205 @section Datenbankbenutzer anlegen
206
207 Wenn Sie nicht den Datenbanksuperuser ``postgres'' zum Zugriff
208 benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
209 anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen können:
210
211 @code{su - postgres
212 @*
213 createuser -d -P lxoffice}
214
215 Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie
216 den evtl. voreingestellten Benutzer ``postgres'' auf ``lxoffice''
217 bzw. den hier gewählten Benutzernamen.
218
219 @c ---------------------------------------------------------------
220
221 @node Apache-Konfiguration
222 @chapter Apache-Konfiguration
223
224 Der Zugriff auf das Programmverzeichnis muss in der Apache
225 Webserverkonfigurationsdatei @code{httpd.conf} eingestellt
226 werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
227 anderen Datei hinzu, die beim Starten des Webservers eingelesen wird:
228
229 @code{@*
230 AddHandler cgi-script .pl
231 @*
232 Alias /lx-erp/ /var/www/lx-erp/
233 @*
234 <Directory /var/www/lx-erp>
235 @*
236   Options ExecCGI Includes FollowSymlinks
237 @*
238 </Directory>
239 @*
240 @*
241 <Directory /var/www/lx-erp/users>
242 @*
243   Order Deny,Allow
244 @*
245   Deny from All
246 @*
247 </Directory>
248 @*
249 }
250
251 Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher das
252 Lx-Office-Archiv entpacket haben.
253
254 Achtung: Vor den einzelnen Optionen muss bei einigen Distributionen ein
255 Plus @samp{+} gesetzt werden.
256
257 Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets
258 nicht ausgeliefert. In solchen Fällen hat es oft geholfen, die
259 folgende Option in die Konfiguration aufzunehmen:
260
261 @code{EnableSendfile Off}
262
263 @c ---------------------------------------------------------------
264
265 @node Benutzerauthentifizierung und Administratorpasswort
266 @chapter Benutzerauthentifizierung und Administratorpasswort
267
268 Informationen über die Einrichtung der Benutzerauthentifizierung, über
269 die Verwaltung von Gruppen und weitere Einstellungen
270
271 @menu
272 * Grundlagen zur Benutzerauthentifizierung:: Verfügbare Methoden, Name der Konfigurationsdatei
273 * Administratorpasswort:: Wo das Administratorpasswort gesetzt werden kann
274 * Authentifizierungsdatenbank:: Verbindungseinstellungen zur Authentifizierungsdatenbank
275 * Passwortüberprüfung:: Einstellungen zur Überprüfung der Benutzerpasswörter
276 * Name des Session-Cookies:: Ändern des Cookie-Namens bei Verwendung mehrerer Lx-Office-Installationen auf einem Server
277 * Anlegen der Authentifizierungsdatenbank:: Wie die Authentifizierungsdatenbank angelegt wird
278 @end menu
279
280 @c ---------------------------------------------------------------
281
282 @node Grundlagen zur Benutzerauthentifizierung
283 @section Grundlagen zur Benutzerauthentifizierung
284
285 Lx-Office verwaltet die Benutzerinformationen in einer Datenbank, die
286 im folgenden ``Authentifizierungsdatenbank'' genannt wird. Für jeden
287 Benutzer kann dort eine eigene Datenbank für die eigentlichen
288 Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen
289 aber nicht unterschiedlich sein.
290
291 Im einfachsten Fall gibt es für Lx-Office nur eine einzige Datenbank,
292 in der sowohl die Benutzerinformationen als auch die Daten abgelegt
293 werden.
294
295 Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
296 entweder gegen die Authentifizierungsdatenbank oder gegen einen
297 LDAP-Server überprüft werden.
298
299 Welche Art der Passwortüberprüfung Lx-Office benutzt und wie Lx-Office
300 die Authentifizierungsdatenbank erreichen kann, wird in der
301 Konfigurationsdatei @code{config/authentication.pl} festgelegt. Diese
302 muss bei der Installation und bei einem Upgrade von einer Version vor
303 v2.6.0 angelegt werden. Eine Beispielkonfigurationsdatei
304 @code{config/authentication.pl.default} existiert, die als Vorlage
305 benutzt werden kann.
306
307 @node Administratorpasswort
308 @section Administratorpasswort
309
310 Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt wird,
311 wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort und nicht
312 mehr im Administrationsinterface selber geändert werden. Der Parameter dazu
313 heißt @code{$self->@{admin_password@}}.
314
315 @node Authentifizierungsdatenbank
316 @section Authentifizierungsdatenbank
317
318 Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern
319 in @code{$self->@{DB_config@}} konfiguriert. Hier sind die folgenden
320 Parameter anzugeben:
321
322 @itemize
323 @item
324 @samp{host} -- Der Rechnername oder die IP-Adresse des Datenbankservers
325 @item
326 @samp{port} -- Die Portnummer des Datenbankservers, meist 5432
327 @item
328 @samp{db} -- Der Name der Authentifizierungsdatenbank
329 @item
330 @samp{user} -- Der Benutzername, mit dem sich Lx-Office beim Datenbankserver anmeldet (z.B. ``postgres'')
331 @item
332 @samp{password} -- Das Passwort für den Datenbankbenutzer
333 @end itemize
334
335 Die Datenbank muss noch nicht existieren. Lx-Office kann sie
336 automatisch anlegen (mehr dazu siehe unten).
337
338 @node Passwortüberprüfung
339 @section Passwortüberprüfung
340
341 Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die
342 Authentifizierungsdatenbank und gegen einen externen LDAP- oder
343 Active-Directory-Server. Welche davon benutzt wird, regelt der
344 Parameter @code{$self->@{module@}}.
345
346 Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
347 gespeichert werden, so muss der Parameter @code{$self->@{module@}} den
348 Wert @samp{DB} enthalten. In diesem Fall können sowohl der
349 Administrator als auch die Benutzer selber ihre Psaswörter in
350 Lx-Office ändern.
351
352 Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt
353 werden, so muss der Parameter @code{$self->@{module@}} auf @samp{LDAP}
354 gesetzt werden. In diesem Fall müssen zusätzliche Informationen über
355 den LDAP-Server in @code{$self->@{LDAP_config@}} angegeben werden:
356
357 @itemize
358 @item
359 @samp{host} -- Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend erforderlich.
360 @item
361 @samp{port} -- Die Portnummer des LDAP-Servers; meist 389.
362 @item
363 @samp{tls} -- Wenn Verbindungsverschlüsselung gewünscht ist, so diesen Wert auf @samp{1} setzen, andernfalls auf @samp{0} belassen
364 @item
365 @samp{attribute'} -- Das LDAP-Attribut, in dem der Benutzername steht, den der Benutzer eingegeben hat. Für Active-Directory-Server
366   ist dies meist @samp{sAMAccountName}, für andere LDAP-Server hingegen @samp{uid}. Diese Angabe ist zwingend erforderlich.
367 @item
368 @samp{base_dn} -- Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich.
369 @item
370 @samp{filter} -- Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort @code{<%login%>}, so wird dieses durch den vom Benutzer
371   eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum nach einem Element durchsucht, bei dem das oben angegebene Attribut
372   mit dem Benutzernamen identisch ist.
373 @item
374 @samp{bind_dn} und @samp{bind_password} -- Wenn der LDAP-Server eine Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist dies bei
375   Active-Directory-Servern der Fall), so kann diese hier angegeben werden. Für Active-Directory-Server kann als @samp{bind_dn} entweder eine
376   komplette LDAP-DN wie z.B. @samp{cn=Martin Mustermann,cn=Users,dc=firmendomain} auch nur der volle Name des Benutzers
377   eingegeben werden; in diesem Beispiel also @samp{Martin Mustermann}.
378 @end itemize
379
380 @node Name des Session-Cookies
381 @section Name des Session-Cookies
382
383 Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt
384 werden, so müssen die Namen der Session-Cookies für alle
385 Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
386 Parameter @code{$self->@{cookie_name@}} gesetzt.
387
388 Diese Angabe ist optional, wenn nur eine Installation auf dem Server
389 existiert.
390
391 @node Anlegen der Authentifizierungsdatenbank
392 @section Anlegen der Authentifizierungsdatenbank
393
394 Nachdem alle Einstellungen in @code{config/authentication.pl}
395 vorgenommen wurden, muss Lx-Office die Authentifizierungsdatenbank
396 anlegen. Dieses geschieht automatisch, wenn Sie sich im
397 Administrationsmodul anmelden, das unter der folgenden URL erreichbar
398 sein sollte:
399
400 @uref{http://localhost/lx-erp/admin.pl}
401
402
403 @c ---------------------------------------------------------------
404
405 @node Benutzer- und Gruppenverwaltung
406 @chapter Benutzer- und Gruppenverwaltung
407
408 Nach der Installation müssen Benutzer, Gruppen und Datenbanken
409 angelegt werden.  Dieses geschieht im Administrationsmenü, dass Sie
410 unter folgender URL finden:
411
412 @uref{http://localhost/lx-erp/admin.pl}
413
414 Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
415 @code{config/authentication.pl} eingetragen haben.
416
417 @menu
418 * Zusammenhänge:: Übersicht über Benutzer, Gruppen, Berechtigungen und Datenbanken
419 * Datenbanken anlegen:: Hinweise zum Anlegen von Datenbanken
420 * Gruppen anlegen:: Hinweise zum Anlegen von Gruppen
421 * Benutzer anlegen:: Hinweise zum Anlegen von Benutzern
422 * Gruppenmitgliedschaften verwalten:: Wie man Gruppen Benutzer zuordnet
423 * Migration alter Installationen:: Automatische Übernahme bei Update von einer älteren Version
424 @end menu
425
426 @node Zusammenhänge
427 @section Zusammenhänge
428
429 Lx-Office verwendet eine Datenbank zum Speichern all seiner
430 Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
431 mit Lx-Office arbeiten zu können, muss eine Person einen
432 Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
433 Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
434 möglich und normal, dass mehreren Benutzern die selbe Datenbank
435 zugewiesen wird, sodass sie alle mit den selben Daten arbeiten können.
436
437 Die Basisdaten der Benutzer, die in der Administration eingegeben
438 werden können, werden in einer zweiten Datenbank gespeichert, der
439 bereits erwähnten Authentifizierungsdatenbank. Diese ist also den
440 Produktivdaten enthaltenden Datenbanken vorgeschaltet. Pro
441 Lx-Office-Installation gibt es nur eine Authentifizierungsdatenbank,
442 aber beliebig viele Datenbanken mit Firmendaten.
443
444 Lx-Office lann seinen Benutzern Zugriff auf bestimmte
445 Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
446 gestattet, so werden der entsprechenden Menüpunkte auch nicht
447 angezeigt. Diese Rechte werden ebenfalls in der
448 Authentifizierungsdatenbank gespeichert.
449
450 Um Rechte verteilen zu können, verwendet Lx-Office ein
451 Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
452 erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
453 mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
454 Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
455 Benutzer Mitglied ist.
456
457 Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und Benutzer
458 angelegt werden sollten, lautet:
459
460 @enumerate
461 @item
462 Datenbank anlegen
463 @item
464 Gruppen anlegen
465 @item
466 Benutzer anlegen
467 @item
468 Benutzer den Gruppen zuordnen
469 @end enumerate
470
471 @node Datenbanken anlegen
472 @section Datenbanken anlegen
473
474 Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für den
475 Datenbankzugriff den vorhin angelegten Benutzer (in unseren Beispielen
476 ist dies @samp{lxoffice}).
477
478 Wenn Sie für die Lx-Office-Installation nicht den europäischen
479 Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
480 müssen Sie vor dem Anlegen der Datenbank in der Datei
481 @code{config/lx-erp.conf} die Variable @code{$dbcharset} auf den Wert
482 @samp{UTF-8} setzen. Zusätzlich muss beim Anlegen der Datenbank
483 @samp{UTF-8 Unicode} als Schriftsatz ausgewählt werden.
484
485 Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
486 verwenden müssen, da diese Einstellungen momentan global in Lx-Office
487 vorgenommen wird und nicht nach Datenbank unterschieden werden
488 kann. Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
489 angelegt worden sein.
490
491 @node Gruppen anlegen
492 @section Gruppen anlegen
493
494 Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein Name
495 gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
496 Anlegen können Sie die verschiedenen Bereiche wählen, auf die
497 Mitglieder dieser Gruppe Zugriff haben sollen.
498
499 Benutzergruppen sind unabhängig von Datenbanken, da sie in der
500 Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
501 Datenbanken, die in dieser Installation verwaltet werden.
502
503 @node Benutzer anlegen
504 @section Benutzer anlegen
505
506 Beim Anlegen von Benutzern werden für viele Parameter
507 Standardeinstellungen vorgenommen, die den Gepflogenheiten des
508 deutschen Raumes entsprechen.
509
510 Zwingend anzugeben sind der Loginname sowie die komplette
511 Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
512 Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
513 gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
514 aktiv, so ist das Passwort-Feld deaktiviert.
515
516 In der Datenbankkonfiguration müssen die Zugriffsdaten einer der eben
517 angelegten Datenbanken eingetragen werden.
518
519 @node Gruppenmitgliedschaften verwalten
520 @section Gruppenmitgliedschaften verwalten
521
522 Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den Gruppen
523 zugewiesen werden. Dazu gibt es zwei Möglichkeiten:
524
525 @enumerate
526 @item
527 In der Gruppenverwaltung wählt man eine Gruppe aus. Im folgenden
528 Dialog kann man dann einzeln die Benutzer der Gruppe hinzufügen.
529 @item
530 In der Gruppenverwaltung wählt man das Tool zur Verwaltung der
531 Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die alle im
532 System angelegten Gruppen und Benutzer enthält. Durch Setzen der
533 Häkchen wird der Benutzer in der ausgewählten Zeile der Gruppe in der
534 ausgewählten Spalte hinzugefügt.
535 @end enumerate
536
537 @node Migration alter Installationen
538 @section Migration alter Installationen
539
540 Wenn Lx-Office 2.6.0 über eine ältere Version installiert wird, in der
541 die Benutzerdaten noch im Dateisystem im Verzeichnis @code{users}
542 verwaltet wurden, so bietet Lx-Office die Möglichkeit, diese
543 Benutzerdaten automatisch in die Authentifizierungsdatenbank zu
544 übernehmen. Dies geschieht, wenn man sich nach dem Update der
545 Installation das erste Mal im Administrationsbereich anmeldet. Findet
546 Lx-Office die Datei @code{users/members}, so wird der
547 Migrationsprozess gestartet.
548
549 Der Migrationsprozess ist nahezu vollautomatisch. Alle Benutzerdaten
550 können übernommen werden. Nach den Benutzerdaten bietet Lx-Office noch
551 die Möglichkeit an, dass automatisch eine Benutzergruppe angelegt
552 wird. Dieser Gruppe wird Zugriff auf alle Funktionen von Lx-Office
553 gewährt. Alle migrierten Benutzern werden Mitglied in dieser
554 Gruppe. Damit wird das Verhalten von Lx-Office bis Version 2.4.3
555 inklusive wiederhergestellt, und die Benutzer können sich sofort
556 wieder anmelden und mit dem System arbeiten.
557
558 @c ---------------------------------------------------------------
559
560 @node OpenDocument-Vorlagen
561 @chapter OpenDocument-Vorlagen
562
563 Lx-Office unterstützt die Verwendung von Vorlagen im
564 OpenDocument-Format, wie es OpenOffice.org ab Version 2
565 erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als
566 auch aus diesen direkt PDF-Dateien erzeugen.  Um die Unterstützung von
567 OpenDocument-Vorlagen zu aktivieren muss in der Datei
568 @code{config/lx-erp.conf} die Variable @code{$opendocument_templates}
569 auf @samp{1} stehen.  Dieses ist die Standardeinstellung.
570
571 Weiterhin muss in der Datei @code{config/lx-erp.conf} die Variable
572 @code{$dbcharset} auf die Zeichenkodierung gesetzt werden, die auch
573 bei der Speicherung der Daten in der Datenbank verwendet wird. Diese
574 ist in den meisten Fällen "ISO-8859-15".
575
576 Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
577 weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
578 OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
579 neben OpenOffice.org ab Version 2 auch der ``X virtual frame buffer''
580 (xvfb) installiert werden.  Bei Debian ist er im Paket ``xvfb''
581 enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
582
583 Nach der Installation müssen in der Datei @code{config/lx-erp.conf}
584 zwei weitere Variablen angepasst werden:
585 @code{$openofficeorg_writer_bin} muss den vollständigen Pfad zur
586 OpenOffice.org Writer-Anwendung enthalten.  @code{$xvfb_bin} muss den
587 Pfad zum ``X virtual frame buffer'' enthalten.
588
589 Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
590 OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
591 die Variable @code{$openofficeorg_daemon} gesetzt ist, startet ein
592 OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
593 bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
594 benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
595 reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
596 werden muss. Der Nachteil ist, dass diese Methode Python und die
597 Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 sind.
598
599 Ist @code{$openofficeorg_daemon} nicht gesetzt, so wird für jedes
600 Dokument OpenOffice neu gestartet und die Konvertierung mit Hilfe
601 eines Makros durchgeführt. Dieses Makro muss in der Dokumentenvorlage
602 enthalten sein und ``Standard.Conversion.ConvertSelfToPDF()''
603 heißen. Die Beispielvorlage @samp{templates/German-invoice.odt}
604 enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
605 ebenfalls enthalten sein muss.
606
607 Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
608 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter
609 Debian ist dies momentan @code{~/.openoffice.org2}. Sollte der Name
610 bei Ihrer OpenOffice.org-Installation anders sein, so muss das
611 Verzeichnis @code{users/.openoffice.org2} entsprechend umbenannt
612 werden. Ist der Name z.B. einfach nur @code{.openoffice}, so wäre
613 folgender Befehl auszuführen:
614
615 @code{mv users/.openoffice.org2 users/.openoffice}
616
617 Dieses Verzeichnis, wie auch das komplette @code{users}-Verzeichnis,
618 muss vom Webserver beschreibbar sein. Dieses wurde in Schritt
619 @code{Installation des Programmpakets} oben bereits erledigt, kann
620 aber erneut überprüft werden, wenn die Konvertierung nach PDF
621 fehlschlägt.
622
623 @c ---------------------------------------------------------------
624
625 @node Lx-Office ERP verwenden
626 @chapter Lx-Office ERP verwenden
627
628 Nach erfolgreicher Installation ist der Loginbildschirm unter
629 folgender URL erreichbar:
630
631 @uref{http://localhost/lx-office-erp/login.pl}
632
633 Die Administrationsseite erreichen Sie unter:
634
635 @uref{http://localhost/lx-office-erp/admin.pl}
636
637 @bye