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