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