<chapter id="config">
<title>Installation und Grundkonfiguration</title>
+ <sect1 id="Installation-Übersicht">
+ <title>Übersicht</title>
+
+ <para>
+ Die Installation von kivitendo umfasst mehrere Schritte. Die folgende Liste kann sowohl für Neulinge als auch für alte Hasen als
+ Übersicht und Stichpunktliste zum Abhaken dienen, um eine Version mit minimalen Features möglichst schnell zum Laufen zu kriegen.
+ </para>
+
+ <orderedlist>
+ <listitem><para><emphasis>Voraussetzungen überprüfen</emphasis>: kivitendo benötigt gewisse Ressourcen und benutzt weitere
+ Programme. Das Kapitel "<xref linkend="Benötigte-Software-und-Pakete"/>" erläutert diese. Auch die Liste der benötigten Perl-Module
+ befindet sich hier.</para></listitem>
+
+ <listitem><para><emphasis>Installation von kivitendo</emphasis>: Diese umfasst die "<xref
+ linkend="Manuelle-Installation-des-Programmpaketes"/>" sowie grundlegende Einstellungen, die der "<xref
+ linkend="config.config-file"/>" erläutert.</para></listitem>
+
+ <listitem><para><emphasis>Konfiguration externer Programme</emphasis>: hierzu gehören die Datenbank ("<xref
+ linkend="Anpassung-der-PostgreSQL-Konfiguration"/>") und der Webserver ("<xref
+ linkend="Apache-Konfiguration"/>"). </para></listitem>
+
+ <listitem><para><emphasis>Benutzerinformationen speichern können</emphasis>: man benötigt mindestens eine Datenbank, in der
+ Informationen zur Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man das als Administrator macht, verrät "<xref
+ linkend="Benutzerauthentifizierung-und-Administratorpasswort"/>".</para></listitem>
+
+ <listitem><para><emphasis>Benutzer, Gruppen und Datenbanken anlegen</emphasis>: wie dies alles zusammenspielt erläutert "<xref
+ linkend="Benutzer--und-Gruppenverwaltung"/>".</para></listitem>
+
+ <listitem><para><emphasis>Los geht's</emphasis>: alles soweit erledigt? Dann kann es losgehen: "<xref
+ linkend="kivitendo-ERP-verwenden"/>"</para></listitem>
+ </orderedlist>
+
+ <para>
+ Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und dienen sollten vor einer ernsthaften Inbetriebnahme gelesen
+ werden.
+ </para>
+ </sect1>
+
<sect1 id="Benötigte-Software-und-Pakete">
<title>Benötigte Software und Pakete</title>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Kapitel 2. Installation und Grundkonfiguration</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="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"><link rel="next" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes"></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">Kapitel 2. Installation und Grundkonfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 2. Installation und Grundkonfiguration"><div class="titlepage"><div><div><h2 class="title"><a name="config"></a>Kapitel 2. Installation und Grundkonfiguration</h2></div></div></div><div class="sect1" title="2.1. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.1. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.1.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.1.1. Betriebssystem</h3></div></div></div><p>kivitendo ist für Linux konzipiert, und sollte auf jedem
- unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
- diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
- bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
- ohne große Probleme auf den derzeit aktuellen verbreiteten
- Distributionen läuft.</p><p>Mitte 2012 sind das folgende Systeme, von denen bekannt ist,
- dass kivitendo auf ihnen läuft:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden)</p></li><li class="listitem"><p>7.0 Wheezy</p></li></ul></div></li><li class="listitem"><p>Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot</p></li><li class="listitem"><p>openSUSE 11.2 und 11.3</p></li><li class="listitem"><p>SuSE Linux Enterprice Server 11</p></li><li class="listitem"><p>Fedora 13 bis 16</p></li></ul></div></div><div class="sect2" title="2.1.2. Pakete"><div class="titlepage"><div><div><h3 class="title"><a name="Pakete"></a>2.1.2. Pakete</h3></div></div></div><p>Zum Betrieb von kivitendo werden zwingend ein Webserver (meist
- Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2)
- benötigt.</p><p>Zusätzlich benötigt kivitendo die folgenden Perl-Pakete, die
- nicht Bestandteil einer Standard-Perl-Installation sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
- <code class="literal">parent</code> (nur bei Perl vor 5.10.1)</p></li><li class="listitem"><p>
- <code class="literal">Archive::Zip</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Config::Std</code>
- </p></li><li class="listitem"><p>
- <code class="literal">DateTime</code>
- </p></li><li class="listitem"><p>
- <code class="literal">DBI</code>
- </p></li><li class="listitem"><p>
- <code class="literal">DBD::Pg</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Email::Address</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Email::MIME</code>
- </p></li><li class="listitem"><p>
- <code class="literal">JSON</code>
- </p></li><li class="listitem"><p>
- <code class="literal">List::MoreUtils</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Net::SMTP::SSL</code> (optional, bei E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s09.html#config.sending-email.smtp" title="2.9.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
- <code class="literal">Net::SSLGlue</code> (optional, bei E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s09.html#config.sending-email.smtp" title="2.9.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
- <code class="literal">Params::Validate</code>
- </p></li><li class="listitem"><p>
- <code class="literal">PDF::API2</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Rose::Object</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Rose::DB</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Rose::DB::Object</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Template</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Text::CSV_XS</code>
- </p></li><li class="listitem"><p>
- <code class="literal">Text::Iconv</code>
- </p></li><li class="listitem"><p>
- <code class="literal">URI</code>
- </p></li><li class="listitem"><p>
- <code class="literal">XML::Writer</code>
- </p></li><li class="listitem"><p>
- <code class="literal">YAML</code>
- </p></li></ul></div><p>Seit v2.7.0 sind die folgenden Pakete hinzugekommen: <code class="literal">Email::MIME</code>, <code class="literal">Net::SMTP::SSL</code>,
- <code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
- hinzugekommen, <code class="literal">URI</code> und
- <code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
- nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
- <code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
- <code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
- neu hinzugekommen. <code class="literal">IO::Wrap</code> wurde entfernt.</p><p>Gegenüber Version 2.6.3 ist <code class="literal">JSON</code> neu
- hinzugekommen.</p><p>
- <code class="literal">Email::Address</code> und
- <code class="literal">List::MoreUtils</code> sind schon länger feste
- Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
- sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
- zukünftigen Version aber aus dem Paket entfernt werden. Es wird
- empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
- installieren.</p><p>Die zu installierenden Pakete können in den verschiedenen
- Distributionen unterschiedlich heißen.</p><p>Für Debian oder Ubuntu benötigen Sie diese Pakete:</p><pre class="programlisting">apt-get install apache2 postgresql libarchive-zip-perl \
- libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
- libemail-address-perl libemail-mime-perl liblist-moreutils-perl libpdf-api2-perl \
- librose-object-perl librose-db-perl librose-db-object-perl \
- libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl \
- libxml-writer-perl libyaml-perl libconfig-std-perl \
- libparams-validate-perl libjson-perl libclass-accessor-perl \
- libnet-sslglue-perl libnet-smtp-ssl-perl</pre><p>Für Fedora Core benötigen Sie diese Pakete:</p><pre class="programlisting">yum install httpd postgresql-server perl-parent perl-DateTime \
- perl-DBI perl-DBD-Pg perl-Email-Address perl-Email-MIME perl-List-MoreUtils \
- perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object \
- perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
- perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL</pre><p>Für OpenSuSE benötigen Sie diese Pakete:</p><pre class="programlisting">zypper install apache2 postgresql-server perl-Archive-Zip \
- perl-DateTime perl-DBI perl-DBD-Pg perl-Email-MIME perl-MailTools perl-List-MoreUtils \
- perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
- perl-URI perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL</pre><p>kivitendo enthält ein Script, mit dem überprüft werden kann, ob
- alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie
- folgt:</p><pre class="programlisting">./scripts/installation_check.pl</pre></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.2. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>Kapitel 2. Installation und Grundkonfiguration</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="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"><link rel="next" href="ch02s02.html" title="2.2. Benötigte Software und Pakete"></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">Kapitel 2. Installation und Grundkonfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 2. Installation und Grundkonfiguration"><div class="titlepage"><div><div><h2 class="title"><a name="config"></a>Kapitel 2. Installation und Grundkonfiguration</h2></div></div></div><div class="sect1" title="2.1. Übersicht"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Installation-%C3%9Cbersicht"></a>2.1. Übersicht</h2></div></div></div><p>
+ Die Installation von kivitendo umfasst mehrere Schritte. Die folgende Liste kann sowohl für Neulinge als auch für alte Hasen als
+ Übersicht und Stichpunktliste zum Abhaken dienen, um eine Version mit minimalen Features möglichst schnell zum Laufen zu kriegen.
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
+ <span class="emphasis"><em>Voraussetzungen überprüfen</em></span>: kivitendo benötigt gewisse Ressourcen und benutzt weitere
+ Programme. Das Kapitel "<a class="xref" href="ch02s02.html" title="2.2. Benötigte Software und Pakete">Abschnitt 2.2, „Benötigte Software und Pakete“</a>" erläutert diese. Auch die Liste der benötigten Perl-Module
+ befindet sich hier.</p></li><li class="listitem"><p>
+ <span class="emphasis"><em>Installation von kivitendo</em></span>: Diese umfasst die "<a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>" sowie grundlegende Einstellungen, die der "<a class="xref" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei">Abschnitt 2.4, „kivitendo-Konfigurationsdatei“</a>" erläutert.</p></li><li class="listitem"><p>
+ <span class="emphasis"><em>Konfiguration externer Programme</em></span>: hierzu gehören die Datenbank ("<a class="xref" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration">Abschnitt 2.5, „Anpassung der PostgreSQL-Konfiguration“</a>") und der Webserver ("<a class="xref" href="ch02s06.html" title="2.6. Webserver-Konfiguration">Abschnitt 2.6, „Webserver-Konfiguration“</a>"). </p></li><li class="listitem"><p>
+ <span class="emphasis"><em>Benutzerinformationen speichern können</em></span>: man benötigt mindestens eine Datenbank, in der
+ Informationen zur Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man das als Administrator macht, verrät "<a class="xref" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.8, „Benutzerauthentifizierung und Administratorpasswort“</a>".</p></li><li class="listitem"><p>
+ <span class="emphasis"><em>Benutzer, Gruppen und Datenbanken anlegen</em></span>: wie dies alles zusammenspielt erläutert "<a class="xref" href="ch02s09.html" title="2.9. Benutzer- und Gruppenverwaltung">Abschnitt 2.9, „Benutzer- und Gruppenverwaltung“</a>".</p></li><li class="listitem"><p>
+ <span class="emphasis"><em>Los geht's</em></span>: alles soweit erledigt? Dann kann es losgehen: "<a class="xref" href="ch02s16.html" title="2.16. kivitendo ERP verwenden">Abschnitt 2.16, „kivitendo ERP verwenden“</a>"</p></li></ol></div><p>
+ Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und dienen sollten vor einer ernsthaften Inbetriebnahme gelesen
+ werden.
+ </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.2. Benötigte Software und Pakete</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.2. Manuelle Installation des Programmpaketes</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="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. kivitendo-Konfigurationsdatei"></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.2. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.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="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.2. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Die kivitendo ERP Installationsdatei (kivitendo-erp-2.6.3.tgz) wird
- im Dokumentenverzeichnis des Webservers (z.B.
- <code class="filename">/var/www/html/</code>,
- <code class="filename">/srv/www/htdocs</code> oder
- <code class="filename">/var/www/</code>) entpackt:</p><pre class="programlisting">cd /var/www
-tar xvzf kivitendo-erp-2.6.3.tgz</pre><p>Wechseln Sie in das entpackte Verzeichnis:</p><pre class="programlisting">cd kivitendo-erp</pre><p>Alternativ können Sie auch einen Alias in der
- Webserverkonfiguration benutzen, um auf das tatsächliche
- Installationsverzeichnis zu verweisen.</p><p>Die Verzeichnisse <code class="filename">users</code>, <code class="filename">spool</code> und <code class="filename">webdav</code> müssen für den Benutzer
- beschreibbar sein, unter dem der Webserver läuft. Die restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- und
- Gruppennamen sind bei verschiedenen Distributionen unterschiedlich (z.B. bei Debian/Ubuntu <code class="constant">www-data</code>, bei Fedora
- core <code class="constant">apache</code> oder bei OpenSuSE <code class="constant">wwwrun</code>).</p><p>Der folgende Befehl ändert den Besitzer für die oben genannten
- Verzeichnisse auf einem Debian/Ubuntu-System:</p><pre class="programlisting">chown -R www-data users spool webdav</pre><p>Weiterhin muss der Webserver-Benutzer in den Verzeichnissen <code class="filename">templates</code> und <code class="filename">users</code>
- Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in kivitendo angelegt wird:</p><pre class="programlisting">chown www-data templates users</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.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="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.3. kivitendo-Konfigurationsdatei</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.2. Benötigte Software und Pakete</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="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes"></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.2. Benötigte Software und Pakete</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.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="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.2. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.2.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.2.1. Betriebssystem</h3></div></div></div><p>kivitendo ist für Linux konzipiert, und sollte auf jedem
+ unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
+ diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
+ bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
+ ohne große Probleme auf den derzeit aktuellen verbreiteten
+ Distributionen läuft.</p><p>Mitte 2012 sind das folgende Systeme, von denen bekannt ist,
+ dass kivitendo auf ihnen läuft:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden)</p></li><li class="listitem"><p>7.0 Wheezy</p></li></ul></div></li><li class="listitem"><p>Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot</p></li><li class="listitem"><p>openSUSE 11.2 und 11.3</p></li><li class="listitem"><p>SuSE Linux Enterprice Server 11</p></li><li class="listitem"><p>Fedora 13 bis 16</p></li></ul></div></div><div class="sect2" title="2.2.2. Pakete"><div class="titlepage"><div><div><h3 class="title"><a name="Pakete"></a>2.2.2. Pakete</h3></div></div></div><p>Zum Betrieb von kivitendo werden zwingend ein Webserver (meist
+ Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2)
+ benötigt.</p><p>Zusätzlich benötigt kivitendo die folgenden Perl-Pakete, die
+ nicht Bestandteil einer Standard-Perl-Installation sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ <code class="literal">parent</code> (nur bei Perl vor 5.10.1)</p></li><li class="listitem"><p>
+ <code class="literal">Archive::Zip</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Config::Std</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">DateTime</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">DBI</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">DBD::Pg</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Email::Address</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Email::MIME</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">JSON</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">List::MoreUtils</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Net::SMTP::SSL</code> (optional, bei E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s10.html#config.sending-email.smtp" title="2.10.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
+ <code class="literal">Net::SSLGlue</code> (optional, bei E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s10.html#config.sending-email.smtp" title="2.10.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
+ <code class="literal">Params::Validate</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">PDF::API2</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Rose::Object</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Rose::DB</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Rose::DB::Object</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Template</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Text::CSV_XS</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">Text::Iconv</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">URI</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">XML::Writer</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">YAML</code>
+ </p></li></ul></div><p>Seit v2.7.0 sind die folgenden Pakete hinzugekommen: <code class="literal">Email::MIME</code>, <code class="literal">Net::SMTP::SSL</code>,
+ <code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
+ hinzugekommen, <code class="literal">URI</code> und
+ <code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
+ nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
+ <code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
+ <code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
+ neu hinzugekommen. <code class="literal">IO::Wrap</code> wurde entfernt.</p><p>Gegenüber Version 2.6.3 ist <code class="literal">JSON</code> neu
+ hinzugekommen.</p><p>
+ <code class="literal">Email::Address</code> und
+ <code class="literal">List::MoreUtils</code> sind schon länger feste
+ Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
+ sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
+ zukünftigen Version aber aus dem Paket entfernt werden. Es wird
+ empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
+ installieren.</p><p>Die zu installierenden Pakete können in den verschiedenen
+ Distributionen unterschiedlich heißen.</p><p>Für Debian oder Ubuntu benötigen Sie diese Pakete:</p><pre class="programlisting">apt-get install apache2 postgresql libarchive-zip-perl \
+ libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
+ libemail-address-perl libemail-mime-perl liblist-moreutils-perl libpdf-api2-perl \
+ librose-object-perl librose-db-perl librose-db-object-perl \
+ libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl \
+ libxml-writer-perl libyaml-perl libconfig-std-perl \
+ libparams-validate-perl libjson-perl libclass-accessor-perl \
+ libnet-sslglue-perl libnet-smtp-ssl-perl</pre><p>Für Fedora Core benötigen Sie diese Pakete:</p><pre class="programlisting">yum install httpd postgresql-server perl-parent perl-DateTime \
+ perl-DBI perl-DBD-Pg perl-Email-Address perl-Email-MIME perl-List-MoreUtils \
+ perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object \
+ perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
+ perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL</pre><p>Für OpenSuSE benötigen Sie diese Pakete:</p><pre class="programlisting">zypper install apache2 postgresql-server perl-Archive-Zip \
+ perl-DateTime perl-DBI perl-DBD-Pg perl-Email-MIME perl-MailTools perl-List-MoreUtils \
+ perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
+ perl-URI perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL</pre><p>kivitendo enthält ein Script, mit dem überprüft werden kann, ob
+ alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie
+ folgt:</p><pre class="programlisting">./scripts/installation_check.pl</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.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="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.3. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.3. 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: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes"><link rel="next" href="ch02s04.html" title="2.4. 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.3. kivitendo-Konfigurationsdatei</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.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="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. kivitendo-Konfigurationsdatei"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.config-file"></a>2.3. kivitendo-Konfigurationsdatei</h2></div></div></div><div class="sect2" title="2.3.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.introduction"></a>2.3.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.3.2. Abschnitte und Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.sections-parameters"></a>2.3.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="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.7, „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/ldap</code>
- </p></li><li class="listitem"><p>
- <code class="literal">system</code>
- </p></li><li class="listitem"><p>
- <code class="literal">features</code> (siehe Kapitel "<a class="xref" href="ch03.html" title="Kapitel 3. Features und Funktionen">Features und Funktionen</a>")</p></li><li class="listitem"><p>
- <code class="literal">paths</code>
- </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">mail_delivery</code> (siehe Abschnitt "<a class="xref" href="ch02s09.html#config.sending-email.smtp" title="2.9.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>)</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">console</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
-
-[authentication/database]
-host = localhost
-port = 5432
-db = kivitendo_auth
-user = postgres
-password =
-
-[system]
-dbcharset = UTF-8</pre><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>Nutzt man den <a class="link" href="ch02s06.html" title="2.6. Der Task-Server">Taskserver</a> für <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrende Rechnungen</a>,
- muss unter <code class="varname">[task_server]</code> ein Login eines Benutzers
- angegeben werden, mit dem sich der Taskserver an kivitendo bei der
- Datenbank anmeldet, die dem Benutzer zugewiesen ist.</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.3.3. Versionen vor 2.6.3"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.prior-versions"></a>2.3.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="ch02s02.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="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. 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.4. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.3. Manuelle Installation des Programmpaketes</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="ch02s02.html" title="2.2. Benötigte Software und Pakete"><link rel="next" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei"></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.3. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.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="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.3. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Die kivitendo ERP Installationsdatei (kivitendo-erp-2.6.3.tgz) wird
+ im Dokumentenverzeichnis des Webservers (z.B.
+ <code class="filename">/var/www/html/</code>,
+ <code class="filename">/srv/www/htdocs</code> oder
+ <code class="filename">/var/www/</code>) entpackt:</p><pre class="programlisting">cd /var/www
+tar xvzf kivitendo-erp-2.6.3.tgz</pre><p>Wechseln Sie in das entpackte Verzeichnis:</p><pre class="programlisting">cd kivitendo-erp</pre><p>Alternativ können Sie auch einen Alias in der
+ Webserverkonfiguration benutzen, um auf das tatsächliche
+ Installationsverzeichnis zu verweisen.</p><p>Die Verzeichnisse <code class="filename">users</code>, <code class="filename">spool</code> und <code class="filename">webdav</code> müssen für den Benutzer
+ beschreibbar sein, unter dem der Webserver läuft. Die restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- und
+ Gruppennamen sind bei verschiedenen Distributionen unterschiedlich (z.B. bei Debian/Ubuntu <code class="constant">www-data</code>, bei Fedora
+ core <code class="constant">apache</code> oder bei OpenSuSE <code class="constant">wwwrun</code>).</p><p>Der folgende Befehl ändert den Besitzer für die oben genannten
+ Verzeichnisse auf einem Debian/Ubuntu-System:</p><pre class="programlisting">chown -R www-data users spool webdav</pre><p>Weiterhin muss der Webserver-Benutzer in den Verzeichnissen <code class="filename">templates</code> und <code class="filename">users</code>
+ Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in kivitendo angelegt wird:</p><pre class="programlisting">chown www-data templates users</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.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="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Benötigte Software und Pakete </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.4. kivitendo-Konfigurationsdatei</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.4. Anpassung der PostgreSQL-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="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. kivitendo-Konfigurationsdatei"><link rel="next" href="ch02s05.html" title="2.5. Webserver-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.4. Anpassung der PostgreSQL-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.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="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.4. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><div class="sect2" title="2.4.1. Zeichensätze/die Verwendung von UTF-8"><div class="titlepage"><div><div><h3 class="title"><a name="Zeichens%C3%A4tze-die-Verwendung-von-UTF-8"></a>2.4.1. Zeichensätze/die Verwendung von UTF-8</h3></div></div></div><p>Bei aktuellen Serverinstallationen braucht man hier meist nicht
- eingreifen</p><p>Dieses kann überprüft werden: ist das Encoding der Datenbank
- “template1” “UTF8”, so braucht man nichts weiteres diesbezüglich
- unternehmen. Zum Testen:
+ <title>2.4. 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: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes"><link rel="next" href="ch02s05.html" title="2.5. 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.4. kivitendo-Konfigurationsdatei</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.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="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. kivitendo-Konfigurationsdatei"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.config-file"></a>2.4. kivitendo-Konfigurationsdatei</h2></div></div></div><div class="sect2" title="2.4.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.introduction"></a>2.4.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.4.2. Abschnitte und Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.sections-parameters"></a>2.4.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="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.8, „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/ldap</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">system</code>
+ </p></li><li class="listitem"><p>
+ <code class="literal">features</code> (siehe Kapitel "<a class="xref" href="ch03.html" title="Kapitel 3. Features und Funktionen">Features und Funktionen</a>")</p></li><li class="listitem"><p>
+ <code class="literal">paths</code>
+ </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">mail_delivery</code> (siehe Abschnitt "<a class="xref" href="ch02s10.html#config.sending-email.smtp" title="2.10.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>)</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">console</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
- </p><pre class="programlisting">su postgres
-echo '\l' | psql
-exit </pre><p>
+[authentication/database]
+host = localhost
+port = 5432
+db = kivitendo_auth
+user = postgres
+password =
- Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
- UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
- Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
- getan werden:</p><pre class="programlisting">pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</pre><p>Die Datenbankversionsnummer muss an die tatsächlich verwendete
- Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und
- ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
- kivitendo mit ISO-8859-15 als Encoding betrieben werden.</p><p>Das Encoding einer Datenbank kann in <span class="command"><strong>psql</strong></span> mit
- <code class="literal">\l</code> geprüft werden.</p></div><div class="sect2" title="2.4.2. Änderungen an Konfigurationsdateien"><div class="titlepage"><div><div><h3 class="title"><a name="%C3%84nderungen-an-Konfigurationsdateien"></a>2.4.2. Änderungen an Konfigurationsdateien</h3></div></div></div><p>In der Datei <code class="filename">postgresql.conf</code>, die je nach
- Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
- <code class="filename">/var/lib/pgsql/data/</code> oder
- <code class="filename">/etc/postgresql/</code>, muss sichergestellt werden,
- dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
- Parameter <code class="varname">listen_address</code> gesteuert. Laufen
- PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert
- <code class="literal">localhost</code> verwendet werden. Andernfalls müssen
- Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden,
- was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen
- Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden
- sein sollte, müssen die Berichtigungen für den Zugriff geändert
- werden. Hier gibt es mehrere Möglichkeiten. sinnvoll ist es nur die
- nögiten Verbindungen immer zuzulassen, für eine lokal laufenden
- Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password
-host all kivitendo 127.0.0.1 255.255.255.255 password</pre></div><div class="sect2" title="2.4.3. Erweiterung für servergespeicherte Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren"></a>2.4.3. Erweiterung für servergespeicherte Prozeduren</h3></div></div></div><p>In der Datenbank <code class="literal">template1</code> muss die
- Unterstützung für servergespeicherte Prozeduren eingerichet werden.
- Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an:
- </p><pre class="programlisting">su - postgres
-psql template1</pre><p>
-
- führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">create language 'plpgsql';
-\q</pre></div><div class="sect2" title="2.4.4. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.4.4. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff
- benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
- anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
- können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
- beantworten, genauso ist die Berechtigung neue User (Roles) zu
- generieren nicht nötig.</p><pre class="programlisting">su - postgres
-createuser -d -P kivitendo
-exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
- Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” bzw.
- den hier gewählten Benutzernamen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.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="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. kivitendo-Konfigurationsdatei </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.5. Webserver-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
+[system]
+dbcharset = UTF-8</pre><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>Nutzt man den <a class="link" href="ch02s07.html" title="2.7. Der Task-Server">Taskserver</a> für <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrende Rechnungen</a>,
+ muss unter <code class="varname">[task_server]</code> ein Login eines Benutzers
+ angegeben werden, mit dem sich der Taskserver an kivitendo bei der
+ Datenbank anmeldet, die dem Benutzer zugewiesen ist.</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.4.3. Versionen vor 2.6.3"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.prior-versions"></a>2.4.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="ch02s03.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="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. 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.5. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
<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="kivitendo: 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="d0e592"></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 /kivitendo-erp/ /var/www/kiviteno-erp/
+ <title>2.5. Anpassung der PostgreSQL-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="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei"><link rel="next" href="ch02s06.html" title="2.6. Webserver-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. Anpassung der PostgreSQL-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. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.5. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><div class="sect2" title="2.5.1. Zeichensätze/die Verwendung von UTF-8"><div class="titlepage"><div><div><h3 class="title"><a name="Zeichens%C3%A4tze-die-Verwendung-von-UTF-8"></a>2.5.1. Zeichensätze/die Verwendung von UTF-8</h3></div></div></div><p>Bei aktuellen Serverinstallationen braucht man hier meist nicht
+ eingreifen</p><p>Dieses kann überprüft werden: ist das Encoding der Datenbank
+ “template1” “UTF8”, so braucht man nichts weiteres diesbezüglich
+ unternehmen. Zum Testen:
-<Directory /var/www/kivitendo-erp>
- Options ExecCGI Includes FollowSymlinks
-</Directory>
+ </p><pre class="programlisting">su postgres
+echo '\l' | psql
+exit </pre><p>
-<Directory /var/www/kivitendo-erp/users>
- Order Deny,Allow
- Deny from All
-</Directory></pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
- das kivitendo-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 kivitendo 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 kivitendo 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 kivitendo 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-Versionen ab 0.69 und bis zu 0.71 inklusive sind extrem strict in der Behandlung von Unicode, und verweigern
- bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder
- aber Version 0.72 und neuer eingesetzt werden.</p><p>Mit <a class="ulink" href="http://www.cpan.org" target="_top">CPAN</a> 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 kivitendo 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 kivitendo 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 kivitendo im Dateisystem
- ("<code class="filename">/path/to/kivitendo-erp</code>") und der URL
- unterschieden, unter der kivitendo im Webbrowser erreichbar ist
- ("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
- mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
-Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/
+ Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
+ UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
+ Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
+ getan werden:</p><pre class="programlisting">pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</pre><p>Die Datenbankversionsnummer muss an die tatsächlich verwendete
+ Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und
+ ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
+ kivitendo mit ISO-8859-15 als Encoding betrieben werden.</p><p>Das Encoding einer Datenbank kann in <span class="command"><strong>psql</strong></span> mit
+ <code class="literal">\l</code> geprüft werden.</p></div><div class="sect2" title="2.5.2. Änderungen an Konfigurationsdateien"><div class="titlepage"><div><div><h3 class="title"><a name="%C3%84nderungen-an-Konfigurationsdateien"></a>2.5.2. Änderungen an Konfigurationsdateien</h3></div></div></div><p>In der Datei <code class="filename">postgresql.conf</code>, die je nach
+ Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
+ <code class="filename">/var/lib/pgsql/data/</code> oder
+ <code class="filename">/etc/postgresql/</code>, muss sichergestellt werden,
+ dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
+ Parameter <code class="varname">listen_address</code> gesteuert. Laufen
+ PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert
+ <code class="literal">localhost</code> verwendet werden. Andernfalls müssen
+ Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden,
+ was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen
+ Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden
+ sein sollte, müssen die Berichtigungen für den Zugriff geändert
+ werden. Hier gibt es mehrere Möglichkeiten. sinnvoll ist es nur die
+ nögiten Verbindungen immer zuzulassen, für eine lokal laufenden
+ Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password
+host all kivitendo 127.0.0.1 255.255.255.255 password</pre></div><div class="sect2" title="2.5.3. Erweiterung für servergespeicherte Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren"></a>2.5.3. Erweiterung für servergespeicherte Prozeduren</h3></div></div></div><p>In der Datenbank <code class="literal">template1</code> muss die
+ Unterstützung für servergespeicherte Prozeduren eingerichet werden.
+ Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an:
+ </p><pre class="programlisting">su - postgres
+psql template1</pre><p>
-<Directory /path/to/kivitendo-erp>
- AllowOverride All
- Options ExecCGI Includes FollowSymlinks
- Order Allow,Deny
- Allow from All
-</Directory>
-
-<DirectoryMatch /path/to/kivitendo-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/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
-Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/
-FcgidMaxRequestLen 10485760
-
-<Directory /path/to/kivitendo-erp>
- AllowOverride All
- Options ExecCGI Includes FollowSymlinks
- Order Allow,Deny
- Allow from All
-</Directory>
-
-<DirectoryMatch /path/to/kivitendo-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 kivitendo 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/kivitendo-erp /path/to/kivitendo-erp
-
-# Zugriff mit mod_fcgid:
-AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
-Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code>
- die normale Version erreichbar, und unter
- <code class="constant">/url/for/kivitendo-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
+ führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">create language 'plpgsql';
+\q</pre></div><div class="sect2" title="2.5.4. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.5.4. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff
+ benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
+ anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
+ können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
+ beantworten, genauso ist die Berechtigung neue User (Roles) zu
+ generieren nicht nötig.</p><pre class="programlisting">su - postgres
+createuser -d -P kivitendo
+exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
+ Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” bzw.
+ den hier gewählten Benutzernamen.</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. kivitendo-Konfigurationsdatei </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. Webserver-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.6. Der Task-Server</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="ch02s05.html" title="2.5. Webserver-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort"></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.6. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.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="ch02s07.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.6. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.6. Der Task-Server</h2></div></div></div><p>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.</p><div class="sect2" title="2.6.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.6.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt
- <code class="literal">[task_server]</code> in der Datei
- <code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren
- Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
- <code class="varname">login</code>
- </span></dt><dd><p>gültiger kivitendo-Benutzername, der benutzt wird, um die
- zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
- in der Administration angelegt werden. Diese Option muss
- angegeben werden.</p></dd><dt><span class="term">
- <code class="varname">run_as</code>
- </span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code>
- gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
- angegebenen Systembenutzer. Der Systembenutzer muss dieselben
- Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
- (siehe see <a class="xref" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
- ist es sinnvoll, hier denselben Systembenutzer einzutragen,
- unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
- <code class="varname">debug</code>
- </span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.6.2. Automatisches Starten des Task-Servers beim Booten"><div class="titlepage"><div><div><h3 class="title"><a name="Einbinden-in-den-Boot-Prozess"></a>2.6.2. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>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 kivitendo-Installationsverzeichnis.</p><p>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.</p><div class="sect3" title="2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e779"></a>2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora
- Core)</h4></div></div></div><p>Kopieren Sie die Datei
- <code class="filename">scripts/boot/system-v/kivitendo-server</code>
- nach <code class="filename">/etc/init.d/kivitendo-server</code>. Passen
- Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
- <code class="literal">DAEMON=....</code>). Binden Sie das Script in den
- Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d kivitendo-task-server defaults
-# Nur bei Debian Squeeze und neuer:
-insserv kivitendo-task-server</pre></li><li class="listitem"><p>OpenSuSE und Fedora Core:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
- werden: <span class="command"><strong>/etc/init.d/kivitendo-task-server
- start</strong></span>
- </p></div><div class="sect3" title="2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e809"></a>2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)</h4></div></div></div><p>Kopieren Sie die Datei
- <code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
- nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
- Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
- <code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
- werden: <span class="command"><strong>service kivitendo-task-server
- start</strong></span>
- </p></div></div><div class="sect2" title="2.6.3. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.6.3. Wie der Task-Server gestartet und beendet wird</h3></div></div></div><p>Der Task-Server wird wie folgt kontrolliert:</p><pre class="programlisting">./scripts/task_server.pl Befehl</pre><p>
- <code class="literal">Befehl</code> ist dabei eine der folgenden
- Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
- <code class="literal">start</code> startet eine neue Instanz des
- Task-Servers. Die Prozess-ID wird innerhalb des
- <code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p>
- <code class="literal">stop</code> beendet einen laufenden
- Task-Server.</p></li><li class="listitem"><p>
- <code class="literal">restart</code> beendet und startet ihn
- neu.</p></li><li class="listitem"><p>
- <code class="literal">status</code> berichtet, ob der Task-Server
- läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
- kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
- Runlevel-Scripte benutzt werden (siehe oben).</p></div><div class="sect2" title="2.6.4. Task-Server mit mehreren Mandanten"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle2"></a>2.6.4. Task-Server mit mehreren Mandanten</h3></div></div></div><p>Beim Task-Server wird der Login-Name des Benutzers, unter dem der
- Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat
- man mehrere Mandanten muß man auch mehrere Konfigurationsdateien
- anlegen.</p><p>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf,
- wo in der Kategorie [task_server] der gewünschte "login" steht.</p><p>Der alternative Task-Server wird dann mit folgendem Befehl
- gestartet:</p><pre class="programlisting">./scripts/task_server.pl -c config/DATEINAME.conf</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.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="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Webserver-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.7. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.6. 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="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. 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.6. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.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="ch02s07.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.6. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.6. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.6.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e652"></a>2.6.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="ch02s06.html#Apache-Konfiguration.FCGI" title="2.6.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 /kivitendo-erp/ /var/www/kiviteno-erp/
+
+<Directory /var/www/kivitendo-erp>
+ Options ExecCGI Includes FollowSymlinks
+</Directory>
+
+<Directory /var/www/kivitendo-erp/users>
+ Order Deny,Allow
+ Deny from All
+</Directory></pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
+ das kivitendo-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.6.2. Konfiguration für FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.6.2. Konfiguration für FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.6.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.6.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.6.2.2. Warum FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Warum"></a>2.6.2.2. Warum FastCGI?</h4></div></div></div><p>Perl Programme (wie kivitendo 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 kivitendo 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 kivitendo 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.6.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.6.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-Versionen ab 0.69 und bis zu 0.71 inklusive sind extrem strict in der Behandlung von Unicode, und verweigern
+ bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder
+ aber Version 0.72 und neuer eingesetzt werden.</p><p>Mit <a class="ulink" href="http://www.cpan.org" target="_top">CPAN</a> 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.6.2.4. Konfiguration des Webservers"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Konfiguration"></a>2.6.2.4. Konfiguration des Webservers</h4></div></div></div><p>Bevor Sie versuchen, eine kivitendo 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 kivitendo 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 kivitendo im Dateisystem
+ ("<code class="filename">/path/to/kivitendo-erp</code>") und der URL
+ unterschieden, unter der kivitendo im Webbrowser erreichbar ist
+ ("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
+ mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
+Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/
+
+<Directory /path/to/kivitendo-erp>
+ AllowOverride All
+ Options ExecCGI Includes FollowSymlinks
+ Order Allow,Deny
+ Allow from All
+</Directory>
+
+<DirectoryMatch /path/to/kivitendo-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/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
+Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/
+FcgidMaxRequestLen 10485760
+
+<Directory /path/to/kivitendo-erp>
+ AllowOverride All
+ Options ExecCGI Includes FollowSymlinks
+ Order Allow,Deny
+ Allow from All
+</Directory>
+
+<DirectoryMatch /path/to/kivitendo-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 kivitendo 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/kivitendo-erp /path/to/kivitendo-erp
+
+# Zugriff mit mod_fcgid:
+AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
+Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code>
+ die normale Version erreichbar, und unter
+ <code class="constant">/url/for/kivitendo-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="ch02s05.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="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. 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.7. Der Task-Server</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.7. 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: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Der Task-Server"><link rel="next" href="ch02s08.html" title="2.8. 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.7. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.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="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.7. 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.7.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.7.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
- entweder gegen die Authentifizierungsdatenbank oder gegen einen
- LDAP-Server überprüft werden.</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.7.2. Administratorpasswort"><div class="titlepage"><div><div><h3 class="title"><a name="Administratorpasswort"></a>2.7.2. Administratorpasswort</h3></div></div></div><p>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 class="varname">admin_password</code> im
- Abschnitt <code class="varname">[authentication]</code>.</p></div><div class="sect2" title="2.7.3. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Authentifizierungsdatenbank"></a>2.7.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.7.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.7.4. Passwortüberprüfung</h3></div></div></div><p>kivitendo 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 class="varname">module</code> im Abschnitt
- <code class="varname">[authentication]</code>.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
- gespeichert werden, so muss der Parameter <code class="varname">module</code>
- den Wert <code class="literal">DB</code> enthalten. In diesem Fall können sowohl
- der Administrator als auch die Benutzer selber ihre Psaswörter in
- kivitendo ändern.</p><p>Soll hingegen ein externer LDAP- oder Active-Directory-Server
- benutzt werden, so muss der Parameter <code class="varname">module</code> auf
- <code class="literal">LDAP</code> gesetzt werden. In diesem Fall müssen
- zusätzliche Informationen über den LDAP-Server im Abschnitt
- <code class="literal">[authentication/ldap]</code> angegeben werden:</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">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"><%login%></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></dl></div></div><div class="sect2" title="2.7.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.7.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.7.6. Anlegen der Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Anlegen-der-Authentifizierungsdatenbank"></a>2.7.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/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
- </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.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="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Der Task-Server </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.8. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.7. Der Task-Server</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="ch02s06.html" title="2.6. Webserver-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"></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.7. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.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="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.7. Der Task-Server</h2></div></div></div><p>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.</p><div class="sect2" title="2.7.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.7.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt
+ <code class="literal">[task_server]</code> in der Datei
+ <code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren
+ Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
+ <code class="varname">login</code>
+ </span></dt><dd><p>gültiger kivitendo-Benutzername, der benutzt wird, um die
+ zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
+ in der Administration angelegt werden. Diese Option muss
+ angegeben werden.</p></dd><dt><span class="term">
+ <code class="varname">run_as</code>
+ </span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code>
+ gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
+ angegebenen Systembenutzer. Der Systembenutzer muss dieselben
+ Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
+ (siehe see <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
+ ist es sinnvoll, hier denselben Systembenutzer einzutragen,
+ unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
+ <code class="varname">debug</code>
+ </span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.7.2. Automatisches Starten des Task-Servers beim Booten"><div class="titlepage"><div><div><h3 class="title"><a name="Einbinden-in-den-Boot-Prozess"></a>2.7.2. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>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 kivitendo-Installationsverzeichnis.</p><p>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.</p><div class="sect3" title="2.7.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e839"></a>2.7.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora
+ Core)</h4></div></div></div><p>Kopieren Sie die Datei
+ <code class="filename">scripts/boot/system-v/kivitendo-server</code>
+ nach <code class="filename">/etc/init.d/kivitendo-server</code>. Passen
+ Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
+ <code class="literal">DAEMON=....</code>). Binden Sie das Script in den
+ Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d kivitendo-task-server defaults
+# Nur bei Debian Squeeze und neuer:
+insserv kivitendo-task-server</pre></li><li class="listitem"><p>OpenSuSE und Fedora Core:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
+ werden: <span class="command"><strong>/etc/init.d/kivitendo-task-server
+ start</strong></span>
+ </p></div><div class="sect3" title="2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e869"></a>2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)</h4></div></div></div><p>Kopieren Sie die Datei
+ <code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
+ nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
+ Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
+ <code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
+ werden: <span class="command"><strong>service kivitendo-task-server
+ start</strong></span>
+ </p></div></div><div class="sect2" title="2.7.3. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.7.3. Wie der Task-Server gestartet und beendet wird</h3></div></div></div><p>Der Task-Server wird wie folgt kontrolliert:</p><pre class="programlisting">./scripts/task_server.pl Befehl</pre><p>
+ <code class="literal">Befehl</code> ist dabei eine der folgenden
+ Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ <code class="literal">start</code> startet eine neue Instanz des
+ Task-Servers. Die Prozess-ID wird innerhalb des
+ <code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p>
+ <code class="literal">stop</code> beendet einen laufenden
+ Task-Server.</p></li><li class="listitem"><p>
+ <code class="literal">restart</code> beendet und startet ihn
+ neu.</p></li><li class="listitem"><p>
+ <code class="literal">status</code> berichtet, ob der Task-Server
+ läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
+ kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
+ Runlevel-Scripte benutzt werden (siehe oben).</p></div><div class="sect2" title="2.7.4. Task-Server mit mehreren Mandanten"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle2"></a>2.7.4. Task-Server mit mehreren Mandanten</h3></div></div></div><p>Beim Task-Server wird der Login-Name des Benutzers, unter dem der
+ Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat
+ man mehrere Mandanten muß man auch mehrere Konfigurationsdateien
+ anlegen.</p><p>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf,
+ wo in der Kategorie [task_server] der gewünschte "login" steht.</p><p>Der alternative Task-Server wird dann mit folgendem Befehl
+ gestartet:</p><pre class="programlisting">./scripts/task_server.pl -c config/DATEINAME.conf</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.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="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Webserver-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.8. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.8. Benutzer- und Gruppenverwaltung</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="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s09.html" title="2.9. E-Mail-Versand aus kivitendo heraus"></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.8. Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.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="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.8. Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Benutzer, Gruppen und Datenbanken
- angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter
- folgender URL finden:</p><p>
- <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
- </p><p>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
- <code class="filename">config/kivitendo.conf</code> eingetragen haben.</p><div class="sect2" title="2.8.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.8.1. Zusammenhänge</h3></div></div></div><p>kivitendo verwendet eine Datenbank zum Speichern all seiner
- Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
- mit kivitendo arbeiten zu können, muss eine Person einen
- Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
- Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
- möglich und normal, dass mehreren Benutzern die selbe Datenbank
- zugewiesen wird, sodass sie alle mit den selben Daten arbeiten
- können.</p><p>Die Basisdaten der Benutzer, die in der Administration
- eingegeben werden können, werden in einer zweiten Datenbank
- gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese
- ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet.
- Pro kivitendo-Installation gibt es nur eine
- Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit
- Firmendaten.</p><p>kivitendo kann seinen Benutzern Zugriff auf bestimmte
- Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
- gestattet, so werden der entsprechenden Menüpunkte auch nicht
- angezeigt. Diese Rechte werden ebenfalls in der
- Authentifizierungsdatenbank gespeichert.</p><p>Um Rechte verteilen zu können, verwendet kivitendo ein
- Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
- erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
- mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
- Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
- Benutzer Mitglied ist.</p><p>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und
- Benutzer angelegt werden sollten, lautet:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Datenbank anlegen</p></li><li class="listitem"><p>Gruppen anlegen</p></li><li class="listitem"><p>Benutzer anlegen</p></li><li class="listitem"><p>Benutzer den Gruppen zuordnen</p></li></ol></div></div><div class="sect2" title="2.8.2. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.8.2. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für
- den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
- Beispielen ist dies ‘<code class="literal">kivitendo</code>’).</p><p>Wenn Sie für die kivitendo-Installation nicht Unicode (UTF-8) sondern den europäischen Schriftsatz ISO-8859-15 benutzen
- wollen, so müssen Sie vor dem Anlegen der Datenbank in der Datei <code class="filename">config/kivitendo.conf</code> die Variable
- <code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf den Wert ‘<code class="literal">ISO-8859-15</code>’ setzen.</p><p>Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
- verwenden müssen, da diese Einstellungen momentan global in kivitendo
- vorgenommen wird und nicht nach Datenbank unterschieden werden kann.
- Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
- angelegt worden sein.</p></div><div class="sect2" title="2.8.3. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.8.3. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein
- Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
- Anlegen können Sie die verschiedenen Bereiche wählen, auf die
- Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der
- Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
- Datenbanken, die in dieser Installation verwaltet werden.</p></div><div class="sect2" title="2.8.4. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.8.4. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter
- Standardeinstellungen vorgenommen, die den Gepflogenheiten des
- deutschen Raumes entsprechen.</p><p>Zwingend anzugeben sind der Loginname sowie die komplette
- Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
- Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
- gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
- aktiv, so ist das Passwort-Feld deaktiviert.</p><p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der
- eben angelegten Datenbanken eingetragen werden.</p></div><div class="sect2" title="2.8.5. Gruppenmitgliedschaften verwalten"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppenmitgliedschaften-verwalten"></a>2.8.5. Gruppenmitgliedschaften verwalten</h3></div></div></div><p>Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den
- Gruppen zugewiesen werden. Dazu gibt es zwei Möglichkeiten:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In der Gruppenverwaltung wählt man eine Gruppe aus. Im
- folgenden Dialog kann man dann einzeln die Benutzer der Gruppe
- hinzufügen.</p></li><li class="listitem"><p>In der Gruppenverwaltung wählt man das Tool zur Verwaltung
- der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die
- alle im System angelegten Gruppen und Benutzer enthält. Durch
- Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der
- Gruppe in der ausgewählten Spalte hinzugefügt.</p></li></ol></div></div><div class="sect2" title="2.8.6. Migration alter Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="Migration-alter-Installationen"></a>2.8.6. Migration alter Installationen</h3></div></div></div><p>Wenn kivitendo 2.6.3 über eine ältere Version installiert wird,
- in der die Benutzerdaten noch im Dateisystem im Verzeichnis
- <code class="literal">users</code> verwaltet wurden, so bietet kivitendo die
- Möglichkeit, diese Benutzerdaten automatisch in die
- Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man
- sich nach dem Update der Installation das erste Mal im
- Administrationsbereich anmeldet. Findet kivitendo die Datei
- <code class="literal">users/members</code>, so wird der Migrationsprozess
- gestartet.</p><p>Der Migrationsprozess ist nahezu vollautomatisch. Alle
- Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet
- kivitendo noch die Möglichkeit an, dass automatisch eine
- Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle
- Funktionen von kivitendo gewährt. Alle migrierten Benutzern werden
- Mitglied in dieser Gruppe. Damit wird das Verhalten von kivitendo bis
- Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können
- sich sofort wieder anmelden und mit dem System arbeiten.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.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="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Benutzerauthentifizierung und Administratorpasswort </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.9. E-Mail-Versand aus kivitendo heraus</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.8. 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: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s07.html" title="2.7. Der Task-Server"><link rel="next" href="ch02s09.html" title="2.9. 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.8. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.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="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.8. 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.8.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.8.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
+ entweder gegen die Authentifizierungsdatenbank oder gegen einen
+ LDAP-Server überprüft werden.</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.8.2. Administratorpasswort"><div class="titlepage"><div><div><h3 class="title"><a name="Administratorpasswort"></a>2.8.2. Administratorpasswort</h3></div></div></div><p>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 class="varname">admin_password</code> im
+ Abschnitt <code class="varname">[authentication]</code>.</p></div><div class="sect2" title="2.8.3. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Authentifizierungsdatenbank"></a>2.8.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.8.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.8.4. Passwortüberprüfung</h3></div></div></div><p>kivitendo 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 class="varname">module</code> im Abschnitt
+ <code class="varname">[authentication]</code>.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
+ gespeichert werden, so muss der Parameter <code class="varname">module</code>
+ den Wert <code class="literal">DB</code> enthalten. In diesem Fall können sowohl
+ der Administrator als auch die Benutzer selber ihre Psaswörter in
+ kivitendo ändern.</p><p>Soll hingegen ein externer LDAP- oder Active-Directory-Server
+ benutzt werden, so muss der Parameter <code class="varname">module</code> auf
+ <code class="literal">LDAP</code> gesetzt werden. In diesem Fall müssen
+ zusätzliche Informationen über den LDAP-Server im Abschnitt
+ <code class="literal">[authentication/ldap]</code> angegeben werden:</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">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"><%login%></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></dl></div></div><div class="sect2" title="2.8.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.8.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.8.6. Anlegen der Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Anlegen-der-Authentifizierungsdatenbank"></a>2.8.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/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
+ </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.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="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Der Task-Server </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.9. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.9. E-Mail-Versand aus kivitendo heraus</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="ch02s08.html" title="2.8. Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s10.html" title="2.10. Drucken mit kivitendo"></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.9. E-Mail-Versand aus kivitendo heraus</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.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="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. E-Mail-Versand aus kivitendo heraus"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.sending-email"></a>2.9. E-Mail-Versand aus kivitendo heraus</h2></div></div></div><p>kivitendo kann direkt aus dem Programm heraus E-Mails versenden, z.B. um ein Angebot direkt an einen Kunden zu
- verschicken. Damit dies funktioniert, muss eingestellt werden, über welchen Server die E-Mails verschickt werden sollen. kivitendo
- unterstützt dabei zwei Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit <span class="productname">Postfix</span>™ oder
- <span class="productname">Exim</span>™, was auch die standardmäßig aktive Methode ist) sowie Versand über einen SMTP-Server (z.B. der des
- eigenen Internet-Providers).</p><p>Welche Methode und welcher Server verwendet werden, wird über die Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
- festgelegt. Dort befinden sich alle Einstellungen zu diesem Thema im Abschnitt '<code class="literal">[mail_delivery]</code>'.</p><div class="sect2" title="2.9.1. Versand über lokalen E-Mail-Server"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email.sendmail"></a>2.9.1. Versand über lokalen E-Mail-Server</h3></div></div></div><p>Diese Methode bietet sich an, wenn auf dem Server, auf dem kivitendo läuft, bereits ein funktionsfähiger E-Mail-Server wie
- z.B. <span class="productname">Postfix</span>™, <span class="productname">Exim</span>™ oder <span class="productname">Sendmail</span>™ läuft.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = sendmail</code>' gesetzt sein. Dies ist
- gleichzeitig der Standardwert, falls er nicht verändert wird.</p><p>Um zu kontrollieren, wie das Programm zum Einliefern gestartet wird, dient der Parameter '<code class="literal">sendmail =
- ...</code>'. Der Standardwert verweist auf das Programm <code class="filename">/usr/bin/sendmail</code>, das bei allen oben genannten
- E-Mail-Serverprodukten für diesen Zweck funktionieren sollte.</p><p>Die Konfiguration des E-Mail-Servers selber würde den Rahmen dieses sprengen. Hierfür sei auf die Dokumentation des
- E-Mail-Servers verwiesen.</p></div><div class="sect2" title="2.9.2. Versand über einen SMTP-Server"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email.smtp"></a>2.9.2. Versand über einen SMTP-Server</h3></div></div></div><p>Diese Methode bietet sich an, wenn kein lokaler E-Mail-Server vorhanden oder zwar einer vorhanden, dieser aber nicht
- konfiguriert ist.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = smtp</code>' gesetzt sein. Die folgenden
- Parameter dienen dabei der weiteren Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
- <code class="varname">hostname</code>
- </span></dt><dd><p>Name oder IP-Adresse des SMTP-Servers. Standardwert: '<code class="literal">localhost</code>'</p></dd><dt><span class="term">
- <code class="varname">port</code>
- </span></dt><dd><p>Portnummer. Der Standardwert hängt von der verwendeten Verschlüsselungsmethode ab. Gilt '<code class="literal">security =
- none</code>' oder '<code class="literal">security = tls</code>', so ist 25 die Standardportnummer. Für '<code class="literal">security =
- ssl</code>' ist 465 die Portnummer. Muss normalerweise nicht geändert werden.</p></dd><dt><span class="term">
- <code class="varname">security</code>
- </span></dt><dd><p>Wahl der zu verwendenden Verschlüsselung der Verbindung mit dem Server. Standardwert ist
- '<code class="literal">none</code>', wodurch keine Verschlüsselung verwendet wird. Mit '<code class="literal">tls</code>' wird TLS-Verschlüsselung
- eingeschaltet, und mit '<code class="literal">ssl</code>' wird Verschlüsselung via SSL eingeschaltet. Achtung: Für
- '<code class="literal">tls</code>' und '<code class="literal">ssl</code>' werden zusätzliche Perl-Module benötigt (siehe unten).</p></dd><dt><span class="term">
- <code class="varname">login</code> und <code class="varname">password</code>
- </span></dt><dd><p>Falls der E-Mail-Server eine Authentifizierung verlangt, so können mit diesen zwei Parametern der Benutzername
- und das Passwort angegeben werden. Wird Authentifizierung verwendet, so sollte aus Sicherheitsgründen auch eine Form von
- Verschlüsselung aktiviert werden.</p></dd></dl></div><p>Wird Verschlüsselung über TLS oder SSL aktiviert, so werden zusätzliche Perl-Module benötigt. Diese sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>TLS-Verschlüsselung: Modul <code class="literal">Net::SSLGlue</code> (Debian-Paketname
- <code class="literal">libnet-sslglue-perl</code>, Fedora Core: <code class="literal">perl-Net-SSLGlue</code>, openSuSE:
- <code class="literal">perl-Net-SSLGlue</code>
- </p></li><li class="listitem"><p>SSL-Verschlüsselung: Modul <code class="literal">Net::SMTP::SSL</code> (Debian-Paketname
- <code class="literal">libnet-smtp-ssl-perl</code>, Fedora Core: <code class="literal">perl-Net-SMTP-SSL</code>, openSuSE:
- <code class="literal">perl-Net-SMTP-SSL</code>
- </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="ch02s08.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="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzer- und Gruppenverwaltung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.10. Drucken mit kivitendo</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.9. Benutzer- und Gruppenverwaltung</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="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s10.html" title="2.10. E-Mail-Versand aus kivitendo heraus"></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.9. Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.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="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.9. Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Benutzer, Gruppen und Datenbanken
+ angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter
+ folgender URL finden:</p><p>
+ <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
+ </p><p>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
+ <code class="filename">config/kivitendo.conf</code> eingetragen haben.</p><div class="sect2" title="2.9.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.9.1. Zusammenhänge</h3></div></div></div><p>kivitendo verwendet eine Datenbank zum Speichern all seiner
+ Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
+ mit kivitendo arbeiten zu können, muss eine Person einen
+ Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
+ Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
+ möglich und normal, dass mehreren Benutzern die selbe Datenbank
+ zugewiesen wird, sodass sie alle mit den selben Daten arbeiten
+ können.</p><p>Die Basisdaten der Benutzer, die in der Administration
+ eingegeben werden können, werden in einer zweiten Datenbank
+ gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese
+ ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet.
+ Pro kivitendo-Installation gibt es nur eine
+ Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit
+ Firmendaten.</p><p>kivitendo kann seinen Benutzern Zugriff auf bestimmte
+ Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
+ gestattet, so werden der entsprechenden Menüpunkte auch nicht
+ angezeigt. Diese Rechte werden ebenfalls in der
+ Authentifizierungsdatenbank gespeichert.</p><p>Um Rechte verteilen zu können, verwendet kivitendo ein
+ Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
+ erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
+ mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
+ Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
+ Benutzer Mitglied ist.</p><p>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und
+ Benutzer angelegt werden sollten, lautet:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Datenbank anlegen</p></li><li class="listitem"><p>Gruppen anlegen</p></li><li class="listitem"><p>Benutzer anlegen</p></li><li class="listitem"><p>Benutzer den Gruppen zuordnen</p></li></ol></div></div><div class="sect2" title="2.9.2. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.9.2. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für
+ den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
+ Beispielen ist dies ‘<code class="literal">kivitendo</code>’).</p><p>Wenn Sie für die kivitendo-Installation nicht Unicode (UTF-8) sondern den europäischen Schriftsatz ISO-8859-15 benutzen
+ wollen, so müssen Sie vor dem Anlegen der Datenbank in der Datei <code class="filename">config/kivitendo.conf</code> die Variable
+ <code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf den Wert ‘<code class="literal">ISO-8859-15</code>’ setzen.</p><p>Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
+ verwenden müssen, da diese Einstellungen momentan global in kivitendo
+ vorgenommen wird und nicht nach Datenbank unterschieden werden kann.
+ Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
+ angelegt worden sein.</p></div><div class="sect2" title="2.9.3. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.9.3. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein
+ Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
+ Anlegen können Sie die verschiedenen Bereiche wählen, auf die
+ Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der
+ Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
+ Datenbanken, die in dieser Installation verwaltet werden.</p></div><div class="sect2" title="2.9.4. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.9.4. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter
+ Standardeinstellungen vorgenommen, die den Gepflogenheiten des
+ deutschen Raumes entsprechen.</p><p>Zwingend anzugeben sind der Loginname sowie die komplette
+ Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
+ Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
+ gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
+ aktiv, so ist das Passwort-Feld deaktiviert.</p><p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der
+ eben angelegten Datenbanken eingetragen werden.</p></div><div class="sect2" title="2.9.5. Gruppenmitgliedschaften verwalten"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppenmitgliedschaften-verwalten"></a>2.9.5. Gruppenmitgliedschaften verwalten</h3></div></div></div><p>Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den
+ Gruppen zugewiesen werden. Dazu gibt es zwei Möglichkeiten:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In der Gruppenverwaltung wählt man eine Gruppe aus. Im
+ folgenden Dialog kann man dann einzeln die Benutzer der Gruppe
+ hinzufügen.</p></li><li class="listitem"><p>In der Gruppenverwaltung wählt man das Tool zur Verwaltung
+ der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die
+ alle im System angelegten Gruppen und Benutzer enthält. Durch
+ Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der
+ Gruppe in der ausgewählten Spalte hinzugefügt.</p></li></ol></div></div><div class="sect2" title="2.9.6. Migration alter Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="Migration-alter-Installationen"></a>2.9.6. Migration alter Installationen</h3></div></div></div><p>Wenn kivitendo 2.6.3 über eine ältere Version installiert wird,
+ in der die Benutzerdaten noch im Dateisystem im Verzeichnis
+ <code class="literal">users</code> verwaltet wurden, so bietet kivitendo die
+ Möglichkeit, diese Benutzerdaten automatisch in die
+ Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man
+ sich nach dem Update der Installation das erste Mal im
+ Administrationsbereich anmeldet. Findet kivitendo die Datei
+ <code class="literal">users/members</code>, so wird der Migrationsprozess
+ gestartet.</p><p>Der Migrationsprozess ist nahezu vollautomatisch. Alle
+ Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet
+ kivitendo noch die Möglichkeit an, dass automatisch eine
+ Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle
+ Funktionen von kivitendo gewährt. Alle migrierten Benutzern werden
+ Mitglied in dieser Gruppe. Damit wird das Verhalten von kivitendo bis
+ Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können
+ sich sofort wieder anmelden und mit dem System arbeiten.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.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="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzerauthentifizierung und Administratorpasswort </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.10. E-Mail-Versand aus kivitendo heraus</td></tr></table></div></body></html>
\ No newline at end of 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> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <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 drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Standard</p></li><li class="listitem"><p>f-tex</p></li><li class="listitem"><p>RB</p></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>Im Administrationsbereich lässt sich bei einem Benutzer/Mandanten einer dieser Vorlagensätze als Basis für die zu
- druckenden Dokumente auswählen. Rufen Sie dazu die <span class="guimenu">Benutzerverwaltung</span> auf.</p><p>Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge
- angeben:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
- <code class="option">Name</code>: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
- Bedingungen für Verzeichnisnamen frei gewählt werden.</p></li><li class="listitem"><p>
- <code class="option">Vorlagen auswählen</code>: Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll
- (<code class="filename">Standard</code>, <code class="filename">f-tex</code> oder <code class="filename">RB</code>.)</p></li></ol></div><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><pre class="programlisting">/scripts/installation_check.pl -l</pre></div><div class="sect2" title="2.10.2. Standard"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-Standard"></a>2.10.2. Standard</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 Verfügung stellt.</p><div class="sect3" title="2.10.3.1. Feature-Übersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Feature-%C3%9Cbersicht"></a>2.10.3.1. Feature-Übersicht</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Keine Redundanz. Es wird ein- und dieselbe LaTeX-Vorlage für alle briefartigen Dokumente verwendet. Also
- Angebot, Rechnung, Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber etc..</p></li><li class="listitem"><p>Leichte Anpassung an das Firmen-Layout durch verwendung eines Hintergrund-PDF. Dieses kann leicht mit dem
- eigenen Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp, Adobe*)</p></li><li class="listitem"><p>Hintergrund-PDF umschaltbar auf "nur erste Seite" (Standard) oder "alle Seiten" (Option
- "<code class="option">bgPdfFirstPageOnly</code>" in Datei <code class="filename">letter.lco</code>)</p></li><li class="listitem"><p>Hintergrund-PDF für Ausdruck auf bereits bedrucktem Briefpapier abschaltbar. Es wird dann nur bei per E-Mail
- versendeten Dokumenten eingebunden (Option "<code class="option">bgPdfEmailOnly</code>" in Datei
- <code class="filename">letter.lco</code>).</p></li><li class="listitem"><p>Nutzung der Layout-Funktionen von LaTeX für Seitenumbruch, Wiederholung von Kopfzeilen, Zwischensummen
- etc. (danke an Kai-Martin Knaak für die Vorarbeit)</p></li><li class="listitem"><p>Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des eigenen Unternehmens abweicht (also die
- Rechnung das Land verlässt).</p></li><li class="listitem"><p>Multisprachfähig leicht um weitere Sprachen zu erweitern, alle Übersetzungen in der Datei
- <code class="filename">translatinos.tex</code>.</p></li><li class="listitem"><p>Auflistung von Bruttopreisen für Endverbraucher.</p></li></ul></div></div><div class="sect3" title="2.10.3.2. Die Installation"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Installation"></a>2.10.3.2. Die Installation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>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.</p></li><li class="listitem"><p>Erstelle eine pdf-Hintergrund Datei und verlinke sie nach <code class="filename">./letter_head.pdf</code>.</p></li><li class="listitem"><p>Editiere den Bereich "<code class="option">settings</code>" in der datei <code class="filename">letter.lco</code>.</p></li></ul></div><p>oder etwas Detaillierter:</p><p>
- Es wird eine Datei <code class="filename">sample.lco</code> erstellt und diese nach <code class="filename">letter.lco</code> 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 <code class="filename">sample.lco</code> unverändert zu lassen. Die die Anpassung über eine
- <code class="filename">*.lco</code>-Datei die letztlich auf <code class="filename">letter.lco</code> verlinkt ist ist aber auch möglich.
- </p><p>
- Es wird eine Datei <code class="filename">sample_head.pdf</code> mit ausgeliefert, diese wird nach <code class="filename">letter_head.pdf</code>
- verlinkt. Damit gibt es schon mal eine Funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei
- <code class="filename">sample_haed.pdf</code> an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im
- Template Verzeichniss ablegen und statt <code class="filename">sample_head.pdf</code> nach <code class="filename">letter_head.pdf</code>
- verlinken.
- </p><p>
- letzlich muss <code class="filename">letter_head.pdf</code> auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf
- enthält. Bei Updates oder nach erneutem
- </p><p>
- Es wird eine Datei <code class="filename">mydata.tex.example</code> ausgeliefert, die nach <code class="filename">mytdata.tex</code> verlinkt
- ist. Bei verwendetem Hintergrund-PDF 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
- <code class="filename">*.lco</code>-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 LaTeX-Vorlage verwendet, welche über Codeweichen die
- Besonderheiten der jeweiligen Dokumente Berücksichtigt.
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Tabellen mit oder ohne Preis</p></li><li class="listitem"><p>Sprache der Tabellenüberschriften etc.</p></li><li class="listitem"><p>Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus Angebotsnummer)</p></li><li class="listitem"><p>Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus Gewerblicher
- Kunde)</p></li></ul></div><p>Nachteil:</p><p>
- LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei <code class="filename">letter.tex</code> 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 <code class="filename">sample_head.pdf</code> 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></div><div class="sect3" title="2.10.3.4. Bruttopreise für Endverbraucher"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Bruttopreise"></a>2.10.3.4. Bruttopreise für Endverbraucher</h4></div></div></div><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"><p>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)</p></li><li class="listitem"><p>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)</p></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"><p>Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste Verbunden.</p></li><li class="listitem"><p>Die Default-Zahlart kann im Kundendatensatz hinterlegt werden, und man muss nicht mehr daran denken, "alle Preise
- Netto" auszuwählen.</p></li><li class="listitem"><p>Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken reviediert werden,
- ohne dass sich der Auftragswert ändert.</p></li></ul></div></div><div class="sect3" title="2.10.3.5. Lieferadressen"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-lieferadressen"></a>2.10.3.5. Lieferadressen</h4></div></div></div><p>In Lieferscheinen kommen <code class="varname">shipto*</code>-Variablen im Adressfeld zum Einsatz. Wenn die
- <code class="varname">shipto*</code>-Variable leer ist, wird die entsprechende Adressvariable eingesetzt. Wenn also die Lieferadresse in
- Straße, 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.
- </p></div></div><div class="sect2" title="2.10.4. RB"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-RB"></a>2.10.4. RB</h3></div></div></div><p>Vollständiger Dokumentensatz mit alternativem 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:... 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> </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="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. E-Mail-Versand aus kivitendo heraus </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.10. E-Mail-Versand aus kivitendo heraus</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. Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s11.html" title="2.11. Drucken mit kivitendo"></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. E-Mail-Versand aus kivitendo heraus</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.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="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. E-Mail-Versand aus kivitendo heraus"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.sending-email"></a>2.10. E-Mail-Versand aus kivitendo heraus</h2></div></div></div><p>kivitendo kann direkt aus dem Programm heraus E-Mails versenden, z.B. um ein Angebot direkt an einen Kunden zu
+ verschicken. Damit dies funktioniert, muss eingestellt werden, über welchen Server die E-Mails verschickt werden sollen. kivitendo
+ unterstützt dabei zwei Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit <span class="productname">Postfix</span>™ oder
+ <span class="productname">Exim</span>™, was auch die standardmäßig aktive Methode ist) sowie Versand über einen SMTP-Server (z.B. der des
+ eigenen Internet-Providers).</p><p>Welche Methode und welcher Server verwendet werden, wird über die Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
+ festgelegt. Dort befinden sich alle Einstellungen zu diesem Thema im Abschnitt '<code class="literal">[mail_delivery]</code>'.</p><div class="sect2" title="2.10.1. Versand über lokalen E-Mail-Server"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email.sendmail"></a>2.10.1. Versand über lokalen E-Mail-Server</h3></div></div></div><p>Diese Methode bietet sich an, wenn auf dem Server, auf dem kivitendo läuft, bereits ein funktionsfähiger E-Mail-Server wie
+ z.B. <span class="productname">Postfix</span>™, <span class="productname">Exim</span>™ oder <span class="productname">Sendmail</span>™ läuft.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = sendmail</code>' gesetzt sein. Dies ist
+ gleichzeitig der Standardwert, falls er nicht verändert wird.</p><p>Um zu kontrollieren, wie das Programm zum Einliefern gestartet wird, dient der Parameter '<code class="literal">sendmail =
+ ...</code>'. Der Standardwert verweist auf das Programm <code class="filename">/usr/bin/sendmail</code>, das bei allen oben genannten
+ E-Mail-Serverprodukten für diesen Zweck funktionieren sollte.</p><p>Die Konfiguration des E-Mail-Servers selber würde den Rahmen dieses sprengen. Hierfür sei auf die Dokumentation des
+ E-Mail-Servers verwiesen.</p></div><div class="sect2" title="2.10.2. Versand über einen SMTP-Server"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email.smtp"></a>2.10.2. Versand über einen SMTP-Server</h3></div></div></div><p>Diese Methode bietet sich an, wenn kein lokaler E-Mail-Server vorhanden oder zwar einer vorhanden, dieser aber nicht
+ konfiguriert ist.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = smtp</code>' gesetzt sein. Die folgenden
+ Parameter dienen dabei der weiteren Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
+ <code class="varname">hostname</code>
+ </span></dt><dd><p>Name oder IP-Adresse des SMTP-Servers. Standardwert: '<code class="literal">localhost</code>'</p></dd><dt><span class="term">
+ <code class="varname">port</code>
+ </span></dt><dd><p>Portnummer. Der Standardwert hängt von der verwendeten Verschlüsselungsmethode ab. Gilt '<code class="literal">security =
+ none</code>' oder '<code class="literal">security = tls</code>', so ist 25 die Standardportnummer. Für '<code class="literal">security =
+ ssl</code>' ist 465 die Portnummer. Muss normalerweise nicht geändert werden.</p></dd><dt><span class="term">
+ <code class="varname">security</code>
+ </span></dt><dd><p>Wahl der zu verwendenden Verschlüsselung der Verbindung mit dem Server. Standardwert ist
+ '<code class="literal">none</code>', wodurch keine Verschlüsselung verwendet wird. Mit '<code class="literal">tls</code>' wird TLS-Verschlüsselung
+ eingeschaltet, und mit '<code class="literal">ssl</code>' wird Verschlüsselung via SSL eingeschaltet. Achtung: Für
+ '<code class="literal">tls</code>' und '<code class="literal">ssl</code>' werden zusätzliche Perl-Module benötigt (siehe unten).</p></dd><dt><span class="term">
+ <code class="varname">login</code> und <code class="varname">password</code>
+ </span></dt><dd><p>Falls der E-Mail-Server eine Authentifizierung verlangt, so können mit diesen zwei Parametern der Benutzername
+ und das Passwort angegeben werden. Wird Authentifizierung verwendet, so sollte aus Sicherheitsgründen auch eine Form von
+ Verschlüsselung aktiviert werden.</p></dd></dl></div><p>Wird Verschlüsselung über TLS oder SSL aktiviert, so werden zusätzliche Perl-Module benötigt. Diese sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>TLS-Verschlüsselung: Modul <code class="literal">Net::SSLGlue</code> (Debian-Paketname
+ <code class="literal">libnet-sslglue-perl</code>, Fedora Core: <code class="literal">perl-Net-SSLGlue</code>, openSuSE:
+ <code class="literal">perl-Net-SSLGlue</code>
+ </p></li><li class="listitem"><p>SSL-Verschlüsselung: Modul <code class="literal">Net::SMTP::SSL</code> (Debian-Paketname
+ <code class="literal">libnet-smtp-ssl-perl</code>, Fedora Core: <code class="literal">perl-Net-SMTP-SSL</code>, openSuSE:
+ <code class="literal">perl-Net-SMTP-SSL</code>
+ </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> </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="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Benutzer- und Gruppenverwaltung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. Drucken mit kivitendo</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.11. OpenDocument-Vorlagen</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="ch02s10.html" title="2.10. Drucken mit kivitendo"><link rel="next" href="ch02s12.html" title="2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"></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.11. OpenDocument-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.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="ch02s12.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.11. OpenDocument-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="OpenDocument-Vorlagen"></a>2.11. OpenDocument-Vorlagen</h2></div></div></div><p>kivitendo unterstützt die Verwendung von Vorlagen im
- OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt.
- kivitendo kann dabei sowohl neue OpenDocument-Dokumente als auch aus
- diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
- OpenDocument-Vorlagen zu aktivieren muss in der Datei
- <code class="filename">config/kivitendo.conf</code> die Variable
- <code class="literal">opendocument</code> im Abschnitt
- <code class="literal">print_templates</code> auf ‘<code class="literal">1</code>’ stehen.
- Dieses ist die Standardeinstellung.</p><p>Weiterhin muss in der Datei
- <code class="filename">config/kivitendo.conf</code> die Variable
- <code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf
- die Zeichenkodierung gesetzt werden, die auch bei der Speicherung der
- Daten in der Datenbank verwendet wird. Diese ist in den meisten Fällen
- "UTF-8".</p><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
- weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
- OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
- neben OpenOffice.org ab Version 2 auch der “X virtual frame buffer”
- (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten.
- Andere Distributionen enthalten ihn in anderen Paketen.</p><p>Nach der Installation müssen in der Datei
- <code class="filename">config/kivitendo.conf</code> zwei weitere Variablen
- angepasst werden: <code class="literal">openofficeorg_writer</code> muss den
- vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
- <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
- enthalten. Beide stehen im Abschnitt
- <code class="literal">applications</code>.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit
- OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die
- Variable <code class="literal">$openofficeorg_daemon</code> gesetzt ist, startet
- ein OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
- bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
- benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
- reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
- werden muss. Der Nachteil ist, dass diese Methode Python und die
- Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2
- sind.</p><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so
- wird für jedes Dokument OpenOffice neu gestartet und die Konvertierung
- mit Hilfe eines Makros durchgeführt. Dieses Makro muss in der
- Dokumentenvorlage enthalten sein und
- “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
- ‘<code class="literal">templates/mastertemplates/German/invoice.odt</code>’
- enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
- ebenfalls enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen
- OpenOffice.org Writer dem Verzeichnis mit den Benutzereinstellungen
- gibt. Unter Debian ist dies momentan
- <code class="literal">~/.openoffice.org2</code>. Sollte der Name bei Ihrer
- OpenOffice.org-Installation anders sein, so muss das Verzeichnis
- <code class="literal">users/.openoffice.org2</code> entsprechend umbenannt werden.
- Ist der Name z.B. einfach nur <code class="literal">.openoffice</code>, so wäre
- folgender Befehl auszuführen:</p><p>
- <code class="literal">mv users/.openoffice.org2
- users/.openoffice</code>
- </p><p>Dieses Verzeichnis, wie auch das komplette
- <code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
- sein. Dieses wurde bereits erledigt (siehe <a class="xref" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber
- erneut überprüft werden, wenn die Konvertierung nach PDF
- fehlschlägt.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s10.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="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. Drucken mit kivitendo </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
- EUR</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.11. 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="ch02s10.html" title="2.10. E-Mail-Versand aus kivitendo heraus"><link rel="next" href="ch02s12.html" title="2.12. 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.11. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.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="ch02s12.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.11. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.11. 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 drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Standard</p></li><li class="listitem"><p>f-tex</p></li><li class="listitem"><p>RB</p></li></ul></div><div class="sect2" title="2.11.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.11.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Im Administrationsbereich lässt sich bei einem Benutzer/Mandanten einer dieser Vorlagensätze als Basis für die zu
+ druckenden Dokumente auswählen. Rufen Sie dazu die <span class="guimenu">Benutzerverwaltung</span> auf.</p><p>Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge
+ angeben:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
+ <code class="option">Name</code>: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
+ Bedingungen für Verzeichnisnamen frei gewählt werden.</p></li><li class="listitem"><p>
+ <code class="option">Vorlagen auswählen</code>: Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll
+ (<code class="filename">Standard</code>, <code class="filename">f-tex</code> oder <code class="filename">RB</code>.)</p></li></ol></div><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><pre class="programlisting">/scripts/installation_check.pl -l</pre></div><div class="sect2" title="2.11.2. Standard"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-Standard"></a>2.11.2. Standard</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.11.3. f-tex"><div class="titlepage"><div><div><h3 class="title"><a name="f-tex"></a>2.11.3. f-tex</h3></div></div></div><p>Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur Verfügung stellt.</p><div class="sect3" title="2.11.3.1. Feature-Übersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Feature-%C3%9Cbersicht"></a>2.11.3.1. Feature-Übersicht</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Keine Redundanz. Es wird ein- und dieselbe LaTeX-Vorlage für alle briefartigen Dokumente verwendet. Also
+ Angebot, Rechnung, Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber etc..</p></li><li class="listitem"><p>Leichte Anpassung an das Firmen-Layout durch verwendung eines Hintergrund-PDF. Dieses kann leicht mit dem
+ eigenen Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp, Adobe*)</p></li><li class="listitem"><p>Hintergrund-PDF umschaltbar auf "nur erste Seite" (Standard) oder "alle Seiten" (Option
+ "<code class="option">bgPdfFirstPageOnly</code>" in Datei <code class="filename">letter.lco</code>)</p></li><li class="listitem"><p>Hintergrund-PDF für Ausdruck auf bereits bedrucktem Briefpapier abschaltbar. Es wird dann nur bei per E-Mail
+ versendeten Dokumenten eingebunden (Option "<code class="option">bgPdfEmailOnly</code>" in Datei
+ <code class="filename">letter.lco</code>).</p></li><li class="listitem"><p>Nutzung der Layout-Funktionen von LaTeX für Seitenumbruch, Wiederholung von Kopfzeilen, Zwischensummen
+ etc. (danke an Kai-Martin Knaak für die Vorarbeit)</p></li><li class="listitem"><p>Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des eigenen Unternehmens abweicht (also die
+ Rechnung das Land verlässt).</p></li><li class="listitem"><p>Multisprachfähig leicht um weitere Sprachen zu erweitern, alle Übersetzungen in der Datei
+ <code class="filename">translatinos.tex</code>.</p></li><li class="listitem"><p>Auflistung von Bruttopreisen für Endverbraucher.</p></li></ul></div></div><div class="sect3" title="2.11.3.2. Die Installation"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Installation"></a>2.11.3.2. Die Installation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Vorlagenverzeichnis mit Option f-tex anlegen, siehe: <a class="xref" href="ch02s11.html#Vorlagenverzeichnis-anlegen" title="2.11.1. Vorlagenverzeichnis anlegen">Vorlagenverzeichnis anlegen</a>. Das
+ Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen Beispiel-Briefkopf.</p></li><li class="listitem"><p>Erstelle eine pdf-Hintergrund Datei und verlinke sie nach <code class="filename">./letter_head.pdf</code>.</p></li><li class="listitem"><p>Editiere den Bereich "<code class="option">settings</code>" in der datei <code class="filename">letter.lco</code>.</p></li></ul></div><p>oder etwas Detaillierter:</p><p>
+ Es wird eine Datei <code class="filename">sample.lco</code> erstellt und diese nach <code class="filename">letter.lco</code> 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 <code class="filename">sample.lco</code> unverändert zu lassen. Die die Anpassung über eine
+ <code class="filename">*.lco</code>-Datei die letztlich auf <code class="filename">letter.lco</code> verlinkt ist ist aber auch möglich.
+ </p><p>
+ Es wird eine Datei <code class="filename">sample_head.pdf</code> mit ausgeliefert, diese wird nach <code class="filename">letter_head.pdf</code>
+ verlinkt. Damit gibt es schon mal eine Funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei
+ <code class="filename">sample_haed.pdf</code> an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im
+ Template Verzeichniss ablegen und statt <code class="filename">sample_head.pdf</code> nach <code class="filename">letter_head.pdf</code>
+ verlinken.
+ </p><p>
+ letzlich muss <code class="filename">letter_head.pdf</code> auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf
+ enthält. Bei Updates oder nach erneutem
+ </p><p>
+ Es wird eine Datei <code class="filename">mydata.tex.example</code> ausgeliefert, die nach <code class="filename">mytdata.tex</code> verlinkt
+ ist. Bei verwendetem Hintergrund-PDF 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
+ <code class="filename">*.lco</code>-Datei erfolgen.
+ </p></div><div class="sect3" title="2.11.3.3. f-tex Funktionsübersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Funktions%C3%BCbersicht"></a>2.11.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 LaTeX-Vorlage verwendet, welche über Codeweichen die
+ Besonderheiten der jeweiligen Dokumente Berücksichtigt.
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Tabellen mit oder ohne Preis</p></li><li class="listitem"><p>Sprache der Tabellenüberschriften etc.</p></li><li class="listitem"><p>Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus Angebotsnummer)</p></li><li class="listitem"><p>Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus Gewerblicher
+ Kunde)</p></li></ul></div><p>Nachteil:</p><p>
+ LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei <code class="filename">letter.tex</code> 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 <code class="filename">sample_head.pdf</code> 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></div><div class="sect3" title="2.11.3.4. Bruttopreise für Endverbraucher"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Bruttopreise"></a>2.11.3.4. Bruttopreise für Endverbraucher</h4></div></div></div><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"><p>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)</p></li><li class="listitem"><p>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)</p></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"><p>Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste Verbunden.</p></li><li class="listitem"><p>Die Default-Zahlart kann im Kundendatensatz hinterlegt werden, und man muss nicht mehr daran denken, "alle Preise
+ Netto" auszuwählen.</p></li><li class="listitem"><p>Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken reviediert werden,
+ ohne dass sich der Auftragswert ändert.</p></li></ul></div></div><div class="sect3" title="2.11.3.5. Lieferadressen"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-lieferadressen"></a>2.11.3.5. Lieferadressen</h4></div></div></div><p>In Lieferscheinen kommen <code class="varname">shipto*</code>-Variablen im Adressfeld zum Einsatz. Wenn die
+ <code class="varname">shipto*</code>-Variable leer ist, wird die entsprechende Adressvariable eingesetzt. Wenn also die Lieferadresse in
+ Straße, 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.
+ </p></div></div><div class="sect2" title="2.11.4. RB"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-RB"></a>2.11.4. RB</h3></div></div></div><p>Vollständiger Dokumentensatz mit alternativem Design</p></div><div class="sect2" title="2.11.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="allgemeine-hinweise-zu-latex"></a>2.11.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:... 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="ch02s10.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="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. E-Mail-Versand aus kivitendo heraus </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.12. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR</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="ch02s11.html" title="2.11. OpenDocument-Vorlagen"><link rel="next" href="ch02s13.html" title="2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"></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.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
- EUR</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s11.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="ch02s13.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.eur"></a>2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
- EUR</h2></div></div></div><div class="sect2" title="2.12.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.introduction"></a>2.12.1. Einführung</h3></div></div></div><p>kivitendo besaß bis inklusive Version 2.6.3 einen Konfigurationsparameter namens <code class="varname">eur</code>, der sich in der
- Konfigurationsdatei <code class="filename">config/kivitendo.conf</code> (damals noch <code class="filename">config/lx_office.conf</code>)
- befand. Somit galt er für alle Mandanten, die in dieser Installation benutzt wurden.</p><p>Mit der nachfolgenden Version wurde der Parameter zum Einen in
- die Mandantendatenbank verschoben und dabei auch gleich in drei
- Einzelparameter aufgeteilt, mit denen sich das Verhalten genauer
- steuern lässt.</p></div><div class="sect2" title="2.12.2. Konfigurationsparameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.parameters"></a>2.12.2. Konfigurationsparameter</h3></div></div></div><p>Es gibt drei Parameter, die die Gewinnermittlungsart,
- Versteuerungsart und die Warenbuchungsmethode regeln:</p><div class="variablelist"><dl><dt><span class="term">
- <code class="varname">profit_determination</code>
- </span></dt><dd><p>Dieser Parameter legt die Berechnungsmethode für die
- Gewinnermittlung fest. Er enthält entweder
- <code class="literal">balance</code> für
- Betriebsvermögensvergleich/Bilanzierung oder
- <code class="literal">income</code> für die
- Einnahmen-Überschuss-Rechnung.</p></dd><dt><span class="term">
- <code class="varname">accounting_method</code>
- </span></dt><dd><p>Dieser Parameter steuert die Buchungs- und
- Berechnungsmethoden für die Versteuerungsart. Er enthält
- entweder <code class="literal">accrual</code> für die Soll-Versteuerung
- oder <code class="literal">cash</code> für die Ist-Versteuerung.</p></dd><dt><span class="term">
- <code class="varname">inventory_system</code>
- </span></dt><dd><p>Dieser Parameter legt die Warenbuchungsmethode fest. Er
- enthält entweder <code class="literal">perpetual</code> für die
- Bestandsmethode oder <code class="literal">periodic</code> für die
- Aufwandsmethode.</p></dd></dl></div><p>Zum Vergleich der Funktionalität bis und nach 2.6.3:
- <code class="varname">eur</code> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
- Ist-Versteuerung und Aufwandsmethode. <code class="varname">eur</code> = 0
- bedeutete hingegen Bilanzierung, Soll-Versteuerung und
- Bestandsmethode.</p><p>Die Konfiguration "<code class="varname">eur</code>" unter
- <code class="varname">[system]</code> in der <a class="link" href="ch02s03.html" title="2.3. kivitendo-Konfigurationsdatei">Konfigurationsdatei</a>
-
- <code class="filename">config/kivitendo.conf</code> wird nun nicht mehr
- benötigt und kann entfernt werden. Dies muss manuell geschehen.</p></div><div class="sect2" title="2.12.3. Festlegen der Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.setting-parameters"></a>2.12.3. Festlegen der Parameter</h3></div></div></div><p>Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in
- der Admininstration können diese Optionen nun unabhängig voneinander
- eingestellt werden.</p><p>Beim Upgrade bestehender Mandanten wird eur ausgelesen und die
- Variablen werden so gesetzt, daß sich an der Funktionalität nichts
- ändert.</p><p>Die aktuelle Konfiguration wird unter Nummernkreise und
- Standardkonten unter dem neuen Punkt "Einstellungen" (read-only)
- angezeigt. Unter <span class="guimenu">System</span>
- -> <span class="guisubmenu">Mandantenkonfiguration</span> können
- die Einstellungen auch geändert werden. Dabei ist zu beachten,
- dass eine Änderung vorhandene Daten so belässt und damit
- evtl. die Ergebnisse verfälscht. Dies gilt vor Allem für die
- Warenbuchungsmethode (siehe auch
- <a class="link" href="ch02s12.html#config.eur.inventory-system-perpetual" title="2.12.4. Bemerkungen zu Bestandsmethode">
- Bemerkungen zu Bestandsmethode</a>).</p></div><div class="sect2" title="2.12.4. Bemerkungen zu Bestandsmethode"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.inventory-system-perpetual"></a>2.12.4. Bemerkungen zu Bestandsmethode</h3></div></div></div><p>Die Bestandsmethode ist eigentlich eine sehr elegante Methode,
- funktioniert in kivitendo aber nur unter bestimmten Bedingungen:
- Voraussetzung ist, daß auch immer alle Einkaufsrechnungen gepflegt
- werden, und man beim Jahreswechsel nicht mit einer leeren Datenbank
- anfängt, da bei jedem Verkauf anhand der gesamten Rechnungshistorie
- der Einkaufswert der Ware nach dem FIFO-Prinzip aus den
- Einkaufsrechnungen berechnet wird.</p><p>Die Bestandsmethode kann vom Prinzip her also nur funktioneren,
- wenn man mit den Buchungen bei Null anfängt, und man kann auch nicht
- im laufenden Betrieb von der Aufwandsmethode zur Bestandsmethode
- wechseln.</p></div><div class="sect2" title="2.12.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.knonw-issues"></a>2.12.5. Bekannte Probleme</h3></div></div></div><p>Bei bestimmten Berichten kann man derzeit noch inviduell
- einstellen, ob man nach Ist- oder Sollversteuerung auswertet, und es
- werden im Code Variablen wie $accrual oder $cash gesetzt. Diese
- Codestellen wurden noch nicht angepasst, sondern nur die, wo bisher
- die Konfigurationsvariable
- <code class="varname">$::lx_office_conf{system}->{eur}</code> ausgewertet
- wurde.</p><p>Es fehlen Hilfetext beim Neuanlegen eines Mandanten, was die
- Optionen bewirken, z.B. mit zwei Standardfällen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s11.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="ch02s13.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.11. OpenDocument-Vorlagen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.12. OpenDocument-Vorlagen</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="ch02s11.html" title="2.11. Drucken mit kivitendo"><link rel="next" href="ch02s13.html" title="2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"></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.12. OpenDocument-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s11.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="ch02s13.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.12. OpenDocument-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="OpenDocument-Vorlagen"></a>2.12. OpenDocument-Vorlagen</h2></div></div></div><p>kivitendo unterstützt die Verwendung von Vorlagen im
+ OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt.
+ kivitendo kann dabei sowohl neue OpenDocument-Dokumente als auch aus
+ diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
+ OpenDocument-Vorlagen zu aktivieren muss in der Datei
+ <code class="filename">config/kivitendo.conf</code> die Variable
+ <code class="literal">opendocument</code> im Abschnitt
+ <code class="literal">print_templates</code> auf ‘<code class="literal">1</code>’ stehen.
+ Dieses ist die Standardeinstellung.</p><p>Weiterhin muss in der Datei
+ <code class="filename">config/kivitendo.conf</code> die Variable
+ <code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf
+ die Zeichenkodierung gesetzt werden, die auch bei der Speicherung der
+ Daten in der Datenbank verwendet wird. Diese ist in den meisten Fällen
+ "UTF-8".</p><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
+ weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
+ OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
+ neben OpenOffice.org ab Version 2 auch der “X virtual frame buffer”
+ (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten.
+ Andere Distributionen enthalten ihn in anderen Paketen.</p><p>Nach der Installation müssen in der Datei
+ <code class="filename">config/kivitendo.conf</code> zwei weitere Variablen
+ angepasst werden: <code class="literal">openofficeorg_writer</code> muss den
+ vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
+ <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
+ enthalten. Beide stehen im Abschnitt
+ <code class="literal">applications</code>.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit
+ OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die
+ Variable <code class="literal">$openofficeorg_daemon</code> gesetzt ist, startet
+ ein OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
+ bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
+ benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
+ reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
+ werden muss. Der Nachteil ist, dass diese Methode Python und die
+ Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2
+ sind.</p><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so
+ wird für jedes Dokument OpenOffice neu gestartet und die Konvertierung
+ mit Hilfe eines Makros durchgeführt. Dieses Makro muss in der
+ Dokumentenvorlage enthalten sein und
+ “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
+ ‘<code class="literal">templates/mastertemplates/German/invoice.odt</code>’
+ enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
+ ebenfalls enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen
+ OpenOffice.org Writer dem Verzeichnis mit den Benutzereinstellungen
+ gibt. Unter Debian ist dies momentan
+ <code class="literal">~/.openoffice.org2</code>. Sollte der Name bei Ihrer
+ OpenOffice.org-Installation anders sein, so muss das Verzeichnis
+ <code class="literal">users/.openoffice.org2</code> entsprechend umbenannt werden.
+ Ist der Name z.B. einfach nur <code class="literal">.openoffice</code>, so wäre
+ folgender Befehl auszuführen:</p><p>
+ <code class="literal">mv users/.openoffice.org2
+ users/.openoffice</code>
+ </p><p>Dieses Verzeichnis, wie auch das komplette
+ <code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
+ sein. Dieses wurde bereits erledigt (siehe <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber
+ erneut überprüft werden, wenn die Konvertierung nach PDF
+ fehlschlägt.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s11.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="ch02s13.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.11. Drucken mit kivitendo </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ EUR</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</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="ch02s12.html" title="2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><link rel="next" href="ch02s14.html" title="2.14. Einstellungen pro Mandant"></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.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.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="ch02s14.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.skr04-update-3804"></a>2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</h2></div></div></div><div class="sect2" title="2.13.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.introduction"></a>2.13.1. Einführung</h3></div></div></div><p>Die Umsatzsteuerumstellung auf 19% für SKR04 für die
- Steuerschlüssel "EU ohne USt-ID Nummer" ist erst 2010 erfolgt.
- kivitendo beinhaltet ein Upgradeskript, das das Konto 3804 automatisch
- erstellt und die Steuereinstellungen korrekt einstellt. Hat der
- Benutzer aber schon selber das Konto 3804 angelegt, oder gab es schon
- Buchungen im Zeitraum nach dem 01.01.2007 auf das Konto 3803, wird das
- Upgradeskript vorsichtshalber nicht ausgeführt, da der Benutzer sich
- vielleicht schon selbst geholfen hat und mit seinen Änderungen
- zufrieden ist. Die korrekten Einstellungen kann man aber auch per Hand
- ausführen. Nachfolgend werden die entsprechenden Schritte anhand von
- Screenshots dargestellt.</p><p>Für den Fall, daß Buchungen mit der Steuerschlüssel "EU ohne
- USt.-IdNr." nach dem 01.01.2007 erfolgt sind, ist davon auszugehen,
- dass diese mit dem alten Umsatzsteuersatz von 16% gebucht worden sind,
- und diese Buchungen sollten entsprechend kontrolliert werden.</p></div><div class="sect2" title="2.13.2. Konto 3804 manuell anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.create-chart"></a>2.13.2. Konto 3804 manuell anlegen</h3></div></div></div><p>Die folgenden Schritte sind notwendig, um das Konto manuell
- anzulegen und zu konfigurieren. Zuerst wird in
- <span class="guimenu">System</span> ->
- <span class="guisubmenu">Kontenübersicht</span> -> <span class="guimenuitem">Konto
- erfassen</span> das Konto angelegt.</p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto3804.png"></div></div><p>
- Als Zweites muss Steuergruppe 13 für Konto 3803 angepasst werden. Dazu unter <span class="guimenu">System</span> ->
- <span class="guisubmenu">Steuern</span> -> <span class="guimenuitem">Bearbeiten</span> den Eintrag mit Steuerschlüssel 13 auswählen und ihn
- wie im folgenden Screenshot angezeigt anpassen.
- </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3803.png"></div></div><p>
- Als Drittes wird ein neuer Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) angelegt. Dazu unter <span class="guimenu">System</span> ->
- <span class="guisubmenu">Steuern</span> -> <span class="guimenuitem">Erfassen</span> auswählen und die Werte aus dem Screenshot übernehmen.
- </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3804.png"></div></div><p>
- Als Nächstes sind alle Konten anzupassen, die als Steuerautomatikkonto die 3803 haben, sodass sie ab dem 1.1.2007 auch
- Steuerautomatik auf 3804 bekommen. Dies betrifft in der Standardkonfiguration die Konten 4315 und 4726. Als Beispiel für 4315
- müssen Sie dazu unter <span class="guimenu">System</span> -> <span class="guisubmenu">Kontenübersicht</span> -> <span class="guimenuitem">Konten
- anzeigen</span> das Konto 4315 anklicken und die Einstellungen wie im Screenshot gezeigt vornehmen.
- </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto4315.png"></div></div><p>
- Als Letztes sollte die Steuerliste unter <span class="guimenu">System</span> -> <span class="guisubmenu">Steuern</span> ->
- <span class="guimenuitem">Bearbeiten</span> kontrolliert werden. Zum Vergleich der Screenshot.
- </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuerliste.png"></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s12.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="ch02s14.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
- EUR </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.14. Einstellungen pro Mandant</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR</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="ch02s12.html" title="2.12. OpenDocument-Vorlagen"><link rel="next" href="ch02s14.html" title="2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"></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.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ EUR</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.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="ch02s14.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.eur"></a>2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ EUR</h2></div></div></div><div class="sect2" title="2.13.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.introduction"></a>2.13.1. Einführung</h3></div></div></div><p>kivitendo besaß bis inklusive Version 2.6.3 einen Konfigurationsparameter namens <code class="varname">eur</code>, der sich in der
+ Konfigurationsdatei <code class="filename">config/kivitendo.conf</code> (damals noch <code class="filename">config/lx_office.conf</code>)
+ befand. Somit galt er für alle Mandanten, die in dieser Installation benutzt wurden.</p><p>Mit der nachfolgenden Version wurde der Parameter zum Einen in
+ die Mandantendatenbank verschoben und dabei auch gleich in drei
+ Einzelparameter aufgeteilt, mit denen sich das Verhalten genauer
+ steuern lässt.</p></div><div class="sect2" title="2.13.2. Konfigurationsparameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.parameters"></a>2.13.2. Konfigurationsparameter</h3></div></div></div><p>Es gibt drei Parameter, die die Gewinnermittlungsart,
+ Versteuerungsart und die Warenbuchungsmethode regeln:</p><div class="variablelist"><dl><dt><span class="term">
+ <code class="varname">profit_determination</code>
+ </span></dt><dd><p>Dieser Parameter legt die Berechnungsmethode für die
+ Gewinnermittlung fest. Er enthält entweder
+ <code class="literal">balance</code> für
+ Betriebsvermögensvergleich/Bilanzierung oder
+ <code class="literal">income</code> für die
+ Einnahmen-Überschuss-Rechnung.</p></dd><dt><span class="term">
+ <code class="varname">accounting_method</code>
+ </span></dt><dd><p>Dieser Parameter steuert die Buchungs- und
+ Berechnungsmethoden für die Versteuerungsart. Er enthält
+ entweder <code class="literal">accrual</code> für die Soll-Versteuerung
+ oder <code class="literal">cash</code> für die Ist-Versteuerung.</p></dd><dt><span class="term">
+ <code class="varname">inventory_system</code>
+ </span></dt><dd><p>Dieser Parameter legt die Warenbuchungsmethode fest. Er
+ enthält entweder <code class="literal">perpetual</code> für die
+ Bestandsmethode oder <code class="literal">periodic</code> für die
+ Aufwandsmethode.</p></dd></dl></div><p>Zum Vergleich der Funktionalität bis und nach 2.6.3:
+ <code class="varname">eur</code> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
+ Ist-Versteuerung und Aufwandsmethode. <code class="varname">eur</code> = 0
+ bedeutete hingegen Bilanzierung, Soll-Versteuerung und
+ Bestandsmethode.</p><p>Die Konfiguration "<code class="varname">eur</code>" unter
+ <code class="varname">[system]</code> in der <a class="link" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei">Konfigurationsdatei</a>
+
+ <code class="filename">config/kivitendo.conf</code> wird nun nicht mehr
+ benötigt und kann entfernt werden. Dies muss manuell geschehen.</p></div><div class="sect2" title="2.13.3. Festlegen der Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.setting-parameters"></a>2.13.3. Festlegen der Parameter</h3></div></div></div><p>Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in
+ der Admininstration können diese Optionen nun unabhängig voneinander
+ eingestellt werden.</p><p>Beim Upgrade bestehender Mandanten wird eur ausgelesen und die
+ Variablen werden so gesetzt, daß sich an der Funktionalität nichts
+ ändert.</p><p>Die aktuelle Konfiguration wird unter Nummernkreise und
+ Standardkonten unter dem neuen Punkt "Einstellungen" (read-only)
+ angezeigt. Unter <span class="guimenu">System</span>
+ -> <span class="guisubmenu">Mandantenkonfiguration</span> können
+ die Einstellungen auch geändert werden. Dabei ist zu beachten,
+ dass eine Änderung vorhandene Daten so belässt und damit
+ evtl. die Ergebnisse verfälscht. Dies gilt vor Allem für die
+ Warenbuchungsmethode (siehe auch
+ <a class="link" href="ch02s13.html#config.eur.inventory-system-perpetual" title="2.13.4. Bemerkungen zu Bestandsmethode">
+ Bemerkungen zu Bestandsmethode</a>).</p></div><div class="sect2" title="2.13.4. Bemerkungen zu Bestandsmethode"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.inventory-system-perpetual"></a>2.13.4. Bemerkungen zu Bestandsmethode</h3></div></div></div><p>Die Bestandsmethode ist eigentlich eine sehr elegante Methode,
+ funktioniert in kivitendo aber nur unter bestimmten Bedingungen:
+ Voraussetzung ist, daß auch immer alle Einkaufsrechnungen gepflegt
+ werden, und man beim Jahreswechsel nicht mit einer leeren Datenbank
+ anfängt, da bei jedem Verkauf anhand der gesamten Rechnungshistorie
+ der Einkaufswert der Ware nach dem FIFO-Prinzip aus den
+ Einkaufsrechnungen berechnet wird.</p><p>Die Bestandsmethode kann vom Prinzip her also nur funktioneren,
+ wenn man mit den Buchungen bei Null anfängt, und man kann auch nicht
+ im laufenden Betrieb von der Aufwandsmethode zur Bestandsmethode
+ wechseln.</p></div><div class="sect2" title="2.13.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.knonw-issues"></a>2.13.5. Bekannte Probleme</h3></div></div></div><p>Bei bestimmten Berichten kann man derzeit noch inviduell
+ einstellen, ob man nach Ist- oder Sollversteuerung auswertet, und es
+ werden im Code Variablen wie $accrual oder $cash gesetzt. Diese
+ Codestellen wurden noch nicht angepasst, sondern nur die, wo bisher
+ die Konfigurationsvariable
+ <code class="varname">$::lx_office_conf{system}->{eur}</code> ausgewertet
+ wurde.</p><p>Es fehlen Hilfetext beim Neuanlegen eines Mandanten, was die
+ Optionen bewirken, z.B. mit zwei Standardfällen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s12.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="ch02s14.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. OpenDocument-Vorlagen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.14. Einstellungen pro Mandant</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="ch02s13.html" title="2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><link rel="next" href="ch02s15.html" title="2.15. kivitendo ERP verwenden"></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.14. Einstellungen pro Mandant</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.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="ch02s15.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.14. Einstellungen pro Mandant"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.client"></a>2.14. Einstellungen pro Mandant</h2></div></div></div><p>Einige Einstellungen können von einem Benutzer mit dem
- <a class="link" href="ch02s08.html#Zusammenh%C3%A4nge" title="2.8.1. Zusammenhänge">Recht</a> "Administration
- (Für die Verwaltung der aktuellen Instanz aus einem Userlogin heraus)"
- gemacht werden. Diese Einstellungen sind dann für die aktuellen
- Mandanten-Datenbank gültig. Die Einstellungen sind
- unter <span class="guimenu">System</span>
- -> <span class="guisubmenu">Mandantenkonfiguration</span> erreichbar.</p><p>Bitte beachten Sie die Hinweise zu den einzelnen
- Einstellungen. Einige Einstellungen sollten nicht ohne Weiteres
- im laufenden Betrieb geändert werden (siehe
- auch <a class="link" href="ch02s12.html#config.eur.inventory-system-perpetual" title="2.12.4. Bemerkungen zu Bestandsmethode">Bemerkungen zu
- Bestandsmethode</a>).</p><p>Die Einstellungen <code class="literal">show_bestbefore</code>
- und <code class="literal">payments_changeable</code> aus dem
- Abschnitt <code class="literal">features</code> und die Einstellungen im
- Abschnitt <code class="literal">datev_check</code> (sofern schon vorhanden)
- der <a class="link" href="ch02s03.html" title="2.3. kivitendo-Konfigurationsdatei">kivitendo-Konfigurationsdatei</a>
- werden bei einem Datenbankupdate einer älteren Version automatisch
- übernommen. Diese Einträge können danach aus der Konfigurationsdatei
- entfernt werden.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s13.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="ch02s15.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.15. kivitendo ERP verwenden</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</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="ch02s13.html" title="2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><link rel="next" href="ch02s15.html" title="2.15. Einstellungen pro Mandant"></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.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.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="ch02s15.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.skr04-update-3804"></a>2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</h2></div></div></div><div class="sect2" title="2.14.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.introduction"></a>2.14.1. Einführung</h3></div></div></div><p>Die Umsatzsteuerumstellung auf 19% für SKR04 für die
+ Steuerschlüssel "EU ohne USt-ID Nummer" ist erst 2010 erfolgt.
+ kivitendo beinhaltet ein Upgradeskript, das das Konto 3804 automatisch
+ erstellt und die Steuereinstellungen korrekt einstellt. Hat der
+ Benutzer aber schon selber das Konto 3804 angelegt, oder gab es schon
+ Buchungen im Zeitraum nach dem 01.01.2007 auf das Konto 3803, wird das
+ Upgradeskript vorsichtshalber nicht ausgeführt, da der Benutzer sich
+ vielleicht schon selbst geholfen hat und mit seinen Änderungen
+ zufrieden ist. Die korrekten Einstellungen kann man aber auch per Hand
+ ausführen. Nachfolgend werden die entsprechenden Schritte anhand von
+ Screenshots dargestellt.</p><p>Für den Fall, daß Buchungen mit der Steuerschlüssel "EU ohne
+ USt.-IdNr." nach dem 01.01.2007 erfolgt sind, ist davon auszugehen,
+ dass diese mit dem alten Umsatzsteuersatz von 16% gebucht worden sind,
+ und diese Buchungen sollten entsprechend kontrolliert werden.</p></div><div class="sect2" title="2.14.2. Konto 3804 manuell anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.create-chart"></a>2.14.2. Konto 3804 manuell anlegen</h3></div></div></div><p>Die folgenden Schritte sind notwendig, um das Konto manuell
+ anzulegen und zu konfigurieren. Zuerst wird in
+ <span class="guimenu">System</span> ->
+ <span class="guisubmenu">Kontenübersicht</span> -> <span class="guimenuitem">Konto
+ erfassen</span> das Konto angelegt.</p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto3804.png"></div></div><p>
+ Als Zweites muss Steuergruppe 13 für Konto 3803 angepasst werden. Dazu unter <span class="guimenu">System</span> ->
+ <span class="guisubmenu">Steuern</span> -> <span class="guimenuitem">Bearbeiten</span> den Eintrag mit Steuerschlüssel 13 auswählen und ihn
+ wie im folgenden Screenshot angezeigt anpassen.
+ </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3803.png"></div></div><p>
+ Als Drittes wird ein neuer Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) angelegt. Dazu unter <span class="guimenu">System</span> ->
+ <span class="guisubmenu">Steuern</span> -> <span class="guimenuitem">Erfassen</span> auswählen und die Werte aus dem Screenshot übernehmen.
+ </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3804.png"></div></div><p>
+ Als Nächstes sind alle Konten anzupassen, die als Steuerautomatikkonto die 3803 haben, sodass sie ab dem 1.1.2007 auch
+ Steuerautomatik auf 3804 bekommen. Dies betrifft in der Standardkonfiguration die Konten 4315 und 4726. Als Beispiel für 4315
+ müssen Sie dazu unter <span class="guimenu">System</span> -> <span class="guisubmenu">Kontenübersicht</span> -> <span class="guimenuitem">Konten
+ anzeigen</span> das Konto 4315 anklicken und die Einstellungen wie im Screenshot gezeigt vornehmen.
+ </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto4315.png"></div></div><p>
+ Als Letztes sollte die Steuerliste unter <span class="guimenu">System</span> -> <span class="guisubmenu">Steuern</span> ->
+ <span class="guimenuitem">Bearbeiten</span> kontrolliert werden. Zum Vergleich der Screenshot.
+ </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuerliste.png"></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s13.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="ch02s15.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ EUR </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.15. Einstellungen pro Mandant</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>2.15. kivitendo ERP verwenden</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="ch02s14.html" title="2.14. Einstellungen pro Mandant"><link rel="next" href="ch03.html" title="Kapitel 3. Features und Funktionen"></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.15. kivitendo ERP verwenden</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s14.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="ch03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.15. kivitendo ERP verwenden"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kivitendo-ERP-verwenden"></a>2.15. kivitendo ERP verwenden</h2></div></div></div><p>Nach erfolgreicher Installation ist der Loginbildschirm unter
- folgender URL erreichbar:</p><p>
- <a class="ulink" href="http://localhost/kivitendo-erp/login.pl" target="_top">http://localhost/kivitendo-erp/login.pl</a>
- </p><p>Die Administrationsseite erreichen Sie unter:</p><p>
- <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
- </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s14.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="ch03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.14. Einstellungen pro Mandant </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 3. Features und Funktionen</td></tr></table></div></body></html>
\ No newline at end of file
+ <title>2.15. Einstellungen pro Mandant</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="ch02s14.html" title="2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><link rel="next" href="ch02s16.html" title="2.16. kivitendo ERP verwenden"></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.15. Einstellungen pro Mandant</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s14.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="ch02s16.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.15. Einstellungen pro Mandant"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.client"></a>2.15. Einstellungen pro Mandant</h2></div></div></div><p>Einige Einstellungen können von einem Benutzer mit dem
+ <a class="link" href="ch02s09.html#Zusammenh%C3%A4nge" title="2.9.1. Zusammenhänge">Recht</a> "Administration
+ (Für die Verwaltung der aktuellen Instanz aus einem Userlogin heraus)"
+ gemacht werden. Diese Einstellungen sind dann für die aktuellen
+ Mandanten-Datenbank gültig. Die Einstellungen sind
+ unter <span class="guimenu">System</span>
+ -> <span class="guisubmenu">Mandantenkonfiguration</span> erreichbar.</p><p>Bitte beachten Sie die Hinweise zu den einzelnen
+ Einstellungen. Einige Einstellungen sollten nicht ohne Weiteres
+ im laufenden Betrieb geändert werden (siehe
+ auch <a class="link" href="ch02s13.html#config.eur.inventory-system-perpetual" title="2.13.4. Bemerkungen zu Bestandsmethode">Bemerkungen zu
+ Bestandsmethode</a>).</p><p>Die Einstellungen <code class="literal">show_bestbefore</code>
+ und <code class="literal">payments_changeable</code> aus dem
+ Abschnitt <code class="literal">features</code> und die Einstellungen im
+ Abschnitt <code class="literal">datev_check</code> (sofern schon vorhanden)
+ der <a class="link" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei">kivitendo-Konfigurationsdatei</a>
+ werden bei einem Datenbankupdate einer älteren Version automatisch
+ übernommen. Diese Einträge können danach aus der Konfigurationsdatei
+ entfernt werden.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s14.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="ch02s16.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.16. kivitendo ERP verwenden</td></tr></table></div></body></html>
\ No newline at end of file
--- /dev/null
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>2.16. kivitendo ERP verwenden</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="ch02s15.html" title="2.15. Einstellungen pro Mandant"><link rel="next" href="ch03.html" title="Kapitel 3. Features und Funktionen"></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.16. kivitendo ERP verwenden</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s15.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="ch03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.16. kivitendo ERP verwenden"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kivitendo-ERP-verwenden"></a>2.16. kivitendo ERP verwenden</h2></div></div></div><p>Nach erfolgreicher Installation ist der Loginbildschirm unter
+ folgender URL erreichbar:</p><p>
+ <a class="ulink" href="http://localhost/kivitendo-erp/login.pl" target="_top">http://localhost/kivitendo-erp/login.pl</a>
+ </p><p>Die Administrationsseite erreichen Sie unter:</p><p>
+ <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
+ </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s15.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="ch03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.15. Einstellungen pro Mandant </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 3. Features und Funktionen</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Kapitel 3. Features und Funktionen</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="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch02s15.html" title="2.15. kivitendo ERP verwenden"><link rel="next" href="ch03s02.html" title="3.2. Dokumentenvorlagen und verfügbare Variablen"></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">Kapitel 3. Features und Funktionen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s15.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 3. Features und Funktionen"><div class="titlepage"><div><div><h2 class="title"><a name="features"></a>Kapitel 3. Features und Funktionen</h2></div></div></div><div class="sect1" title="3.1. Wiederkehrende Rechnungen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.periodic-invoices"></a>3.1. Wiederkehrende Rechnungen</h2></div></div></div><div class="sect2" title="3.1.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.introduction"></a>3.1.1. Einführung</h3></div></div></div><p>Wiederkehrende Rechnungen werden als normale Aufträge definiert
+ <title>Kapitel 3. Features und Funktionen</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="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch02s16.html" title="2.16. kivitendo ERP verwenden"><link rel="next" href="ch03s02.html" title="3.2. Dokumentenvorlagen und verfügbare Variablen"></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">Kapitel 3. Features und Funktionen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s16.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 3. Features und Funktionen"><div class="titlepage"><div><div><h2 class="title"><a name="features"></a>Kapitel 3. Features und Funktionen</h2></div></div></div><div class="sect1" title="3.1. Wiederkehrende Rechnungen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.periodic-invoices"></a>3.1. Wiederkehrende Rechnungen</h2></div></div></div><div class="sect2" title="3.1.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.introduction"></a>3.1.1. Einführung</h3></div></div></div><p>Wiederkehrende Rechnungen werden als normale Aufträge definiert
und konfiguriert, mit allen dazugehörigen Kunden- und Artikelangaben.
Die konfigurierten Aufträge werden später automatisch in Rechnungen
umgewandelt, so als ob man den Workflow benutzen würde, und auch die
automatisch nach hinten geschoben wird.</p></dd><dt><span class="term">Drucken</span></dt><dd><p>Sind Drucker konfiguriert, so kann man sich die erstellten
Rechnungen auch gleich ausdrucken lassen.</p></dd></dl></div><p>Nach Erstellung der Rechnungen kann eine E-Mail mit
Informationen zu den erstellten Rechnungen verschickt werden.
- Konfiguriert wird dies in der <a class="link" href="ch02s03.html#config.config-file.sections-parameters" title="2.3.2. Abschnitte und Parameter">Konfigurationsdatei</a>
+ Konfiguriert wird dies in der <a class="link" href="ch02s04.html#config.config-file.sections-parameters" title="2.4.2. Abschnitte und Parameter">Konfigurationsdatei</a>
<code class="filename">config/kivitendo.conf</code> im Abschnitt
<code class="varname">[periodic_invoices]</code>.</p></div><div class="sect2" title="3.1.3. Auflisten"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.reports"></a>3.1.3. Auflisten</h3></div></div></div><p>Unter Verkauf->Berichte->Aufträge finden sich zwei neue
Rechnungen inaktiv", mit denen man sich einen Überglick über die
wiederkehrenden Rechnungen verschaffen kann.</p></div><div class="sect2" title="3.1.4. Erzeugung der eigentlichen Rechnungen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.task-server"></a>3.1.4. Erzeugung der eigentlichen Rechnungen</h3></div></div></div><p>Die zeitliche und periodische Überprüfung, ob eine
wiederkehrende Rechnung automatisch erstellt werden soll, geschieht
- durch den <a class="link" href="ch02s06.html" title="2.6. Der Task-Server">Taskserver</a>, einen
+ durch den <a class="link" href="ch02s07.html" title="2.7. Der Task-Server">Taskserver</a>, einen
externen Dienst, der automatisch beim Start des Servers gestartet
werden sollte.</p></div><div class="sect2" title="3.1.5. Erste Rechnung für aktuellen Monat erstellen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.create-for-current-month"></a>3.1.5. Erste Rechnung für aktuellen Monat erstellen</h3></div></div></div><p>Will man im laufenden Monat eine monatlich wiederkehrende
Rechnung inkl. des laufenden Monats starten, stellt man das Startdatum
den neu konfigurieren Auftrag erkennt und daraus eine Rechnung
generiert hat. Alternativ setzt man das Startdatum auf den
Monatsersten des Folgemonats und erstellt die erste Rechnung direkt
- manuell über den Workflow.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s15.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch03s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.15. kivitendo ERP verwenden </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 3.2. Dokumentenvorlagen und verfügbare Variablen</td></tr></table></div></body></html>
\ No newline at end of file
+ manuell über den Workflow.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s16.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch03s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.16. kivitendo ERP verwenden </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 3.2. Dokumentenvorlagen und verfügbare Variablen</td></tr></table></div></body></html>
\ No newline at end of file
<code class="varname">invdate</code>
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
<code class="varname">invnumber</code>
- </span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.2.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.2.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.2.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4361"></a>3.2.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
+ </span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.2.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.2.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.2.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4421"></a>3.2.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
Rechnung. Allerdings heißen die Variablen, die mit
<code class="varname">inv</code> beginnen, jetzt anders. Bei den Angeboten
fangen sie mit <code class="varname">quo</code> für "quotation" an:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Kapitel 4. Entwicklerdokumentation</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="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></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">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e4968"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4974"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
+ <title>Kapitel 4. Entwicklerdokumentation</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="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></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">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e5028"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5034"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
"main", der von überall erreichbar ist. Darüber hinaus sind bareword
globs global und die meisten speziellen Variablen sind...
speziell.</p><p>Daraus ergeben sich folgende Formen:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">$PACKAGE::form</code>.</p></dd><dt><span class="term">
<code class="literal">local $form</code>
</span></dt><dd><p>Alle Änderungen an <code class="varname">$form</code> werden am Ende
- des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5075"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
+ des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5135"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
<span class="productname">SQL-Ledger</span>™ hat fast alles im globalen
namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist.
Unter <span class="productname">FCGI</span>™ müssen diese Sachen aber wieder
dies hat, seit der Einführung, u.a. schon so manche langwierige
Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package
angegeben werden, werden die nicht geprüft, und somit kann sich
- schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5108"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
+ schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5168"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
globale Variablen, die kanonisch sind, d.h. sie haben bestimmte
vorgegebenen Eigenschaften, und alles andere sollte anderweitig
umhergereicht werden.</p><p>Diese Variablen sind im Moment die folgenden neun:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="varname">$::request</code>
</p></li></ul></div><p>Damit diese nicht erneut als Müllhalde missbraucht werden, im
Folgenden eine kurze Erläuterung der bestimmten vorgegebenen
- Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5172"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
+ Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5232"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
"<code class="classname">Form</code>"</p></li><li class="listitem"><p>Wird nach jedem Request gelöscht</p></li><li class="listitem"><p>Muss auch in Tests und Konsolenscripts vorhanden
sein.</p></li><li class="listitem"><p>Enthält am Anfang eines Requests die Requestparameter vom
User</p></li><li class="listitem"><p>Kann zwar intern über Requestgrenzen ein Datenbankhandle
push @{ $form->{TEMPLATE_ARRAYS}{number} }, $form->{"partnumber_$i"};
push @{ $form->{TEMPLATE_ARRAYS}{description} }, $form->{"description_$i"};
# ...
-}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5256"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
+}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5316"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
zugegriffen wird</p></li><li class="listitem"><p>Wird bei jedem Request neu erstellt.</p></li><li class="listitem"><p>Enthält die Userdaten des aktuellen Logins</p></li><li class="listitem"><p>Sollte nicht ohne Filterung irgendwo gedumpt werden oder
extern serialisiert werden, weil da auch der Datenbankzugriff
für diesen user drinsteht.</p></li><li class="listitem"><p>Enthält unter anderem Listenbegrenzung vclimit,
überwiegend die Daten, die sich unter <span class="guimenu">Programm</span>
-> <span class="guimenuitem">Einstellungen</span> befinden, bzw. die
Informationen über den Benutzer die über die
- Administrator-Schnittstelle (admin.pl) eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5295"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
+ Administrator-Schnittstelle (admin.pl) eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5355"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
sein.</p></li><li class="listitem"><p>Cached intern über Requestgrenzen hinweg benutzte
Locales</p></li></ul></div><p>Lokalisierung für den aktuellen User. Alle Übersetzungen,
- Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5313"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
+ Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5373"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
Funktionen</p></li></ul></div><p>
<code class="varname">$::lxdebug</code> stellt Debuggingfunktionen
bereit, wie "<code class="function">enter_sub</code>" und
"<code class="function">message</code>" und "<code class="function">dump</code>" mit
denen man flott Informationen ins Log (tmp/kivitendo-debug.log)
packen kann.</p><p>Beispielsweise so:</p><pre class="programlisting">$main::lxdebug->message(0, 'Meine Konfig:' . Dumper (%::myconfig));
-$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5350"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
+$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5410"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
<code class="varname">$::auth</code> stellt Funktionen bereit um die
Rechte des aktuellen Users abzufragen. Obwohl diese Informationen
vom aktuellen User abhängen wird das Objekt aus
Geschwindigkeitsgründen nur einmal angelegt und dann nach jedem
- Request kurz resettet.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5371"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+ Request kurz resettet.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5431"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
"<code class="classname">SL::LxOfficeConf</code>"</p></li><li class="listitem"><p>Global gecached</p></li><li class="listitem"><p>Repräsentation der
<code class="filename">config/kivitendo.conf[.default]</code>-Dateien</p></li></ul></div><p>Globale Konfiguration. Configdateien werden zum Start gelesen
und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass
file = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</code> im Programm als
<code class="varname">$::lx_office_conf->{debug}{file}</code>
erreichbar.</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>Zugriff auf die Konfiguration erfolgt im Moment über
- Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5407"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+ Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5467"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
"<code class="classname">SL::InstanceConfiguration</code>"</p></li><li class="listitem"><p>wird pro Request neu erstellt</p></li></ul></div><p>Funktioniert wie <code class="varname">$::lx_office_conf</code>,
speichert aber Daten die von der Instanz abhängig sind. Eine Instanz
ist hier eine Mandantendatenbank. Beispielsweise überprüft
</p><pre class="programlisting">$::instance_conf->get_inventory_system eq 'perpetual'</pre><p>
- ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5428"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+ ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5488"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
"<code class="varname">SL::Dispatcher</code>"</p></li><li class="listitem"><p>wird pro Serverprozess erstellt.</p></li><li class="listitem"><p>enthält Informationen über die technische Verbindung zum
Server</p></li></ul></div><p>Der dritte Punkt ist auch der einzige Grund warum das Objekt
global gespeichert wird. Wird vermutlich irgendwann in einem anderen
- Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5446"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
+ Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5506"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
<code class="varname">$::request</code> ist ein generischer Platz um
Daten "für den aktuellen Request" abzulegen. Sollte nicht für action
at a distance benutzt werden, sondern um lokales memoizing zu
<code class="varname">$::request</code>
</p></li><li class="listitem"><p>Muss ich von anderen Teilen des Programms lesend drauf
zugreifen? Dann <code class="varname">$::request</code>, aber Zugriff über
- Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5488"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
- entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5493"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
+ Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5548"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
+ entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5553"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
Klassenfunktionen funktionieren</p></li><li class="listitem"><p>Aufruf als Klasse erzeugt Dummyobjekt was im
Klassennamespace gehalten wird und über Requestgrenzen
leaked</p></li><li class="listitem"><p>liegt jetzt unter
<code class="varname">$::request->{cgi}</code>
- </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5509"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
+ </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5569"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
ein paar hundert mal pro Request eine Liste der Einheiten
brauchen, und de als Parameter durch einen Riesenstack von
Funktionen geschleift werden müssten.</p></li><li class="listitem"><p>Liegt jetzt unter
<code class="varname">$::request->{cache}{all_units}</code>
</p></li><li class="listitem"><p>Wird nur in
<code class="function">AM->retrieve_all_units()</code> gesetzt oder
- gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5528"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
+ gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5588"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
abzufangen.</p></li><li class="listitem"><p>Wurde entfernt, weil callsub nur einen Bruchteil der
möglichen Rekursioenen darstellt, und da nie welche
auftreten.</p></li><li class="listitem"><p>komplette recursion protection wurde entfernt.</p></li></ul></div></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.3. Excel-Vorlagen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.2. Entwicklung unter FastCGI</td></tr></table></div></body></html>
\ No newline at end of file
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>kivitendo: Installation, Konfiguration, Entwicklung</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="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></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">kivitendo: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Ben%C3%B6tigte-Software-und-Pakete">2.1. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#Betriebssystem">2.1.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02.html#Pakete">2.1.2. Pakete</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s02.html">2.2. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">2.3. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#config.config-file.introduction">2.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.sections-parameters">2.3.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.prior-versions">2.3.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.4.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#%C3%84nderungen-an-Konfigurationsdateien">2.4.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.4.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Datenbankbenutzer-anlegen">2.4.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#d0e592">2.5.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Apache-Konfiguration.FCGI">2.5.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#Konfiguration-des-Task-Servers">2.6.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Einbinden-in-den-Boot-Prozess">2.6.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle">2.6.3. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle2">2.6.4. Task-Server mit mehreren Mandanten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Grundlagen-zur-Benutzerauthentifizierung">2.7.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Administratorpasswort">2.7.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Authentifizierungsdatenbank">2.7.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Passwort%C3%BCberpr%C3%BCfung">2.7.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Name-des-Session-Cookies">2.7.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Anlegen-der-Authentifizierungsdatenbank">2.7.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Zusammenh%C3%A4nge">2.8.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Datenbanken-anlegen">2.8.2. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppen-anlegen">2.8.3. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Benutzer-anlegen">2.8.4. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppenmitgliedschaften-verwalten">2.8.5. Gruppenmitgliedschaften verwalten</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Migration-alter-Installationen">2.8.6. Migration alter Installationen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#config.sending-email.sendmail">2.9.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#config.sending-email.smtp">2.9.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#Vorlagenverzeichnis-anlegen">2.10.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#Vorlagen-Standard">2.10.2. Standard</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#f-tex">2.10.3. f-tex</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#Vorlagen-RB">2.10.4. RB</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#allgemeine-hinweise-zu-latex">2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s12.html">2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
- EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#config.eur.introduction">2.12.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.parameters">2.12.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.setting-parameters">2.12.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.inventory-system-perpetual">2.12.4. Bemerkungen zu Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.knonw-issues">2.12.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#config.skr04-update-3804.introduction">2.13.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.skr04-update-3804.create-chart">2.13.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. Einstellungen pro Mandant</a></span></dt><dt><span class="sect1"><a href="ch02s15.html">2.15. kivitendo ERP verwenden</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Features und Funktionen</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#features.periodic-invoices">3.1. Wiederkehrende Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.introduction">3.1.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.configuration">3.1.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.reports">3.1.3. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.4. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.5. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.2.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.2.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.2.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style">3.2.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.2.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.2.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
+ <title>kivitendo: Installation, Konfiguration, Entwicklung</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="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></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">kivitendo: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Installation-%C3%9Cbersicht">2.1. Übersicht</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#Betriebssystem">2.2.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#Pakete">2.2.2. Pakete</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">2.4. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#config.config-file.introduction">2.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.sections-parameters">2.4.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.prior-versions">2.4.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.5.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#%C3%84nderungen-an-Konfigurationsdateien">2.5.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.5.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Datenbankbenutzer-anlegen">2.5.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#d0e652">2.6.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Apache-Konfiguration.FCGI">2.6.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-des-Task-Servers">2.7.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Einbinden-in-den-Boot-Prozess">2.7.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle">2.7.3. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle2">2.7.4. Task-Server mit mehreren Mandanten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Grundlagen-zur-Benutzerauthentifizierung">2.8.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Administratorpasswort">2.8.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Authentifizierungsdatenbank">2.8.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Passwort%C3%BCberpr%C3%BCfung">2.8.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Name-des-Session-Cookies">2.8.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Anlegen-der-Authentifizierungsdatenbank">2.8.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#Zusammenh%C3%A4nge">2.9.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Datenbanken-anlegen">2.9.2. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppen-anlegen">2.9.3. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Benutzer-anlegen">2.9.4. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppenmitgliedschaften-verwalten">2.9.5. Gruppenmitgliedschaften verwalten</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Migration-alter-Installationen">2.9.6. Migration alter Installationen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#config.sending-email.sendmail">2.10.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#config.sending-email.smtp">2.10.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#Vorlagenverzeichnis-anlegen">2.11.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#Vorlagen-Standard">2.11.2. Standard</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#f-tex">2.11.3. f-tex</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#Vorlagen-RB">2.11.4. RB</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#allgemeine-hinweise-zu-latex">2.11.5. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s13.html">2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+ EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#config.eur.introduction">2.13.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.parameters">2.13.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.setting-parameters">2.13.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.inventory-system-perpetual">2.13.4. Bemerkungen zu Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.knonw-issues">2.13.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s14.html#config.skr04-update-3804.introduction">2.14.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s14.html#config.skr04-update-3804.create-chart">2.14.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s15.html">2.15. Einstellungen pro Mandant</a></span></dt><dt><span class="sect1"><a href="ch02s16.html">2.16. kivitendo ERP verwenden</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Features und Funktionen</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#features.periodic-invoices">3.1. Wiederkehrende Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.introduction">3.1.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.configuration">3.1.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.reports">3.1.3. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.4. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.5. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.2.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.2.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.2.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style">3.2.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.2.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.2.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
sind</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.invoice">3.2.8. Variablen in Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dunning">3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.andere-vorlagen">3.2.10. Variablen in anderen Vorlagen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.bloecke">3.2.11. Blöcke, bedingte Anweisungen und Schleifen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.markup">3.2.12. Markup-Code zur Textformatierung innerhalb von
- Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e4974">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5075">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5108">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5488">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.dbupgrade-tool">4.3.3. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#translations-languages.introduction">4.4.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.intro">4.5.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.prerequisites">4.5.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.execution">4.5.3.
+ Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e5034">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5135">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5168">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5548">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.dbupgrade-tool">4.3.3. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#translations-languages.introduction">4.4.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.intro">4.5.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.prerequisites">4.5.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.execution">4.5.3.
Existierende Tests ausführen
</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.meaning_of_scripts">4.5.4.
Bedeutung der verschiedenen Test-Scripte