]> wagnertech.de Git - mfinanz.git/blobdiff - doc/html/ch02s10.html
date error in mapping
[mfinanz.git] / doc / html / ch02s10.html
index d050121df6f40979a3c6ec6941e7167c52ddae92..534b60db24288d59e29d00eda1af174ba55d7a46 100644 (file)
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.10. Drucken mit kivitendo</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. E-Mail-Versand aus kivitendo heraus"><link rel="next" href="ch02s11.html" title="2.11. OpenDocument-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.10. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.10. Drucken mit kivitendo</h2></div></div></div><p>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX Vorlagen.
-      Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
-      einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter
-      Debianoiden Betriebssystemen installiert man die Pakete mit:</p><p>
-            </p><pre class="programlisting">aptitude install \
-      texlive-base-bin \
-texlive-latex-recommended \
-texlive-fonts-recommended \
-texlive-latex-extra \
-texlive-lang-german \
-texlive-generic-extra
-      </pre><p>
-         </p><p>TODO: rpm Pakete.</p><p>kivitendo bringt 3 alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Standard</li><li class="listitem">f-tex</li><li class="listitem">RB</li></ul></div><div class="sect2" title="2.10.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.10.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Bei einem neuen Benutzer/Mandanten lässt sich einer dieser Vorlagensätze
-        als Basis für die zu druckenden Dokumente auswählen:</p><p>
-               </p><pre class="programlisting">unter:
-Administration -&gt; Benutzerverwaltung -&gt; [ein Benutzer]
-   Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis]
-   Vorlagen auswählen: [Default, f-tex oder RB]
-   -&gt; Speichern
-        </pre><p>
-            </p><p>der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.</p><p>Die Abhängigkeiten kann man prüfen mit:</p><p>
-               </p><pre class="programlisting">/scripts/installation_check.pl -l</pre><p>
-            </p></div><div class="sect2" title="2.10.2. Default"><div class="titlepage"><div><div><h3 class="title"><a name="Standard"></a>2.10.2. Default</h3></div></div></div><p>Der standard Vorlagensatz von Kivitendo. Wie unter
-        <a class="ulink" href="http://demo.kivitendo.org" target="_top">http://demo.kivitendo.org</a> zu sehen.</p></div><div class="sect2" title="2.10.3. f-tex"><div class="titlepage"><div><div><h3 class="title"><a name="f-tex"></a>2.10.3. f-tex</h3></div></div></div><p>Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt.</p><div class="sect3" title="2.10.3.1. f-tex Feature Übersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Feature-%C3%9Cbersicht"></a>2.10.3.1. f-tex Feature Übersicht</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Keine Retundanz. Es wird ein und die selbe Latex-Vorlage für alle
-            briefartigen Dokumente verwendet. Also Angebot, Rechnung,
-            Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber
-            etc.. </li><li class="listitem">Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF
-            dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden
-            (Openoffice, Inkscape, Gimp, Adobe*)
-            </li><li class="listitem">Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten"
-            (option "bgPdfFirstPageOnly" in Datei letter.lco)
-            </li><li class="listitem">Hintergrundpdf für Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar,
-            es wird dann nur bei per email versendeten Dokumenten eingebunden.
-            (Option "bgPdfEmailOnly" in Datei letter.lco)
-            </li><li class="listitem">Nutzung der Layout-Funktionen von Latex für Seitenumbruch,
-            wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin für
-            die Vorarbeit)
-            </li><li class="listitem">Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des
-            eigenen Unternehmens abweicht (also die Rechnung das Land verlässt).
-            </li><li class="listitem">Multisprachfähig leicht um weitere Sprachen zu erweitern, alle
-            Übersetzungen in der Datei translatinos.tex.
-            </li><li class="listitem">Auflistung von Bruttopreisen für Endverbraucher.
-            </li></ul></div></div><div class="sect3" title="2.10.3.2. f-tex Die Installation"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-installation"></a>2.10.3.2. f-tex Die Installation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Vorlagenverzeichnis mit Option f-tex anlegen, siehe: 
-              <a class="xref" href="ch02s10.html#Vorlagenverzeichnis-anlegen" title="2.10.1. Vorlagenverzeichnis anlegen">Vorlagenverzeichnis anlegen</a>
-              Das Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen
-              Beispiel Briefkopf
-            </li><li class="listitem">
-              Erstelle eine pdf-Hintergrund Datei und verlinke sie nach
-              <pre class="programlisting">./letter_head.pdf</pre></li><li class="listitem">
-              Editiere den Bereich "settings" in der datei letter.lco
-            </li></ul></div><p>oder etwas Detaillierter:</p><p>
-            Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt.
-            Eigentlich ist dies die Datei die für die Firmenspezifischen Anpassungen
-            gedacht ist.  Da die Einstiegshürde in LaTeX nicht ganz niedrig ist, wird in
-            dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses pdf
-            die persönlichen Layoutanpassungen vorzunehmen und sample.lco unverändert zu
-            lassen. Die die Anpassung über eine *.lco Datei die letztlich auf letter.lco
-            verlinkt ist ist aber auch möglich.
+   <title>2.10. Benutzerauthentifizierung und Administratorpasswort</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.9.2: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. Konfiguration der Hintergrund-Jobs"><link rel="next" href="ch02s11.html" title="2.11. Mandanten-, Benutzer- und Gruppenverwaltung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.10. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.10. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung,
+      über die Verwaltung von Gruppen und weitere Einstellungen</p><div class="sect2" title="2.10.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.10.1. Grundlagen zur Benutzerauthentifizierung</h3></div></div></div><p>kivitendo 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.</p><p>Im einfachsten Fall gibt es für kivitendo nur eine einzige
+        Datenbank, in der sowohl die Benutzerinformationen als auch die Daten
+        abgelegt werden.</p><p>Zusätzlich ermöglicht es kivitendo, dass die Benutzerpasswörter gegen verschiedene Authentifizierungsmethoden geprüft
+        werden. Dazu zählen die Authentifizierungsdatenbank, LDAP-Server sowie verschiedene Arten von HTTP-Header-basierten Methoden.</p><p>Welche Art der Passwortüberprüfung kivitendo benutzt und wie
+        kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der
+        Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
+        festgelegt. Diese muss bei der Installation und bei einem Upgrade von
+        einer Version vor v2.6.0 angelegt werden. Eine
+        Beispielkonfigurationsdatei
+        <code class="filename">config/kivitendo.conf.default</code> existiert, die als
+        Vorlage benutzt werden kann.</p></div><div class="sect2" title="2.10.2. Administratorpasswort"><div class="titlepage"><div><div><h3 class="title"><a name="Administratorpasswort"></a>2.10.2. Administratorpasswort</h3></div></div></div><p>Das Passwort, das zum Zugriff auf das Administrationsinterface
+        von kivitendo 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 class="varname">admin_password</code> im Abschnitt
+        <code class="varname">[authentication]</code>.</p></div><div class="sect2" title="2.10.3. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Authentifizierungsdatenbank"></a>2.10.3. Authentifizierungsdatenbank</h3></div></div></div><p>Die Verbindung zur Authentifizierungsdatenbank wird mit den
+        Parametern in <code class="varname">[authentication/database]</code>
+        konfiguriert. Hier sind die folgenden Parameter anzugeben:</p><div class="variablelist"><dl><dt><span class="term">
+                     <code class="literal">host</code>
+                  </span></dt><dd><p>Der Rechnername oder die IP-Adresse des
+              Datenbankservers</p></dd><dt><span class="term">
+                     <code class="literal">port</code>
+                  </span></dt><dd><p>Die Portnummer des Datenbankservers, meist 5432</p></dd><dt><span class="term">
+                     <code class="literal">db</code>
+                  </span></dt><dd><p>Der Name der Authentifizierungsdatenbank</p></dd><dt><span class="term">
+                     <code class="literal">user</code>
+                  </span></dt><dd><p>Der Benutzername, mit dem sich kivitendo beim
+              Datenbankserver anmeldet (z.B.
+              "<code class="literal">postgres</code>")</p></dd><dt><span class="term">
+                     <code class="literal">password</code>
+                  </span></dt><dd><p>Das Passwort für den Datenbankbenutzer</p></dd></dl></div><p>Die Datenbank muss noch nicht existieren. kivitendo kann sie
+        automatisch anlegen (mehr dazu siehe unten).</p></div><div class="sect2" title="2.10.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.10.4. Passwortüberprüfung</h3></div></div></div><p>kivitendo unterstützt verschiedene Module für die Passwortüberprüfung. Welche benutzt wird, regelt der Parameter
+        <code class="varname">module</code> im Abschnitt <code class="varname">[authentication]</code>.</p><p>Dieser Parameter listet die zu verwendenden Authentifizierungsmodule auf. Es muss mindestens ein Modul angegeben werden, es
+        können aber auch mehrere angegeben werden. Weiterhin ist es möglich, das LDAP-Modul mehrfach zu verwenden und für jede Verwendung
+        eine unterschiedliche Konfiguration zu nutzen, z.B. um einen Fallback-Server anzugeben, der benutzt wird, sofern der Hauptserver
+        nicht erreichbar ist.</p><p>Verfügbare Module sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+                     <code class="literal">DB</code>: in Authentifizierungsdatenbank integrierte Benutzerverwaltung</p></li><li class="listitem"><p>
+                     <code class="literal">ldap</code>: Bind mit User-Objekten gegen einen oder mehrere LDAP-Server</p></li><li class="listitem"><p>
+                     <code class="literal">http_headers</code>: überlässt Authenfizierung vorgelagerten Proxy-Servern  übernimmt Usernamen
+          aus mitgeschickten HTTP-Headern</p></li></ul></div><div class="sect3" title="2.10.4.1. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h4 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung_DB"></a>2.10.4.1. Authentifizierungsdatenbank</h4></div></div></div><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank geprüft werden, so muss der Parameter
+          <code class="varname">module</code> das Modul <code class="literal">DB</code> enthalten. Sofern das Modul in der Liste enthalten ist, egal an welcher
+          Position, können sowohl der Administrator als auch die Benutzer selber ihre Passwörter in kivitendo ändern.</p></div><div class="sect3" title="2.10.4.2. LDAP-Server"><div class="titlepage"><div><div><h4 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung_LDAP"></a>2.10.4.2. LDAP-Server</h4></div></div></div><p>Wenn Passwörter gegen einen oder mehrere externe LDAP- oder Active-Directory-Server geprüft werden, so muss der Parameter
+          <code class="varname">module</code> den Wert <code class="literal">LDAP</code> enthalten. In diesem Fall müssen zusätzliche Informationen über den
+          LDAP-Server im Abschnitt <code class="literal">[authentication/ldap]</code> angegeben werden. Das Modul kann auch mehrfach angegeben werden,
+          wobei jedes Modul eine eigene Konfiguration bekommen sollte. Der Name der Konfiguration wird dabei mit einem Doppelpunkt getrennt an
+          den Modulnamen angehängt (<code class="literal">LDAP:Name-der-Konfiguration</code>). Der entsprechende Abschnitt in der Konfigurationsdatei
+          lautet dann <code class="literal">[authentication/Name-der-Konfiguration]</code>.</p><p>Die verfügbaren Parameter für die LDAP-Konfiguration lauten:</p><div class="variablelist"><dl><dt><span class="term">
+                        <code class="literal">host</code>
+                     </span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder
+                Active-Directory-Servers. Diese Angabe ist zwingend
+                erforderlich.</p></dd><dt><span class="term">
+                        <code class="literal">port</code>
+                     </span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term">
+                        <code class="literal">tls</code>
+                     </span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
+                Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf
+                ‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term">
+                        <code class="literal">verify</code>
+                     </span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht und der Parameter <em class="parameter"><code>tls</code></em> gesetzt ist, so gibt dieser
+                Parameter an, ob das Serverzertifikat auf Gültigkeit geprüft wird. Mögliche Werte sind <code class="literal">require</code> (Zertifikat
+                wird überprüft und muss gültig sei; dies ist der Standard) und <code class="literal">none</code> (Zertifikat wird nicht
+                überpfüft).</p></dd><dt><span class="term">
+                        <code class="literal">attribute</code>
+                     </span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der
+                Benutzer eingegeben hat. Für Active-Directory-Server ist dies
+                meist ‘<code class="literal">sAMAccountName</code>’, für andere
+                LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist
+                zwingend erforderlich.</p></dd><dt><span class="term">
+                        <code class="literal">base_dn</code>
+                     </span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
+                Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term">
+                        <code class="literal">filter</code>
+                     </span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
+                <code class="literal">&lt;%login%&gt;</code>, 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.</p></dd><dt><span class="term">
+                        <code class="literal">bind_dn</code> und
+              <code class="literal">bind_password</code>
+                     </span></dt><dd><p>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
+                ‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie
+                z.B. ‘<code class="literal">cn=Martin
+                Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der
+                volle Name des Benutzers eingegeben werden; in diesem Beispiel
+                also ‘<code class="literal">Martin Mustermann</code>’.</p></dd><dt><span class="term">
+                        <code class="literal">timeout</code>
+                     </span></dt><dd><p>Timeout beim Verbindungsversuch, bevor der Server als nicht erreichbar gilt; Standardwert: 10</p></dd></dl></div></div><div class="sect3" title="2.10.4.3. HTTP-Header: Username in Header"><div class="titlepage"><div><div><h4 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung_HTTPHeaders"></a>2.10.4.3. HTTP-Header: Username in Header</h4></div></div></div><p>
+            Diese Methode der Authentifizierung überlässt einem vorgelagerten Webserver oder Proxyserver die Authentifizierung. Dazu können
+            SSO-Systeme wie z.B. Authelia oder Authentik zum Einsatz kommen. Die vorgelagerten Server übermitteln dann den Usernamen der
+            authentifizierten Person in einem speziellen HTTP-Header, der an kivitendo durchgereicht wird. Damit kivitendo nicht von
+            beliebigen Quellen aus mit so einem Usernamen aufgerufen werden kann, verlangt kivitendo weiterhin, dass in einem weiteren
+            Header ein Shared Secret übertragen wird. Dieses Secret wird vom Administrator vergeben und sollte nicht weitergegeben werden.
           </p><p>
-            Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach
-            letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfähige
-            Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf
-            an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma,
-            diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach
-            letter_head.pdf verlinken.
+            Über einen weiteren Header wird wiederum gesteuert, an welchem Mandanten die Anmeldung erfolgt. Dies geschieht über die
+            Datenbank-ID des Mandanten.
           </p><p>
-            letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen,
-            welches gewünschten Briefkopf enthält. Bei Updates oder nach erneutem
-          </p><p>
-            Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex
-            verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag für das
-            Land verwendet die Datei muss  also nicht angefasst werden. Die Anderen Werte
-            sind für das Modul  lp (Label Print in erp - zur Zeit nicht im
-            öffentlichen Zweig).
-          </p><p>
-            Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
-            sollten über die Hintergrund pdf datei oder die *.lco Datei erfolgen.
-          </p></div><div class="sect3" title="2.10.3.3. f-tex Funktionsübersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Funktions%C3%BCbersicht"></a>2.10.3.3. f-tex Funktionsübersicht</h4></div></div></div><p>
-            Das Konzept von kivitendo sieht vor, für jedes Dokument
-            (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine
-            Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch
-            das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur
-            bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus
-            dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle
-            Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
-            Latexvorlage verwendet, welche über Codeweichen die Besonderheiten
-            der jeweiligen Dokumente Berücksichtigt
-          </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Tabellen mit oder ohne Preis
-            </li><li class="listitem">Sprache der Tabellenüberschriften etc.
-            </li><li class="listitem">Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
-               Angebotsnummer)
-            </li><li class="listitem">Darstellung von Brutto oder Netto-Preisen in der Auflistung
-              (Endverbraucher versus Gewerblicher Kunde)
-            </li></ul></div><p>Nachteil:</p><p>
-             Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex
-             ist sehr komplex und verstärkt damit diesen Effekt noch einmal erheblich.
-             Wer Latex-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann
-             natürlich auch innerhalb der Tabellendarstellung gut persönliche Anpassungen
-             vornehmen. Aber man kann sich hier bei Veränderungen sehr schnell häftig in
-             den Fuss schiessen.
-           </p><p>Wer nicht so tief in die Materie einsteigen will oder leicht zu
-              frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten
-              Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen
-              wie sie ausgeliefert werden, erfreuen.
-           </p><p>Kleiner Tipp:
-             Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche
-             Schritte gehen.
-           </p><p>Bruttopreise für Endvorbraucher</p><p>Der auszuweisende Bruttopreis wird innerhalb der LaTeX
-             Umgebung berechnet.  es gibt zwar ein Feld um bei Aufträgen "alle Preise
-             Brutto" auszuwählen, aber:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-              hierfür müssen die Preise auch in Brutto in der Datenbank stehen
-              (ja - das lässt sich über die Preisgruppen und die Zuordung einer Default-Preisgruppe
-              handhaben)
-            </li><li class="listitem">
-              man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen.
-               (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert
-              der eigentliche Knackpunkt)
-            </li></ul></div><p>
-            Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder
-            Nettorechnung wird mit den Zahlarten verknüpft. Zahlarten bei denen
-            Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E"
-            (für Endverbraucher) Falls identische Zahlarten für Gewerbekunden und
-            Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit
-            der Namensendung "_E"). Gewinn:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-               die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix
-               mit einer Preisliste Verbunden.
-            </li><li class="listitem">
-              die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man
-              muss nicht mehr daran denken "alle Preise Netto" auszuwählen.
-            </li><li class="listitem">
-              Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt
-              beim Drucken reviediert werden, ohne dass sich der Auftragswert ändert.
-            </li></ul></div><p>Lieferadressen</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-              in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz
-            </li><li class="listitem">
-              wenn die shipto*variable leer ist wird die entsprechende
-              Adressvariable eingesetzt.  Wenn Also die Lieferadresse in Strasse,
-              Hausnummer und Ort abweicht, müssen auch nur diese Felder in der
-              Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert der
-              Hauptadresse angezeigt.
-            </li></ul></div></div></div><div class="sect2" title="2.10.4. RB"><div class="titlepage"><div><div><h3 class="title"><a name="RB"></a>2.10.4. RB</h3></div></div></div><p>Vollständiger Dokumentensatz mit alternativen Design</p></div><div class="sect2" title="2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="Allgemeine Hinweise zu LaTeX"></a>2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen</h3></div></div></div><p>In den allermeisten Installationen sollte drucken jetzt schon
-        funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange
-        Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
-        die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
-        Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
-            LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
-            Vorlagen aus der Community auf. Installieren Sie die entsprechenden
-            Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for
-            use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
-            einer Standardinstallation exotische utf8 Zeichen zu drucken.
-            TeXLive unterstützt von Haus nur romanische Schriften und muss mit
-            diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
-            Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</p></li></ul></div><p>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
-        heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
-        Prüfen Sie den Namen in der Konfiguration (Standard:
-        <code class="literal">pdflatex</code>), und stellen Sie sicher, dass pdflatex
-        (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
-        darf.</p><p>Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1</p><p>
-                     </p><pre class="programlisting">keep_temp_files = 1;</pre><p>
-                  </p></li><li class="listitem"><p>bei fastcgi oder mod_perl den Webserver neu Starten</p></li><li class="listitem"><p>Nochmal einen Druckversuch im Webfrontend auslösen</p></li><li class="listitem"><p>wechsele in das users Verzeichnis von kivitendo</p><p>
-                     </p><pre class="programlisting">cd [kivitendo-home]/users</pre><p>
-                  </p></li><li class="listitem"><p>LaTeX Suchpfad anpassen:</p><p>
-                     </p><pre class="programlisting">export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</pre><p>
-                  </p></li><li class="listitem"><p>Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat</p><p>
-                     </p><pre class="programlisting">ls -lahtr ./1*.tex</pre><p>
-                  </p><p>Es sollte die letzte Datei ganz unten sein</p></li><li class="listitem"><p>für besseren Hinweis auf Fehler texdatei nochmals übersetzen</p><p>
-                     </p><pre class="programlisting">pdflatex ./1*.tex</pre><p>
-                  </p><p>in der *.tex datei nach dem Fehler suchen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. E-Mail-Versand aus kivitendo heraus&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.11. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
+            Um diese Methode zu aktivieren, muss das Authentifizierungsmodul auf <code class="literal">HTTPHeaders</code> gestellt werden. Zusätzlich
+            muss im Abschnitt <code class="literal">authentication/http_headers</code> der Parameter <code class="literal">enabled=1</code> und im Abschnitt
+            <code class="literal">authentication/http_basic</code> der Parameter <code class="literal">enabled=0</code> gesetzt werden. Die folgenden Parameter
+            müssen anschließend im Abschnitt <code class="literal">authentication/http_headers</code> konfiguriert werden:
+          </p><div class="variablelist"><dl><dt><span class="term">
+                        <code class="literal">client_id_header</code>
+                     </span></dt><dd><p>Name des Headers, in dem das vorgelagerte System die Datenbank-ID des Mandanten überträgt.</p></dd><dt><span class="term">
+                        <code class="literal">user_header</code>
+                     </span></dt><dd><p>Name des Headers, in dem das vorgelagerte System den Namen des authentifizierten Users überträgt.</p></dd><dt><span class="term">
+                        <code class="literal">secret_header</code>
+                     </span></dt><dd><p>Name des Headers, in dem das vorgelagerte System das Shared Secret.</p></dd><dt><span class="term">
+                        <code class="literal">secret</code>
+                     </span></dt><dd><p>Wert des Shared Secrets selber, der vom vorgelagerten System übertragen werden muss, damit die Werte als gültig
+                angesehen werden.</p></dd></dl></div></div><div class="sect3" title="2.10.4.4. HTTP-Header: Basic Authorization"><div class="titlepage"><div><div><h4 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung_HTTPBasic"></a>2.10.4.4. HTTP-Header: Basic Authorization</h4></div></div></div><p>
+            Diese Methode der Authentifizierung überlässt dem Webserver (meist Apache) die Authentifizierung mittels der standardisierten
+            HTTP Basic Authentication (RFC 7617). Dazu muss der Webserver so konfiguriert werden, dass er für alle kivitendo-Requests vom
+            Webbrowser Authentifizierung verlangt. Zusätzlich muss er veranlasst werden, den angegebenen Usernamen auch an kivitendo zu
+            übermitteln. Dies könnte beispielhaft wie folgt aussehen:
+          </p><pre class="programlisting">&lt;Directory /path/to/kivitendo-erp&gt;
+  AllowOverride All
+  Options ExecCGI Includes FollowSymlinks
+
+  # Require authentication from local user file:
+  AuthType Basic
+  AuthName "kivitendo"
+  AuthUserFile /etc/apache2/htpasswd.kivitendo
+  Require valid-user
+
+  # Pass name of authorized user to kivitendo:
+  SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
+&lt;/Directory&gt;</pre><p>
+             Um diese Methode zu aktivieren, muss das Authentifizierungsmodul auf <code class="literal">HTTPHeaders</code> gestellt werden. Zusätzlich
+             muss im Abschnitt <code class="literal">authentication/http_basic</code> der Parameter <code class="literal">enabled=1</code> und im Abschnitt
+             <code class="literal">authentication/http_headers</code> der Parameter <code class="literal">enabled=0</code> gesetzt werden.
+           </p></div></div><div class="sect2" title="2.10.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.10.5. Name des Session-Cookies</h3></div></div></div><p>Sollen auf einem Server mehrere kivitendo-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 class="varname">cookie_name</code> im Abschnitt
+        <code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem
+        Server existiert.</p></div><div class="sect2" title="2.10.6. Anlegen der Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Anlegen-der-Authentifizierungsdatenbank"></a>2.10.6. Anlegen der Authentifizierungsdatenbank</h3></div></div></div><p>Nachdem alle Einstellungen in
+        <code class="filename">config/kivitendo.conf</code> vorgenommen wurden, muss
+        kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht
+        automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter
+        der folgenden URL erreichbar sein sollte:</p><p>
+               <a class="ulink" href="http://localhost/kivitendo-erp/controller.pl?action=Admin/login" target="_top">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</a>
+            </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Konfiguration der Hintergrund-Jobs&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.11. Mandanten-, Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
\ No newline at end of file