<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.5. Webserver-Konfiguration</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="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s06.html" title="2.6. Der Task-Server"></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.5. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.5. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.5.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e511"></a>2.5.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für einen deutlichen Performanceschub sorgt die Ausführung
- mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
- <a class="xref" href="ch02s05.html#Apache-Konfiguration.FCGI" title="2.5.2. Konfiguration für FastCGI/FCGI">Konfiguration für FastCGI/FCGI</a> beschrieben.</p></td></tr></table></div><p>Der Zugriff auf das Programmverzeichnis muss in der Apache
- Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt
- werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
- anderen Datei hinzu, die beim Starten des Webservers eingelesen
- wird:</p><pre class="programlisting">AddHandler cgi-script .pl
-Alias /lx-erp/ /var/www/lx-erp/
+ <title>2.5. kivitendo-Konfigurationsdatei</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="ch02s04.html" title="2.4. Manuelle Installation des Programmpaketes"><link rel="next" href="ch02s06.html" title="2.6. Anpassung der PostgreSQL-Konfiguration"></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.5. kivitendo-Konfigurationsdatei</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. kivitendo-Konfigurationsdatei"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.config-file"></a>2.5. kivitendo-Konfigurationsdatei</h2></div></div></div><div class="sect2" title="2.5.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.introduction"></a>2.5.1. Einführung</h3></div></div></div><p>In kivitendo gibt es nur noch eine Konfigurationsdatei, die
+ benötigt wird: <code class="filename">config/kivitendo.conf</code> (kurz: "die
+ Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation von
+ kivitendo bzw. der Migration von älteren Versionen angelegt
+ werden.</p><p>Als Vorlage dient die Datei
+ <code class="filename">config/kivitendo.conf.default</code> (kurz: "die
+ Default-Datei"):</p><pre class="programlisting">$ cp config/kivitendo.conf.default config/kivitendo.conf</pre><p>Die Default-Datei wird immer zuerst eingelesen. Werte, die in
+ der Hauptkonfigurationsdatei stehen, überschreiben die Werte aus der
+ Default-Datei. Die Hauptkonfigurationsdatei muss also nur die
+ Abschnitte und Werte enthalten, die von denen der Default-Datei
+ abweichen.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Vor der Umbenennung in kivitendo hieß diese Datei noch
+ <code class="filename">config/lx_office.conf</code>. Aus Gründen der
+ Kompatibilität wird diese Datei eingelesen, sofern die Datei
+ <code class="filename">config/kivitendo.conf</code> nicht existiert.</p></td></tr></table></div><p>Diese Hauptkonfigurationsdatei ist dann eine
+ installationsspezifische Datei, d.h. sie enthält bspw. lokale
+ Passwörter und wird auch nicht im Versionsmanagement (git)
+ verwaltet.</p><p>Die Konfiguration ist ferner serverabhängig, d.h. für alle
+ Mandaten, bzw. Datenbanken gleich.</p></div><div class="sect2" title="2.5.2. Abschnitte und Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.sections-parameters"></a>2.5.2. Abschnitte und Parameter</h3></div></div></div><p>Die Konfigurationsdatei besteht aus mehreren Teilen, die
+ entsprechend kommentiert sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ <code class="literal">authentication</code> (siehe Abschnitt "<a class="xref" href="ch02s10.html" title="2.10. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.10, „Benutzerauthentifizierung und Administratorpasswort“</a>"
+ in diesem Kapitel)</p></li><li class="listitem"><p>
+ <code class="literal">authentication/database</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">authentication/http_basic</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">authentication/http_headers</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">authentication/ldap</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">system</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">paths</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">mail_delivery</code> (siehe Abschnitt "<a class="xref" href="ch02s13.html#config.sending-email.smtp" title="2.13.1.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>)</p></li><li class="listitem"><p>
+ <code class="literal">imap_client</code> (siehe Abschnitt "<a class="xref" href="ch02s13.html#config.imap_client" title="2.13.3. E-Mails in kivitendo importieren">E-Mails in kivitendo importieren</a>)</p></li><li class="listitem"><p>
+ <code class="literal">sent_emails_in_imap</code> (siehe Abschnitt "<a class="xref" href="ch02s13.html#config.sent_emails_in_imap" title="2.13.2. Versendete E-Mails über IMAP exportieren">Versendete E-Mails über IMAP exportieren</a>)</p></li><li class="listitem"><p>
+ <code class="literal">applications</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">environment</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">print_templates</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">task_server</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">periodic_invoices</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">self_tests</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">console</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">testing</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">testing/database</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">debug</code>
+ </p></li></ul></div><p>Die üblicherweise wichtigsten Parameter, die am Anfang
+ einzustellen oder zu kontrollieren sind, sind:</p><pre class="programlisting">[authentication]
+admin_password = geheim
-<Directory /var/www/lx-erp>
- Options ExecCGI
- Includes FollowSymlinks
-</Directory>
+[authentication/database]
+host = localhost
+port = 5432
+db = kivitendo_auth
+user = postgres
+password =
-<Directory /var/www/lx-erp/users>
- Order Deny,Allow
- Deny from All
-</Directory></pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
- das Lx-Office-Archiv entpacket haben.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Vor den einzelnen Optionen muss bei einigen Distributionen ein
- Plus ‘<code class="literal">+</code>’ gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
- Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
- geholfen, die folgende Option in die Konfiguration aufzunehmen:</p><pre class="programlisting">EnableSendfile Off</pre></div><div class="sect2" title="2.5.2. Konfiguration für FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.5.2. Konfiguration für FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.5.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.5.2.1. Was ist FastCGI?</h4></div></div></div><p>Direkt aus <a class="ulink" href="http://de.wikipedia.org/wiki/FastCGI" target="_top">Wikipedia</a>
- kopiert:</p><p>
- [<span class="citation"> FastCGI ist ein Standard für die Einbindung
- externer Software zur Generierung dynamischer Webseiten in einem
- Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
- (CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
- umgehen. </span>]
- </p></div><div class="sect3" title="2.5.2.2. Warum FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Warum"></a>2.5.2.2. Warum FastCGI?</h4></div></div></div><p>Perl Programme (wie Lx-Office eines ist) werden nicht statisch
- kompiliert. Stattdessen werden die Quelldateien bei jedem Start
- übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
- ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
- einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
- müssen, ist die Funktionalität von Lx-Office soweit gewachsen, dass
- immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
- benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
- entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
- führt dazu dass ein Lx-Office Aufruf der Kernmasken mittlerweile
- deutlich länger dauert als früher, und dass davon 90% für das Laden
- der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach
- wird nur die eigentliche Programmlogik ausgeführt.</p></div><div class="sect3" title="2.5.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.5.2.3. Getestete Kombinationen aus Webservern und Plugin</h4></div></div></div><p>Folgende Kombinationen sind getestet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fastcgi.</p></li></ul></div><p>Dabei wird mod_fcgid empfohlen, weil mod_fastcgi seit geraumer
- Zeit nicht mehr weiter entwickelt wird. Im Folgenden wird auf
- mod_fastcgi nicht mehr explizit eingegangen.</p><p>Als Perl Backend wird das Modul <code class="filename">FCGI.pm</code>
- verwendet.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>FCGI 0.69 und höher ist extrem strict in der Behandlung von
- Unicode, und verweigert bestimmte Eingaben von Lx-Office. Falls es
- Probleme mit Umlauten in Ihrere Installation gibt, muss auf die
- Vorgängerversion FCGI 0.68 ausgewichen werden.</p><p>Mit CPAN lässt sie sich die Vorgängerversion wie folgt
- installieren:</p><pre class="programlisting">force install M/MS/MSTROUT/FCGI-0.68.tar.gz</pre></td></tr></table></div></div><div class="sect3" title="2.5.2.4. Konfiguration des Webservers"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Konfiguration"></a>2.5.2.4. Konfiguration des Webservers</h4></div></div></div><p>Bevor Sie versuchen, eine Lx-Office Installation unter FCGI
- laufen zu lassen, empfliehlt es sich die Installation ersteinmal
- unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu
- debuggen die beim ersten aufsetzen auftreten können. Sollte die
- Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
- unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</p><pre class="programlisting">a2enmod fcgid</pre><p>Die Konfiguration für die Verwendung von Lx-Office mit FastCGI
- erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>-
- und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen
- dem Installationspfad von Lx-Office im Dateisystem
- ("<code class="filename">/path/to/lx-office-erp</code>") und der URL
- unterschieden, unter der Lx-Office im Webbrowser erreichbar ist
- ("<code class="filename">/url/for/lx-office-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
- mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fcgi
-Alias /url/for/lx-office-erp/ /path/to/lx-office-erp/
-
-<Directory /path/to/lx-office-erp>
- AllowOverride All
- Options ExecCGI Includes FollowSymlinks
- Order Allow,Deny
- Allow from All
-</Directory>
-
-<DirectoryMatch /path/to/lx-office-erp/users>
- Order Deny,Allow
- Deny from All
-</DirectoryMatch></pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für
- die maximale Größe eines Requests. Diese sollte wie folgt
- hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl
-AliasMatch ^/url/for/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
-Alias /url/for/lx-office-erp/ /path/to/lx-office-erp/
-FcgidMaxRequestLen 10485760
-
-<Directory /path/to/lx-office-erp>
- AllowOverride All
- Options ExecCGI Includes FollowSymlinks
- Order Allow,Deny
- Allow from All
-</Directory>
-
-<DirectoryMatch /path/to/lx-office-erp/users>
- Order Deny,Allow
- Deny from All
-</DirectoryMatch></pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
- Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
- Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
- gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche Lx-Office Version parallel unter
- CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
- wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
-Alias /url/for/lx-office-erp /path/to/lx-office-erp
-
-# Zugriff mit mod_fcgid:
-AliasMatch ^/url/for/lx-office-erp-fcgid/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
-Alias /url/for/lx-office-erp-fcgid/ /path/to/lx-office-erp/</pre><p>Dann ist unter <code class="filename">/url/for/lx-office-erp/</code>
- die normale Version erreichbar, und unter
- <code class="constant">/url/for/lx-office-erp-fcgid/</code> die
- FastCGI-Version.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Anpassung der PostgreSQL-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.6. Der Task-Server</td></tr></table></div></body></html>
\ No newline at end of file
+[system]
+default_manager = german</pre><p>Für kivitendo Installationen in der Schweiz sollte hier
+ <code class="varname">german</code> durch <code class="varname">swiss</code> ersetzt
+ werden.</p><p>Die Einstellung <code class="varname">default_manager = swiss</code>
+ bewirkt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Beim Erstellen einer neuen Datenbank in der kivitendo
+ Administration werden automatisch die Standard-Werte für die
+ Schweiz voreingestellt: Währung CHF, 5er-Rundung, Schweizer
+ KMU-Kontenplan, Sollversteuerung, Aufwandsmethode, Bilanzierung
+ (die Werte können aber manuell angepasst werden).</p></li><li class="listitem"><p>Einstellen der Standardkonten für Rundungserträge und
+ -aufwendungen (unter Mandantenkonfiguration → Standardkonten
+ veränderbar)</p></li><li class="listitem"><p>das verwendete Zahlenformat wird auf
+ <code class="varname">1'000.00</code> eingestellt (unter Programm →
+ Benutzereinstellungen veränderbar)</p></li><li class="listitem"><p>DATEV-Automatik und UStVA werden nicht angezeigt,
+ Erfolgsrechnung ersetzt GUV ( unter Mandantenkonfiguration →
+ Features veränderbar)</p></li></ul></div><p>Nutzt man wiederkehrende Rechnungen, kann man unter
+ <code class="varname">[periodic_invoices]</code> den Login eines Benutzers
+ angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
+ mit Informationen über die erstellten Rechnungen bekommt.</p><p>kivitendo bringt eine eigene Komponente zur zeitgesteuerten
+ Ausführung bestimmter Aufgaben mit, den <a class="link" href="ch02s08.html" title="2.8. Der Task-Server">Task-Server</a>. Er wird u.a. für
+ Features wie die <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrenden Rechnungen</a>
+ benötigt, erledigt aber auch andere erforderliche Aufgaben und muss
+ daher in Betrieb genommen werden. Seine Einrichtung wird im Abschnitt
+ <a class="link" href="ch02s08.html" title="2.8. Der Task-Server">Task-Server</a> genauer
+ beschrieben.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code>
+ wichtige Funktionen, um die Fehlersuche zu erleichtern.</p></div><div class="sect2" title="2.5.3. Versionen vor 2.6.3"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.prior-versions"></a>2.5.3. Versionen vor 2.6.3</h3></div></div></div><p>In älteren kivitendo Versionen gab es im Verzeichnis
+ <code class="filename">config</code> die Dateien
+ <code class="filename">authentication.pl</code> und
+ <code class="filename">lx-erp.conf</code>, die jeweils Perl-Dateien waren. Es
+ gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei
+ zu erstellen (<code class="filename">lx-erp-local.conf</code>). Dies ist ab
+ 2.6.3 nicht mehr möglich, aber auch nicht mehr nötig.</p><p>Beim Update von einer kivitendo-Version vor 2.6.3 auf 2.6.3 oder
+ jünger müssen die Einstellungen aus den alten Konfigurationsdateien
+ manuell übertragen und die alten Konfigurationsdateien anschließend
+ gelöscht oder verschoben werden. Ansonsten zeigt kivitendo eine
+ entsprechende Fehlermeldung an.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Manuelle Installation des Programmpaketes </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.6. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file