+@node Der Task-Server
+@chapter Der Task-Server
+
+Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
+regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese
+zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser
+Prozess wird bisher nur für die Erzeugung der wiederkehrenden
+Rechnungen benutzt, wird aber in Zukunft deutlich mehr Aufgaben
+übertragen bekommen.
+
+@menu
+* Konfiguration des Task-Servers:: Verfügbare und notwendige Konfigurationsoptionen
+* Prozesskontrolle:: Wie der Task-Server gestartet und beendet wird
+* Einbinden in den Boot-Prozess:: Automatisches Starten des Task-Servers beim Booten
+@end menu
+
+@node Konfiguration des Task-Servers
+@section Verfügbare und notwendige Konfigurationsoptionen
+
+Die Konfiguration erfolgt über den Abschnitt @code{[task_server]} in
+der Datei @file{config/lx_office.conf}. Die dort verfügbaren Optionen
+sind:
+
+@itemize
+@item @code{login}: gültiger Lx-Office-Benutzername, der benutzt wird, um die zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss in der Administration angelegt werden. Diese Option muss angegeben werden.
+@item @code{run_as}: Wird der Server vom Systembenutzer @code{root} gestartet, so wechselt er auf den mit @code{run_as} angegebenen Systembenutzer. Der Systembenutzer muss dieselben Lese- und Schreibrechte haben, wie auch der Webserverbenutzer (siehe @pxref{Manuelle Installation des Programmpaketes}). Daher ist es sinnvoll, hier denselben Systembenutzer einzutragen, unter dem auch der Webserver läuft.
+@item @code{debug}: Schaltet Debug-Informationen an und aus.
+@end itemize
+
+@node Einbinden in den Boot-Prozess
+@section Automatisches Starten des Task-Servers beim Booten
+
+Der Task-Server verhält sich von seinen Optionen her wie ein reguläres
+SystemV-kompatibles Boot-Script. Außerdem wechselt er beim Starten
+automatisch in das Lx-Office-Installationsverzeichnis.
+
+Deshalb ist es möglich, ihn durch Setzen eines symbolischen Links aus
+einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
+einzubinden. Da das bei neueren Linux-Distributionen aber nicht
+zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
+anstelle eines symbolischen Links verwendet werden können.
+
+@subsection SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)
+
+Kopieren Sie die Datei
+@file{scripts/boot/system-v/lx-office-task-server} nach
+@file{/etc/init.d/lx-office-task-server}. Passen Sie in der kopierten
+Datei den Pfad zum Task-Server an (Zeile @code{DAEMON=....}). Binden
+Sie das Script in den Boot-Prozess ein. Dies ist distributionsabhängig:
+
+@itemize
+@item Debian-basierende Systeme:
+@*
+@code{update-rc.d lx-office-task-server defaults
+@*
+# Nur bei Debian Squeeze und neuer:
+@*
+insserv lx-office-task-server}
+@item OpenSuSE und Fedora Core:
+@*
+@code{chkconfig --add lx-office-task-server}
+@end itemize
+
+Danach kann der Task-Server mit dem folgenden Befehl gestartet werden:
+@code{/etc/init.d/lx-office-task-server start}
+
+@subsection Upstart-basierende Systeme (z.B. Ubuntu)
+
+Kopieren Sie die Datei
+@file{scripts/boot/upstart/lx-office-task-server.conf} nach
+@file{/etc/init/lx-office-task-server.conf}. Passen Sie in der kopierten
+Datei den Pfad zum Task-Server an (Zeile @code{exec ....}).
+
+Danach kann der Task-Server mit dem folgenden Befehl gestartet werden:
+@code{service lx-office-task-server start}
+
+@node Prozesskontrolle
+@section Wie der Task-Server gestartet und beendet wird
+
+Der Task-Server wird wie folgt kontrolliert:
+
+@code{./scripts/task_server.pl Befehl}
+
+@code{Befehl} ist dabei eine der folgenden Optionen:
+
+@itemize
+@item @code{start} startet eine neue Instanz des Task-Servers. Die Prozess-ID wird innerhalb des @file{users}-Verzeichnisses abgelegt.
+@item @code{stop} beendet einen laufenden Task-Server.
+@item @code{restart} beendet und startet ihn neu.
+@item @code{status} berichtet, ob der Task-Server läuft.
+@end itemize
+
+Der Task-Server wechselt beim Starten automatisch in das Lx-Office-Installationsverzeichnis.
+
+Dieselben Optionen können auch für die SystemV-basierenden
+Runlevel-Scripte benutzt werden (siehe oben).
+
+@c ---------------------------------------------------------------
+
+@node Benutzerauthentifizierung und Administratorpasswort
+@chapter Benutzerauthentifizierung und Administratorpasswort
+
+Informationen über die Einrichtung der Benutzerauthentifizierung, über
+die Verwaltung von Gruppen und weitere Einstellungen
+
+@menu
+* Grundlagen zur Benutzerauthentifizierung:: Verfügbare Methoden, Name der Konfigurationsdatei
+* Administratorpasswort:: Wo das Administratorpasswort gesetzt werden kann
+* Authentifizierungsdatenbank:: Verbindungseinstellungen zur Authentifizierungsdatenbank
+* Passwortüberprüfung:: Einstellungen zur Überprüfung der Benutzerpasswörter
+* Name des Session-Cookies:: Ändern des Cookie-Namens bei Verwendung mehrerer Lx-Office-Installationen auf einem Server
+* Anlegen der Authentifizierungsdatenbank:: Wie die Authentifizierungsdatenbank angelegt wird
+@end menu
+
+@c ---------------------------------------------------------------
+
+@node Grundlagen zur Benutzerauthentifizierung
+@section Grundlagen zur Benutzerauthentifizierung
+
+Lx-Office verwaltet die Benutzerinformationen in einer Datenbank, die
+im folgenden ``Authentifizierungsdatenbank'' genannt wird. Für jeden
+Benutzer kann dort eine eigene Datenbank für die eigentlichen
+Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen
+aber nicht unterschiedlich sein.
+
+Im einfachsten Fall gibt es für Lx-Office nur eine einzige Datenbank,
+in der sowohl die Benutzerinformationen als auch die Daten abgelegt
+werden.
+
+Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
+entweder gegen die Authentifizierungsdatenbank oder gegen einen
+LDAP-Server überprüft werden.
+
+Welche Art der Passwortüberprüfung Lx-Office benutzt und wie Lx-Office
+die Authentifizierungsdatenbank erreichen kann, wird in der
+Konfigurationsdatei @file{config/lx_office.conf} festgelegt. Diese
+muss bei der Installation und bei einem Upgrade von einer Version vor
+v2.6.0 angelegt werden. Eine Beispielkonfigurationsdatei
+@file{config/lx_office.conf.default} existiert, die als Vorlage
+benutzt werden kann.
+
+@node Administratorpasswort
+@section Administratorpasswort
+
+Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt wird,
+wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort und nicht
+mehr im Administrationsinterface selber geändert werden. Der Parameter dazu
+heißt @code{$self->@{admin_password@}}.
+
+@node Authentifizierungsdatenbank
+@section Authentifizierungsdatenbank
+
+Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern
+in @code{$self->@{DB_config@}} konfiguriert. Hier sind die folgenden
+Parameter anzugeben:
+
+@itemize
+@item
+@samp{host} -- Der Rechnername oder die IP-Adresse des Datenbankservers
+@item
+@samp{port} -- Die Portnummer des Datenbankservers, meist 5432
+@item
+@samp{db} -- Der Name der Authentifizierungsdatenbank
+@item
+@samp{user} -- Der Benutzername, mit dem sich Lx-Office beim Datenbankserver anmeldet (z.B. ``postgres'')
+@item
+@samp{password} -- Das Passwort für den Datenbankbenutzer
+@end itemize
+
+Die Datenbank muss noch nicht existieren. Lx-Office kann sie
+automatisch anlegen (mehr dazu siehe unten).
+
+@node Passwortüberprüfung
+@section Passwortüberprüfung
+
+Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die
+Authentifizierungsdatenbank und gegen einen externen LDAP- oder
+Active-Directory-Server. Welche davon benutzt wird, regelt der
+Parameter @code{$self->@{module@}}.
+
+Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
+gespeichert werden, so muss der Parameter @code{$self->@{module@}} den
+Wert @samp{DB} enthalten. In diesem Fall können sowohl der
+Administrator als auch die Benutzer selber ihre Psaswörter in
+Lx-Office ändern.
+
+Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt
+werden, so muss der Parameter @code{$self->@{module@}} auf @samp{LDAP}
+gesetzt werden. In diesem Fall müssen zusätzliche Informationen über
+den LDAP-Server in @code{$self->@{LDAP_config@}} angegeben werden:
+
+@itemize
+@item
+@samp{host} -- Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend erforderlich.
+@item
+@samp{port} -- Die Portnummer des LDAP-Servers; meist 389.
+@item
+@samp{tls} -- Wenn Verbindungsverschlüsselung gewünscht ist, so diesen Wert auf @samp{1} setzen, andernfalls auf @samp{0} belassen
+@item
+@samp{attribute} -- Das LDAP-Attribut, in dem der Benutzername steht, den der Benutzer eingegeben hat. Für Active-Directory-Server
+ ist dies meist @samp{sAMAccountName}, für andere LDAP-Server hingegen @samp{uid}. Diese Angabe ist zwingend erforderlich.
+@item
+@samp{base_dn} -- Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich.
+@item
+@samp{filter} -- Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort @code{<%login%>}, so wird dieses durch den vom Benutzer
+ eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum nach einem Element durchsucht, bei dem das oben angegebene Attribut
+ mit dem Benutzernamen identisch ist.
+@item
+@samp{bind_dn} und @samp{bind_password} -- Wenn der LDAP-Server eine Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist dies bei
+ Active-Directory-Servern der Fall), so kann diese hier angegeben werden. Für Active-Directory-Server kann als @samp{bind_dn} entweder eine
+ komplette LDAP-DN wie z.B. @samp{cn=Martin Mustermann,cn=Users,dc=firmendomain} auch nur der volle Name des Benutzers
+ eingegeben werden; in diesem Beispiel also @samp{Martin Mustermann}.
+@end itemize
+
+@node Name des Session-Cookies
+@section Name des Session-Cookies
+
+Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt
+werden, so müssen die Namen der Session-Cookies für alle
+Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
+Parameter @code{$self->@{cookie_name@}} gesetzt.
+
+Diese Angabe ist optional, wenn nur eine Installation auf dem Server
+existiert.
+
+@node Anlegen der Authentifizierungsdatenbank
+@section Anlegen der Authentifizierungsdatenbank
+
+Nachdem alle Einstellungen in @file{config/lx_office.conf}
+vorgenommen wurden, muss Lx-Office die Authentifizierungsdatenbank
+anlegen. Dieses geschieht automatisch, wenn Sie sich im
+Administrationsmodul anmelden, das unter der folgenden URL erreichbar
+sein sollte:
+
+@uref{http://localhost/lx-erp/admin.pl}
+
+
+@c ---------------------------------------------------------------
+
+@node Benutzer- und Gruppenverwaltung
+@chapter Benutzer- und Gruppenverwaltung
+
+Nach der Installation müssen Benutzer, Gruppen und Datenbanken
+angelegt werden. Dieses geschieht im Administrationsmenü, das Sie
+unter folgender URL finden:
+
+@uref{http://localhost/lx-erp/admin.pl}
+
+Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
+@file{config/lx_office.conf} eingetragen haben.
+
+@menu
+* Zusammenhänge:: Übersicht über Benutzer, Gruppen, Berechtigungen und Datenbanken
+* Datenbanken anlegen:: Hinweise zum Anlegen von Datenbanken
+* Gruppen anlegen:: Hinweise zum Anlegen von Gruppen
+* Benutzer anlegen:: Hinweise zum Anlegen von Benutzern
+* Gruppenmitgliedschaften verwalten:: Wie man Gruppen Benutzer zuordnet
+* Migration alter Installationen:: Automatische Übernahme bei Update von einer älteren Version
+@end menu