Class::Accessor entfernt.
[kivitendo-erp.git] / doc / INSTALL.txt
1 Inhaltsverzeichnis
2 ******************
3
4 Inhalt der Anleitung
5 1 Aktuelle Hinweise
6 2 Benötigte Software und Pakete
7   2.1 Betriebssystem
8   2.2 Pakete
9 3 Manuelle Installation des Programmpaketes
10 4 Anpassung der PostgreSQL-Konfiguration
11   4.1 Zeichensätze/die Verwendung von UTF-8
12   4.2 Änderungen an Konfigurationsdateien
13   4.3 Erweiterung für servergespeicherte Prozeduren
14   4.4 Datenbankbenutzer anlegen
15 5 Apache-Konfiguration
16 6 Der Task-Server
17   6.1 Verfügbare und notwendige Konfigurationsoptionen
18   6.2 Automatisches Starten des Task-Servers beim Booten
19     6.2.1 SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)
20     6.2.2 Upstart-basierende Systeme (z.B. Ubuntu)
21   6.3 Wie der Task-Server gestartet und beendet wird
22 7 Benutzerauthentifizierung und Administratorpasswort
23   7.1 Grundlagen zur Benutzerauthentifizierung
24   7.2 Administratorpasswort
25   7.3 Authentifizierungsdatenbank
26   7.4 Passwortüberprüfung
27   7.5 Name des Session-Cookies
28   7.6 Anlegen der Authentifizierungsdatenbank
29 8 Benutzer- und Gruppenverwaltung
30   8.1 Zusammenhänge
31   8.2 Datenbanken anlegen
32   8.3 Gruppen anlegen
33   8.4 Benutzer anlegen
34   8.5 Gruppenmitgliedschaften verwalten
35   8.6 Migration alter Installationen
36 9 Drucken mit Lx-Office
37 10 OpenDocument-Vorlagen
38 11 Lx-Office ERP verwenden
39
40
41 Inhalt der Anleitung
42 ********************
43
44 1 Aktuelle Hinweise
45 *******************
46
47 Aktuelle Installations- und Konfigurationshinweise gibt es:
48
49    * auf der Lx-Office Homepage unter
50      `http://lx-office.org/index.php?id=dokumentation'
51
52    * im Lx-Office-Wiki unter Dokumentation
53      (`http://wiki.lx-office.org/index.php/Lx-Office_ERP')
54
55    * im Lx-Office-Forum: `http://www.lx-office.org/forum/'
56
57 2 Benötigte Software und Pakete
58 ********************************
59
60 2.1 Betriebssystem
61 ==================
62
63 Lx-Office ist für Linux konzipiert, und sollte auf jedem unixoiden
64 Betriebssystem zum Laufen zu kriegen sein. Getestet ist diese Version im
65 speziellen auf Debian und Ubuntu, grundsätzlich wurde bei der Auswahl
66 der Pakete aber darauf Rücksicht genommen, dass es ohne große Probleme
67 auf den derzeit aktuellen verbreiteten Distributionen läuft.
68
69    Anfang 2011 sind das folgende Systeme:
70
71    * Ubuntu 8.04 LTS Hardy Heron
72
73    * Ubuntu 9.10 Karmic Koala
74
75    * Ubuntu 10.04 Lucid Lynx
76
77    * Ubuntu 10.10 Maverick Meerkat
78
79    * Debian 5.0 Lenny
80
81    * Debian 6.0 Squeeze
82
83    * openSUSE 11.2
84
85    * openSUSE 11.3
86
87    * SuSE Linux Enterprice Server 11
88
89    * Fedora 13
90
91    * Fedora 14
92
93    Für die debianoiden Betriebssysteme existiert ein .deb, das deutlich
94 einfacher zu installieren ist.
95
96    Ubuntu 8.04 LTS hat zusätzlich die Schwierigkeit, dass die Module im
97 Archiv recht alt sind, und das viele der benötigten Module nicht
98 einfach zu installieren sind. Dafür sollte es kurz nach dem Release ein
99 eigenes .deb geben.
100
101    Alternativ dazu kann die normale Installation durchgeführt werden
102 (*note Manuelle Installation des Programmpaketes::), wenn vorher ein
103 Kompatibilitätspaket installiert wird, das die fehlenden Pakete
104 bereitstellt.  Das Paket ist auf Sourceforge
105 (https://sourceforge.net/projects/lx-office/files/Lx-Office%20ERP/2.6.2/)
106 unter dem Namen `lx-erp-perl-libs-compat-v2.tar.gz' hinterlegt.
107
108    Zur Installation das Paket in das entpackte Lx-Office Verzeichnis
109 entpacken:
110
111    `tar xzf lx-erp-perl-libs-compat-v2.tar.gz /path/to/lx-office/'
112
113    Zusätzlich müssen dann noch die folgenden Pakete installiert weerden
114
115    `libbit-vector-perl libsub-exporter-perl libclone-perl
116 libclass-factory-util-perl'
117
118    Danach sollte der Installationscheck (*note Pakete::) die
119 enthaltenen Pakete erkennen.
120
121 2.2 Pakete
122 ==========
123
124 Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache)
125 und ein Datenbankserver (PostgreSQL, mindestens v8.2) benötigt.
126
127    Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht
128 Bestandteil einer Standard-Perl-Installation sind:
129
130    * parent
131
132    * Archive::Zip
133
134    * Config::Std
135
136    * DateTime
137
138    * DBI
139
140    * DBD::Pg
141
142    * Email::Address
143
144    * List::MoreUtils
145
146    * Params::Validate
147
148    * PDF::API2
149
150    * Rose::Object
151
152    * Rose::DB
153
154    * Rose::DB::Object
155
156    * Template
157
158    * Text::CSV_XS
159
160    * Text::Iconv
161
162    * URI
163
164    * XML::Writer
165
166    * YAML
167
168    Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete hinzugekommen,
169 `URI' und `XML::Writer' sind notwendig. Ohne startet Lx-Office nicht.
170
171    Gegenüber Version 2.6.1 sind `parent', `DateTime', `Rose::Object',
172 `Rose::DB' und `Rose::DB::Object' neu hinzugekommen. `IO::Wrap' wurde
173 entfernt.
174
175    `Email::Address' und `List::MoreUtils' sind schon länger feste
176 Abhängigkeiten, wurden aber bisher mit Lx-Office mitgeliefert.  Beide
177 sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
178 zukünftigen Version aber aus dem Paket entfernt werden. Es wird
179 empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
180 installieren.
181
182    Die zu installierenden Pakete können in den verschiedenen
183 Distributionen unterschiedlich heißen.
184
185    Für Debian oder Ubuntu benötigen Sie diese Pakete:
186
187    `apache2 postgresql libparent-perl libarchive-zip-perl
188 libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl
189 libemail-address-perl liblist-moreutils-perl libpdf-api2-perl
190 librose-object-perl librose-db-perl librose-db-object-perl
191 libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl
192 libxml-writer-perl libyaml-perl libconfig-std-perl
193 libparams-validate-perl'
194
195    Für Fedora Core benötigen Sie diese Pakete:
196
197    `httpd postgresql-server perl-parent perl-DateTime perl-DBI
198 perl-DBD-Pg perl-Email-Address perl-List-MoreUtils perl-PDF-API2
199 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object perl-Template-Toolkit
200 perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML'
201
202    Für OpenSuSE benötigen Sie diese Pakete:
203
204    `apache2 postgresql-server perl-Archive-Zip perl-DateTime perl-DBI
205 perl-DBD-Pg perl-MailTools perl-List-MoreUtils perl-PDF-API2
206 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI
207 perl-XML-Writer perl-YAML'
208
209    Bei openSuSE 11 ist `parent' bereits enthalten, und braucht nicht
210 nachinstalliert werden. Die `Rose::*' Pakete sind derzeit nicht für
211 SuSE gepackt, und müssen anderweitig nachinstalliert werden.
212
213    Lx-Office enthält ein Script, mit dem überprüft werden kann, ob alle
214 benötigten Perl-Module installiert sind. Der Aufruf lautet wie folgt:
215
216    `./scripts/installation_check.pl'
217
218 3 Manuelle Installation des Programmpaketes
219 *******************************************
220
221 Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.2.tgz) wird im
222 Dokumentenverzeichnis des Webservers (z.B. `/var/www/html/',
223 `/srv/www/htdocs' oder `/var/www/') entpackt:
224
225    `cd /var/www
226 tar xvzf lxoffice-erp-2.6.2.tgz'
227
228    Verändern Sie evtl. noch den Namen des Verzeichnisses mit
229
230    `mv lxoffice-erp/ lx-erp/'
231
232    Alternativ können Sie auch einen Alias in der Webserverkonfiguration
233 benutzen, um auf das tatsächliche Installationsverzeichnis zu verweisen.
234
235    Die Verzeichnisse `users', `spool' und `webdav' müssen für den
236 Benutzer beschreibbar sein, unter dem der Webserver läuft. Die
237 restlichen Dateien müssen für diesen Benutzer lesbar sein. Der
238 Benutzername ist bei verschiedenen Distributionen unterschiedlich (z.B.
239 bei Debian/Ubuntu `www-data', bei Fedora core `apache' oder bei
240 OpenSuSE `wwwrun').
241
242    Der folgende Befehl ändert den Besitzer für die oben genannten
243 Verzeichnisse auf einem Debian/Ubuntu-System:
244
245    `chown -R www-data lx-office-erp/users lx-office-erp/spool
246 lx-office-erp/webdav'
247
248    Weiterhin muss der Webserver-Benutzer im Verzeichnis `templates'
249 Verzeichnisse für jeden neuen Benutzer, der in lx-office angelegt wird,
250 anlegen dürfen:
251
252    `chgrp www-data lx-office-erp/templates; chmod g+w
253 lx-office-erp/templates'
254
255 4 Anpassung der PostgreSQL-Konfiguration
256 ****************************************
257
258 PostgreSQL muss auf verschiedene Weisen angepasst werden.
259
260 4.1 Zeichensätze/die Verwendung von UTF-8
261 ==========================================
262
263 Lx-Office kann komplett mit UTF-8 als Zeichensatz verwendet werden.
264 Dabei gibt es zwei Punkte zu beachten: PostgreSQL muss in Version 8.0
265 oder neuer benutzt werden, und der PostgreSQL-Datenbankcluster muss
266 ebenfalls mit UTF-8 als Locale angelegt worden sein.
267
268    Dieses ist kann überprüft werden: ist das Encoding der Datenbank
269 "template1" "UTF8", so kann auch Lx-Office mit UTF-8 betrieben werden.
270 Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
271 UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
272 Ubuntu kann dies z.B. mit dem folgenden Befehl getan werden:
273
274    `pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2
275 clustername'
276
277    Die Datenbankversionsnummer muss an die tatsächlich verwendete
278 Versionsnummer angepasst werden.
279
280    Unter anderen Distributionen gibt es ähnliche Methoden.
281
282    Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und ist
283 ein Neuanlegen eines weiteren Clusters nicht möglich, so kann Lx-Office
284 mit ISO-8859-15 als Encoding betrieben werden.
285
286    Das Encoding einer Datenbank kann in `psql' mit `\l' geprüft werden.
287
288 4.2 Änderungen an Konfigurationsdateien
289 ========================================
290
291 In der Datei `postgresql.conf', die je nach Distribution in
292 verschiedenen Verzeichnissen liegen kann (z.B. `/var/lib/pgsql/data/'
293 oder `/etc/postgresql/', muss sichergestellt werden, dass
294 TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
295 Parameter `listen_address' gesteuert. Laufen PostgreSQL und Lx-Office
296 auf demselben Rechner, so kann dort der Wert `localhost' verwendet
297 werden. Andernfalls müssen Datenbankverbindungen auch von anderen
298 Rechnern aus zugelassen werden, was mit dem Wert \`*' geschieht.
299
300    In der Datei `pg_hba.conf', die im gleichen Verzeichnis wie die
301 `postgresql.conf' zu finden sein sollte, müssen die Berichtigungen für
302 den Zugriff geändert werden. Hier gibt es mehrere Möglichkeiten. Eine
303 besteht darin, lokale Verbindungen immer zuzulassen
304
305    `local all all trust
306 host all all 127.0.0.1 255.0.0.0 trust'
307
308    Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort
309 zuzulassen. Beispielsweise:
310
311    `local   all         lxoffice
312   password
313 host    all         lxoffice      127.0.0.1         255.255.255.255
314 password'
315
316 4.3 Erweiterung für servergespeicherte Prozeduren
317 ==================================================
318
319 In der Datenbank `template1' muss die Unterstützung für
320 servergespeicherte Prozeduren eingerichet werden. Melden Sie sich dafür
321 als Benutzer "postgres" an der Datenbank an, und führen Sie die
322 folgenden Kommandos aus:
323
324    `create language 'plpgsql';'
325
326    Achtung: In älteren Postgresversionen (vor 8.0) muss der Handler für
327 die Sprache manuell anlelegt werden, diese Versionen werden aber nicht
328 mehr offiziell von Lx-Office unterstützt. Dafür dann die folgenden
329 Kommandos:
330
331    `create function plpgsql_call_handler () returns opaque as
332 '/usr/lib/pgsql/plpgsql.so' language 'c';
333 create language 'plpgsql' handler plpgsql_call_handler lancompiler
334 'pl/pgsql';'
335
336    Bitte beachten Sie, dass der Pfad zur Datei `plpgsql.so' von
337 Distribution zu Distribution verschiedlich sein kann. Bei Debian/Ubuntu
338 befindet sie sich unter `/usr/lib/postgresql/lib/plpgsql.so'.
339
340 4.4 Datenbankbenutzer anlegen
341 =============================
342
343 Wenn Sie nicht den Datenbanksuperuser "postgres" zum Zugriff benutzen
344 wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer anlegen. Ein
345 Beispiel, wie Sie einen neuen Benutzer anlegen können:
346
347    `su - postgres
348 createuser -d -P lxoffice'
349
350    Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie
351 den evtl. voreingestellten Benutzer "postgres" auf "lxoffice" bzw. den
352 hier gewählten Benutzernamen.
353
354 5 Apache-Konfiguration
355 **********************
356
357 Hinweis: Für einen deutlichen Performanceschub sorgt die Ausführung
358 mittels FCGI. Die Einrichtung wird ausführlich in der Datei
359 `INSTALL.fcgi' beschrieben.
360
361    Der Zugriff auf das Programmverzeichnis muss in der Apache
362 Webserverkonfigurationsdatei `httpd.conf' eingestellt werden. Fügen Sie
363 den folgenden Abschnitt dieser Datei oder einer anderen Datei hinzu,
364 die beim Starten des Webservers eingelesen wird:
365
366    `
367 AddHandler cgi-script .pl
368 Alias /lx-erp/ /var/www/lx-erp/
369 <Directory /var/www/lx-erp>
370 Options ExecCGI Includes FollowSymlinks
371 </Directory>
372 <Directory /var/www/lx-erp/users>
373 Order Deny,Allow
374 Deny from All
375 </Directory>
376 '
377
378    Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher das
379 Lx-Office-Archiv entpacket haben.
380
381    Achtung: Vor den einzelnen Optionen muss bei einigen Distributionen
382 ein Plus `+' gesetzt werden.
383
384    Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets
385 nicht ausgeliefert. In solchen Fällen hat es oft geholfen, die folgende
386 Option in die Konfiguration aufzunehmen:
387
388    `EnableSendfile Off'
389
390 6 Der Task-Server
391 *****************
392
393 Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
394 regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
395 festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
396 wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
397 benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
398 bekommen.
399
400 6.1 Verfügbare und notwendige Konfigurationsoptionen
401 =====================================================
402
403 Die Konfiguration erfolgt über den Abschnitt `[task_server]' in der
404 Datei `config/lx_office.conf'. Die dort verfügbaren Optionen sind:
405
406    * `login': gültiger Lx-Office-Benutzername, der benutzt wird, um die
407      zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
408      in der Administration angelegt werden. Diese Option muss angegeben
409      werden.
410
411    * `run_as': Wird der Server vom Systembenutzer `root' gestartet, so
412      wechselt er auf den mit `run_as' angegebenen Systembenutzer. Der
413      Systembenutzer muss dieselben Lese- und Schreibrechte haben, wie
414      auch der Webserverbenutzer (siehe *note Manuelle Installation des
415      Programmpaketes::). Daher ist es sinnvoll, hier denselben
416      Systembenutzer einzutragen, unter dem auch der Webserver läuft.
417
418    * `debug': Schaltet Debug-Informationen an und aus.
419
420 6.2 Automatisches Starten des Task-Servers beim Booten
421 ======================================================
422
423 Der Task-Server verhält sich von seinen Optionen her wie ein reguläres
424 SystemV-kompatibles Boot-Script. Außerdem wechselt er beim Starten
425 automatisch in das Lx-Office-Installationsverzeichnis.
426
427    Deshalb ist es möglich, ihn durch Setzen eines symbolischen Links aus
428 einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
429 einzubinden. Da das bei neueren Linux-Distributionen aber nicht
430 zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
431 anstelle eines symbolischen Links verwendet werden können.
432
433 6.2.1 SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)
434 ---------------------------------------------------------------------
435
436 Kopieren Sie die Datei `scripts/boot/system-v/lx-office-task-server'
437 nach `/etc/init.d/lx-office-task-server'. Passen Sie in der kopierten
438 Datei den Pfad zum Task-Server an (Zeile `DAEMON=....'). Binden Sie das
439 Script in den Boot-Prozess ein. Dies ist distributionsabhängig:
440
441    * Debian-basierende Systeme:
442      `update-rc.d lx-office-task-server defaults
443      # Nur bei Debian Squeeze und neuer:
444      insserv lx-office-task-server'
445
446    * OpenSuSE und Fedora Core:
447      `chkconfig --add lx-office-task-server'
448
449    Danach kann der Task-Server mit dem folgenden Befehl gestartet
450 werden: `/etc/init.d/lx-office-task-server start'
451
452 6.2.2 Upstart-basierende Systeme (z.B. Ubuntu)
453 ----------------------------------------------
454
455 Kopieren Sie die Datei
456 `scripts/boot/upstart/lx-office-task-server.conf' nach
457 `/etc/init/lx-office-task-server.conf'. Passen Sie in der kopierten
458 Datei den Pfad zum Task-Server an (Zeile `exec ....').
459
460    Danach kann der Task-Server mit dem folgenden Befehl gestartet
461 werden: `service lx-office-task-server start'
462
463 6.3 Wie der Task-Server gestartet und beendet wird
464 ==================================================
465
466 Der Task-Server wird wie folgt kontrolliert:
467
468    `./scripts/task_server.pl Befehl'
469
470    `Befehl' ist dabei eine der folgenden Optionen:
471
472    * `start' startet eine neue Instanz des Task-Servers. Die Prozess-ID
473      wird innerhalb des `users'-Verzeichnisses abgelegt.
474
475    * `stop' beendet einen laufenden Task-Server.
476
477    * `restart' beendet und startet ihn neu.
478
479    * `status' berichtet, ob der Task-Server läuft.
480
481    Der Task-Server wechselt beim Starten automatisch in das
482 Lx-Office-Installationsverzeichnis.
483
484    Dieselben Optionen können auch für die SystemV-basierenden
485 Runlevel-Scripte benutzt werden (siehe oben).
486
487 7 Benutzerauthentifizierung und Administratorpasswort
488 *****************************************************
489
490 Informationen über die Einrichtung der Benutzerauthentifizierung, über
491 die Verwaltung von Gruppen und weitere Einstellungen
492
493 7.1 Grundlagen zur Benutzerauthentifizierung
494 ============================================
495
496 Lx-Office verwaltet die Benutzerinformationen in einer Datenbank, die
497 im folgenden "Authentifizierungsdatenbank" genannt wird. Für jeden
498 Benutzer kann dort eine eigene Datenbank für die eigentlichen
499 Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen
500 aber nicht unterschiedlich sein.
501
502    Im einfachsten Fall gibt es für Lx-Office nur eine einzige Datenbank,
503 in der sowohl die Benutzerinformationen als auch die Daten abgelegt
504 werden.
505
506    Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
507 entweder gegen die Authentifizierungsdatenbank oder gegen einen
508 LDAP-Server überprüft werden.
509
510    Welche Art der Passwortüberprüfung Lx-Office benutzt und wie
511 Lx-Office die Authentifizierungsdatenbank erreichen kann, wird in der
512 Konfigurationsdatei `config/lx_office.conf' festgelegt. Diese muss bei
513 der Installation und bei einem Upgrade von einer Version vor v2.6.0
514 angelegt werden. Eine Beispielkonfigurationsdatei
515 `config/lx_office.conf.default' existiert, die als Vorlage benutzt
516 werden kann.
517
518 7.2 Administratorpasswort
519 =========================
520
521 Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt
522 wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort
523 und nicht mehr im Administrationsinterface selber geändert werden. Der
524 Parameter dazu heißt `$self->{admin_password}'.
525
526 7.3 Authentifizierungsdatenbank
527 ===============================
528
529 Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern
530 in `$self->{DB_config}' konfiguriert. Hier sind die folgenden Parameter
531 anzugeben:
532
533    * `host' - Der Rechnername oder die IP-Adresse des Datenbankservers
534
535    * `port' - Die Portnummer des Datenbankservers, meist 5432
536
537    * `db' - Der Name der Authentifizierungsdatenbank
538
539    * `user' - Der Benutzername, mit dem sich Lx-Office beim
540      Datenbankserver anmeldet (z.B. "postgres")
541
542    * `password' - Das Passwort für den Datenbankbenutzer
543
544    Die Datenbank muss noch nicht existieren. Lx-Office kann sie
545 automatisch anlegen (mehr dazu siehe unten).
546
547 7.4 Passwortüberprüfung
548 =========================
549
550 Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die
551 Authentifizierungsdatenbank und gegen einen externen LDAP- oder
552 Active-Directory-Server. Welche davon benutzt wird, regelt der
553 Parameter `$self->{module}'.
554
555    Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
556 gespeichert werden, so muss der Parameter `$self->{module}' den Wert
557 `DB' enthalten. In diesem Fall können sowohl der Administrator als auch
558 die Benutzer selber ihre Psaswörter in Lx-Office ändern.
559
560    Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt
561 werden, so muss der Parameter `$self->{module}' auf `LDAP' gesetzt
562 werden. In diesem Fall müssen zusätzliche Informationen über den
563 LDAP-Server in `$self->{LDAP_config}' angegeben werden:
564
565    * `host' - Der Rechnername oder die IP-Adresse des LDAP- oder
566      Active-Directory-Servers. Diese Angabe ist zwingend erforderlich.
567
568    * `port' - Die Portnummer des LDAP-Servers; meist 389.
569
570    * `tls' - Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
571      Wert auf `1' setzen, andernfalls auf `0' belassen
572
573    * `attribute' - Das LDAP-Attribut, in dem der Benutzername steht,
574      den der Benutzer eingegeben hat. Für Active-Directory-Server   ist
575      dies meist `sAMAccountName', für andere LDAP-Server hingegen
576      `uid'. Diese Angabe ist zwingend erforderlich.
577
578    * `base_dn' - Der Abschnitt des LDAP-Baumes, der durchsucht werden
579      soll. Diese Angabe ist zwingend erforderlich.
580
581    * `filter' - Ein optionaler LDAP-Filter. Enthält dieser Filter das
582      Wort `<%login%>', so wird dieses durch den vom Benutzer
583      eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum
584      nach einem Element durchsucht, bei dem das oben angegebene Attribut
585       mit dem Benutzernamen identisch ist.
586
587    * `bind_dn' und `bind_password' - Wenn der LDAP-Server eine
588      Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist
589      dies bei   Active-Directory-Servern der Fall), so kann diese hier
590      angegeben werden. Für Active-Directory-Server kann als `bind_dn'
591      entweder eine   komplette LDAP-DN wie z.B. `cn=Martin
592      Mustermann,cn=Users,dc=firmendomain' auch nur der volle Name des
593      Benutzers   eingegeben werden; in diesem Beispiel also `Martin
594      Mustermann'.
595
596 7.5 Name des Session-Cookies
597 ============================
598
599 Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt
600 werden, so müssen die Namen der Session-Cookies für alle Installationen
601 unterschiedlich sein. Der Name des Cookies wird mit dem Parameter
602 `$self->{cookie_name}' gesetzt.
603
604    Diese Angabe ist optional, wenn nur eine Installation auf dem Server
605 existiert.
606
607 7.6 Anlegen der Authentifizierungsdatenbank
608 ===========================================
609
610 Nachdem alle Einstellungen in `config/lx_office.conf' vorgenommen
611 wurden, muss Lx-Office die Authentifizierungsdatenbank anlegen. Dieses
612 geschieht automatisch, wenn Sie sich im Administrationsmodul anmelden,
613 das unter der folgenden URL erreichbar sein sollte:
614
615    `http://localhost/lx-erp/admin.pl'
616
617 8 Benutzer- und Gruppenverwaltung
618 *********************************
619
620 Nach der Installation müssen Benutzer, Gruppen und Datenbanken angelegt
621 werden.  Dieses geschieht im Administrationsmenü, das Sie unter
622 folgender URL finden:
623
624    `http://localhost/lx-erp/admin.pl'
625
626    Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
627 `config/lx_office.conf' eingetragen haben.
628
629 8.1 Zusammenhänge
630 ==================
631
632 Lx-Office verwendet eine Datenbank zum Speichern all seiner
633 Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
634 mit Lx-Office arbeiten zu können, muss eine Person einen
635 Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
636 Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
637 möglich und normal, dass mehreren Benutzern die selbe Datenbank
638 zugewiesen wird, sodass sie alle mit den selben Daten arbeiten können.
639
640    Die Basisdaten der Benutzer, die in der Administration eingegeben
641 werden können, werden in einer zweiten Datenbank gespeichert, der
642 bereits erwähnten Authentifizierungsdatenbank. Diese ist also den
643 Produktivdaten enthaltenden Datenbanken vorgeschaltet. Pro
644 Lx-Office-Installation gibt es nur eine Authentifizierungsdatenbank,
645 aber beliebig viele Datenbanken mit Firmendaten.
646
647    Lx-Office kann seinen Benutzern Zugriff auf bestimmte
648 Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
649 gestattet, so werden der entsprechenden Menüpunkte auch nicht
650 angezeigt. Diese Rechte werden ebenfalls in der
651 Authentifizierungsdatenbank gespeichert.
652
653    Um Rechte verteilen zu können, verwendet Lx-Office ein
654 Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
655 erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
656 mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
657 Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
658 Benutzer Mitglied ist.
659
660    Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und Benutzer
661 angelegt werden sollten, lautet:
662
663   1. Datenbank anlegen
664
665   2. Gruppen anlegen
666
667   3. Benutzer anlegen
668
669   4. Benutzer den Gruppen zuordnen
670
671 8.2 Datenbanken anlegen
672 =======================
673
674 Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für den
675 Datenbankzugriff den vorhin angelegten Benutzer (in unseren Beispielen
676 ist dies `lxoffice').
677
678    Wenn Sie für die Lx-Office-Installation nicht den europäischen
679 Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
680 müssen Sie vor dem Anlegen der Datenbank in der Datei
681 `config/lx_office.conf' die Variable `dbcharset' im Abschnitt `system'
682 auf den Wert `UTF-8' setzen. Zusätzlich muss beim Anlegen der Datenbank
683 `UTF-8 Unicode' als Schriftsatz ausgewählt werden.
684
685    Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
686 verwenden müssen, da diese Einstellungen momentan global in Lx-Office
687 vorgenommen wird und nicht nach Datenbank unterschieden werden kann.
688 Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
689 angelegt worden sein.
690
691 8.3 Gruppen anlegen
692 ===================
693
694 Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein Name
695 gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
696 Anlegen können Sie die verschiedenen Bereiche wählen, auf die
697 Mitglieder dieser Gruppe Zugriff haben sollen.
698
699    Benutzergruppen sind unabhängig von Datenbanken, da sie in der
700 Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
701 Datenbanken, die in dieser Installation verwaltet werden.
702
703 8.4 Benutzer anlegen
704 ====================
705
706 Beim Anlegen von Benutzern werden für viele Parameter
707 Standardeinstellungen vorgenommen, die den Gepflogenheiten des
708 deutschen Raumes entsprechen.
709
710    Zwingend anzugeben sind der Loginname sowie die komplette
711 Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
712 Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
713 gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
714 aktiv, so ist das Passwort-Feld deaktiviert.
715
716    In der Datenbankkonfiguration müssen die Zugriffsdaten einer der eben
717 angelegten Datenbanken eingetragen werden.
718
719 8.5 Gruppenmitgliedschaften verwalten
720 =====================================
721
722 Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den Gruppen
723 zugewiesen werden. Dazu gibt es zwei Möglichkeiten:
724
725   1. In der Gruppenverwaltung wählt man eine Gruppe aus. Im folgenden
726      Dialog kann man dann einzeln die Benutzer der Gruppe hinzufügen.
727
728   2. In der Gruppenverwaltung wählt man das Tool zur Verwaltung der
729      Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die alle im
730      System angelegten Gruppen und Benutzer enthält. Durch Setzen der
731      Häkchen wird der Benutzer in der ausgewählten Zeile der Gruppe in
732      der ausgewählten Spalte hinzugefügt.
733
734 8.6 Migration alter Installationen
735 ==================================
736
737 Wenn Lx-Office 2.6.2 über eine ältere Version installiert wird, in der
738 die Benutzerdaten noch im Dateisystem im Verzeichnis `users' verwaltet
739 wurden, so bietet Lx-Office die Möglichkeit, diese Benutzerdaten
740 automatisch in die Authentifizierungsdatenbank zu übernehmen. Dies
741 geschieht, wenn man sich nach dem Update der Installation das erste Mal
742 im Administrationsbereich anmeldet. Findet Lx-Office die Datei
743 `users/members', so wird der Migrationsprozess gestartet.
744
745    Der Migrationsprozess ist nahezu vollautomatisch. Alle Benutzerdaten
746 können übernommen werden. Nach den Benutzerdaten bietet Lx-Office noch
747 die Möglichkeit an, dass automatisch eine Benutzergruppe angelegt wird.
748 Dieser Gruppe wird Zugriff auf alle Funktionen von Lx-Office gewährt.
749 Alle migrierten Benutzern werden Mitglied in dieser Gruppe. Damit wird
750 das Verhalten von Lx-Office bis Version 2.4.3 inklusive
751 wiederhergestellt, und die Benutzer können sich sofort wieder anmelden
752 und mit dem System arbeiten.
753
754 9 Drucken mit Lx-Office
755 ***********************
756
757 Das Drucksystem von Lx-Office benutzt von Haus aus LaTeX Vorlagen. Um
758 drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
759 einfachsten ist dazu eine `texlive' Installation. Unter Debianoiden
760 Betriebssystemen sind das die Pakete:
761
762    `texlive-latex-base texlive-latex-extra texlive-fonts-recommended'
763
764    Diese hinteren beiden enthalten Bibliotheken und Schriftarten die
765 von den Standardvorlagen verwendet werden.
766
767    TODO: rpm Pakete.
768
769    In den allermeisten Installationen sollte drucken jetzt schon
770 funktionieren.  Sollte ein Fehler auftreten wirft TeX sehr lange
771 Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
772 die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind
773 zum Beispiel:
774
775    * ! LaTeX Error: File `eurosym.sty' not found.  Die entsprechende
776      LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
777      Vorlagen aus der Community auf. Installieren Sie die
778      entsprechenden Pakete.
779
780    * ! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for use
781      with LaTeX.  Dieser Fehler tritt auf, wenn sie versuchen mit einer
782      Standardinstallation exotische utf8 Zeichen zu drucken. TeXLive
783      unterstützt von Haus nur romanische Schriften und muss mit
784      diversen Tricks dazu gebracht werden andere Zeichen zu
785      akzeptieren. Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.
786
787    Wird garkein Fehler angezeigt sondern nur der Name des Templates,
788 heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
789 Prüfen Sie den Namen in der Konfiguration (Standard: `pdflatex'), und
790 stellen Sie sicher, dass pdflatex (oder das von Ihnen verwendete
791 System) vom Webserver ausgeführt werden darf.
792
793 10 OpenDocument-Vorlagen
794 ************************
795
796 Lx-Office unterstützt die Verwendung von Vorlagen im
797 OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt.
798 Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als auch aus
799 diesen direkt PDF-Dateien erzeugen.  Um die Unterstützung von
800 OpenDocument-Vorlagen zu aktivieren muss in der Datei
801 `config/lx_office.conf' die Variable `opendocument' im Abschnitt
802 `print_templates' auf `1' stehen.  Dieses ist die Standardeinstellung.
803
804    Weiterhin muss in der Datei `config/lx_office.conf' die Variable
805 `dbcharset' im Abschnitt `system' auf die Zeichenkodierung gesetzt
806 werden, die auch bei der Speicherung der Daten in der Datenbank
807 verwendet wird. Diese ist in den meisten Fällen "UTF-8".
808
809    Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
810 weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
811 OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
812 neben OpenOffice.org ab Version 2 auch der "X virtual frame buffer"
813 (xvfb) installiert werden.  Bei Debian ist er im Paket "xvfb"
814 enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
815
816    Nach der Installation müssen in der Datei `config/lx_config.conf'
817 zwei weitere Variablen angepasst werden: `openofficeorg_writer' muss
818 den vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
819 `xvfb' muss den Pfad zum "X virtual frame buffer" enthalten. Beide
820 stehen im Abschnitt `applications'.
821
822    Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
823 OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die
824 Variable `$openofficeorg_daemon' gesetzt ist, startet ein OpenOffice,
825 das auch nach der Umwandlung des Dokumentes gestartet bleibt. Bei
826 weiteren Umwandlungen wird dann diese laufende Instanz benutzt. Der
827 Vorteil ist, dass die Zeit zur Umwandlung deutlich reduziert wird, weil
828 nicht für jedes Dokument ein OpenOffice gestartet werden muss. Der
829 Nachteil ist, dass diese Methode Python und die Python-UNO-Bindings
830 benötigt, die Bestandteil von OpenOffice 2 sind.
831
832    Ist `$openofficeorg_daemon' nicht gesetzt, so wird für jedes
833 Dokument OpenOffice neu gestartet und die Konvertierung mit Hilfe eines
834 Makros durchgeführt. Dieses Makro muss in der Dokumentenvorlage
835 enthalten sein und "Standard.Conversion.ConvertSelfToPDF()" heißen. Die
836 Beispielvorlage `templates/German-invoice.odt' enthält ein solches
837 Makro, das in jeder anderen Dokumentenvorlage ebenfalls enthalten sein
838 muss.
839
840    Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
841 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter Debian
842 ist dies momentan `~/.openoffice.org2'. Sollte der Name bei Ihrer
843 OpenOffice.org-Installation anders sein, so muss das Verzeichnis
844 `users/.openoffice.org2' entsprechend umbenannt werden. Ist der Name
845 z.B. einfach nur `.openoffice', so wäre folgender Befehl auszuführen:
846
847    `mv users/.openoffice.org2 users/.openoffice'
848
849    Dieses Verzeichnis, wie auch das komplette `users'-Verzeichnis, muss
850 vom Webserver beschreibbar sein. Dieses wurde bereits erledigt (*note
851 Manuelle Installation des Programmpaketes::), kann aber erneut überprüft
852 werden, wenn die Konvertierung nach PDF fehlschlägt.
853
854 11 Lx-Office ERP verwenden
855 **************************
856
857 Nach erfolgreicher Installation ist der Loginbildschirm unter folgender
858 URL erreichbar:
859
860    `http://localhost/lx-office-erp/login.pl'
861
862    Die Administrationsseite erreichen Sie unter:
863
864    `http://localhost/lx-office-erp/admin.pl'
865
866
867 \1f
868 Local Variables:
869 coding: utf-8
870 End: