Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision c8a19933

Von Moritz Bunkus vor fast 12 Jahren hinzugefügt

  • ID c8a19933e3a4b3b0174078b70f7ea9faac56d94e
  • Vorgänger 69480f28
  • Nachfolger faa7c313

Kapitel zur Installations-Übersicht ergänzt

Unterschiede anzeigen:

doc/dokumentation.xml
20 20
  <chapter id="config">
21 21
    <title>Installation und Grundkonfiguration</title>
22 22

  
23
    <sect1 id="Installation-Übersicht">
24
      <title>Übersicht</title>
25

  
26
      <para>
27
        Die Installation von kivitendo umfasst mehrere Schritte. Die folgende Liste kann sowohl für Neulinge als auch für alte Hasen als
28
        Übersicht und Stichpunktliste zum Abhaken dienen, um eine Version mit minimalen Features möglichst schnell zum Laufen zu kriegen.
29
      </para>
30

  
31
      <orderedlist>
32
        <listitem><para><emphasis>Voraussetzungen überprüfen</emphasis>: kivitendo benötigt gewisse Ressourcen und benutzt weitere
33
        Programme. Das Kapitel "<xref linkend="Benötigte-Software-und-Pakete"/>" erläutert diese. Auch die Liste der benötigten Perl-Module
34
        befindet sich hier.</para></listitem>
35

  
36
        <listitem><para><emphasis>Installation von kivitendo</emphasis>: Diese umfasst die "<xref
37
        linkend="Manuelle-Installation-des-Programmpaketes"/>" sowie grundlegende Einstellungen, die der "<xref
38
        linkend="config.config-file"/>" erläutert.</para></listitem>
39

  
40
        <listitem><para><emphasis>Konfiguration externer Programme</emphasis>: hierzu gehören die Datenbank ("<xref
41
        linkend="Anpassung-der-PostgreSQL-Konfiguration"/>") und der Webserver ("<xref
42
        linkend="Apache-Konfiguration"/>"). </para></listitem>
43

  
44
        <listitem><para><emphasis>Benutzerinformationen speichern können</emphasis>: man benötigt mindestens eine Datenbank, in der
45
        Informationen zur Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man das als Administrator macht, verrät "<xref
46
        linkend="Benutzerauthentifizierung-und-Administratorpasswort"/>".</para></listitem>
47

  
48
        <listitem><para><emphasis>Benutzer, Gruppen und Datenbanken anlegen</emphasis>: wie dies alles zusammenspielt erläutert "<xref
49
        linkend="Benutzer--und-Gruppenverwaltung"/>".</para></listitem>
50

  
51
        <listitem><para><emphasis>Los geht's</emphasis>: alles soweit erledigt? Dann kann es losgehen: "<xref
52
        linkend="kivitendo-ERP-verwenden"/>"</para></listitem>
53
      </orderedlist>
54

  
55
      <para>
56
        Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und dienen sollten vor einer ernsthaften Inbetriebnahme gelesen
57
        werden.
58
      </para>
59
    </sect1>
60

  
23 61
    <sect1 id="Benötigte-Software-und-Pakete">
24 62
      <title>Benötigte Software und Pakete</title>
25 63

  
doc/html/ch02.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<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
4
        unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
5
        diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
6
        bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
7
        ohne große Probleme auf den derzeit aktuellen verbreiteten
8
        Distributionen läuft.</p><p>Mitte 2012 sind das folgende Systeme, von denen bekannt ist,
9
        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 &gt;= 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
10
        Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2)
11
        benötigt.</p><p>Zusätzlich benötigt kivitendo die folgenden Perl-Pakete, die
12
        nicht Bestandteil einer Standard-Perl-Installation sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
13
                     <code class="literal">parent</code> (nur bei Perl vor 5.10.1)</p></li><li class="listitem"><p>
14
                     <code class="literal">Archive::Zip</code>
15
                  </p></li><li class="listitem"><p>
16
                     <code class="literal">Config::Std</code>
17
                  </p></li><li class="listitem"><p>
18
                     <code class="literal">DateTime</code>
19
                  </p></li><li class="listitem"><p>
20
                     <code class="literal">DBI</code>
21
                  </p></li><li class="listitem"><p>
22
                     <code class="literal">DBD::Pg</code>
23
                  </p></li><li class="listitem"><p>
24
                     <code class="literal">Email::Address</code>
25
                  </p></li><li class="listitem"><p>
26
                     <code class="literal">Email::MIME</code>
27
                  </p></li><li class="listitem"><p>
28
                     <code class="literal">JSON</code>
29
                  </p></li><li class="listitem"><p>
30
                     <code class="literal">List::MoreUtils</code>
31
                  </p></li><li class="listitem"><p>
32
                     <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>
33
                     <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>
34
                     <code class="literal">Params::Validate</code>
35
                  </p></li><li class="listitem"><p>
36
                     <code class="literal">PDF::API2</code>
37
                  </p></li><li class="listitem"><p>
38
                     <code class="literal">Rose::Object</code>
39
                  </p></li><li class="listitem"><p>
40
                     <code class="literal">Rose::DB</code>
41
                  </p></li><li class="listitem"><p>
42
                     <code class="literal">Rose::DB::Object</code>
43
                  </p></li><li class="listitem"><p>
44
                     <code class="literal">Template</code>
45
                  </p></li><li class="listitem"><p>
46
                     <code class="literal">Text::CSV_XS</code>
47
                  </p></li><li class="listitem"><p>
48
                     <code class="literal">Text::Iconv</code>
49
                  </p></li><li class="listitem"><p>
50
                     <code class="literal">URI</code>
51
                  </p></li><li class="listitem"><p>
52
                     <code class="literal">XML::Writer</code>
53
                  </p></li><li class="listitem"><p>
54
                     <code class="literal">YAML</code>
55
                  </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>,
56
        <code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
57
        hinzugekommen, <code class="literal">URI</code> und
58
        <code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
59
        nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
60
        <code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
61
        <code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
62
        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
63
        hinzugekommen.</p><p>
64
               <code class="literal">Email::Address</code> und
65
        <code class="literal">List::MoreUtils</code> sind schon länger feste
66
        Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
67
        sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
68
        zukünftigen Version aber aus dem Paket entfernt werden. Es wird
69
        empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
70
        installieren.</p><p>Die zu installierenden Pakete können in den verschiedenen
71
        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 \
72
  libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
73
  libemail-address-perl libemail-mime-perl liblist-moreutils-perl libpdf-api2-perl \
74
  librose-object-perl librose-db-perl librose-db-object-perl \
75
  libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl \
76
  libxml-writer-perl libyaml-perl libconfig-std-perl \
77
  libparams-validate-perl libjson-perl libclass-accessor-perl \
78
  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 \
79
  perl-DBI perl-DBD-Pg perl-Email-Address perl-Email-MIME perl-List-MoreUtils \
80
  perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object \
81
  perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
82
  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 \
83
  perl-DateTime perl-DBI perl-DBD-Pg perl-Email-MIME perl-MailTools perl-List-MoreUtils \
84
  perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
85
  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
86
        alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie
87
        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>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.2. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
3
   <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>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<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>
4
        Die Installation von kivitendo umfasst mehrere Schritte. Die folgende Liste kann sowohl für Neulinge als auch für alte Hasen als
5
        Übersicht und Stichpunktliste zum Abhaken dienen, um eine Version mit minimalen Features möglichst schnell zum Laufen zu kriegen.
6
      </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
7
                  <span class="emphasis"><em>Voraussetzungen überprüfen</em></span>: kivitendo benötigt gewisse Ressourcen und benutzt weitere
8
        Programme. Das Kapitel "<a class="xref" href="ch02s02.html" title="2.2. Benötigte Software und Pakete">Abschnitt&nbsp;2.2, „Benötigte Software und Pakete“</a>" erläutert diese. Auch die Liste der benötigten Perl-Module
9
        befindet sich hier.</p></li><li class="listitem"><p>
10
                  <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&nbsp;2.4, „kivitendo-Konfigurationsdatei“</a>" erläutert.</p></li><li class="listitem"><p>
11
                  <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&nbsp;2.5, „Anpassung der PostgreSQL-Konfiguration“</a>") und der Webserver ("<a class="xref" href="ch02s06.html" title="2.6. Webserver-Konfiguration">Abschnitt&nbsp;2.6, „Webserver-Konfiguration“</a>"). </p></li><li class="listitem"><p>
12
                  <span class="emphasis"><em>Benutzerinformationen speichern können</em></span>: man benötigt mindestens eine Datenbank, in der
13
        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&nbsp;2.8, „Benutzerauthentifizierung und Administratorpasswort“</a>".</p></li><li class="listitem"><p>
14
                  <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&nbsp;2.9, „Benutzer- und Gruppenverwaltung“</a>".</p></li><li class="listitem"><p>
15
                  <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&nbsp;2.16, „kivitendo ERP verwenden“</a>"</p></li></ol></div><p>
16
        Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und dienen sollten vor einer ernsthaften Inbetriebnahme gelesen
17
        werden.
18
      </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>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.2. Benötigte Software und Pakete</td></tr></table></div></body></html>
doc/html/ch02s02.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
      im Dokumentenverzeichnis des Webservers (z.B.
5
      <code class="filename">/var/www/html/</code>,
6
      <code class="filename">/srv/www/htdocs</code> oder
7
      <code class="filename">/var/www/</code>) entpackt:</p><pre class="programlisting">cd /var/www
8
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
9
      Webserverkonfiguration benutzen, um auf das tatsächliche
10
      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
11
      beschreibbar sein, unter dem der Webserver läuft. Die restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- und
12
      Gruppennamen sind bei verschiedenen Distributionen unterschiedlich (z.B. bei Debian/Ubuntu <code class="constant">www-data</code>, bei Fedora
13
      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
14
      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>
15
      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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.3. kivitendo-Konfigurationsdatei</td></tr></table></div></body></html>
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
        unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
5
        diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
6
        bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
7
        ohne große Probleme auf den derzeit aktuellen verbreiteten
8
        Distributionen läuft.</p><p>Mitte 2012 sind das folgende Systeme, von denen bekannt ist,
9
        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 &gt;= 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
10
        Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2)
11
        benötigt.</p><p>Zusätzlich benötigt kivitendo die folgenden Perl-Pakete, die
12
        nicht Bestandteil einer Standard-Perl-Installation sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
13
                     <code class="literal">parent</code> (nur bei Perl vor 5.10.1)</p></li><li class="listitem"><p>
14
                     <code class="literal">Archive::Zip</code>
15
                  </p></li><li class="listitem"><p>
16
                     <code class="literal">Config::Std</code>
17
                  </p></li><li class="listitem"><p>
18
                     <code class="literal">DateTime</code>
19
                  </p></li><li class="listitem"><p>
20
                     <code class="literal">DBI</code>
21
                  </p></li><li class="listitem"><p>
22
                     <code class="literal">DBD::Pg</code>
23
                  </p></li><li class="listitem"><p>
24
                     <code class="literal">Email::Address</code>
25
                  </p></li><li class="listitem"><p>
26
                     <code class="literal">Email::MIME</code>
27
                  </p></li><li class="listitem"><p>
28
                     <code class="literal">JSON</code>
29
                  </p></li><li class="listitem"><p>
30
                     <code class="literal">List::MoreUtils</code>
31
                  </p></li><li class="listitem"><p>
32
                     <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>
33
                     <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>
34
                     <code class="literal">Params::Validate</code>
35
                  </p></li><li class="listitem"><p>
36
                     <code class="literal">PDF::API2</code>
37
                  </p></li><li class="listitem"><p>
38
                     <code class="literal">Rose::Object</code>
39
                  </p></li><li class="listitem"><p>
40
                     <code class="literal">Rose::DB</code>
41
                  </p></li><li class="listitem"><p>
42
                     <code class="literal">Rose::DB::Object</code>
43
                  </p></li><li class="listitem"><p>
44
                     <code class="literal">Template</code>
45
                  </p></li><li class="listitem"><p>
46
                     <code class="literal">Text::CSV_XS</code>
47
                  </p></li><li class="listitem"><p>
48
                     <code class="literal">Text::Iconv</code>
49
                  </p></li><li class="listitem"><p>
50
                     <code class="literal">URI</code>
51
                  </p></li><li class="listitem"><p>
52
                     <code class="literal">XML::Writer</code>
53
                  </p></li><li class="listitem"><p>
54
                     <code class="literal">YAML</code>
55
                  </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>,
56
        <code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
57
        hinzugekommen, <code class="literal">URI</code> und
58
        <code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
59
        nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
60
        <code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
61
        <code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
62
        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
63
        hinzugekommen.</p><p>
64
               <code class="literal">Email::Address</code> und
65
        <code class="literal">List::MoreUtils</code> sind schon länger feste
66
        Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
67
        sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
68
        zukünftigen Version aber aus dem Paket entfernt werden. Es wird
69
        empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
70
        installieren.</p><p>Die zu installierenden Pakete können in den verschiedenen
71
        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 \
72
  libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
73
  libemail-address-perl libemail-mime-perl liblist-moreutils-perl libpdf-api2-perl \
74
  librose-object-perl librose-db-perl librose-db-object-perl \
75
  libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl \
76
  libxml-writer-perl libyaml-perl libconfig-std-perl \
77
  libparams-validate-perl libjson-perl libclass-accessor-perl \
78
  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 \
79
  perl-DBI perl-DBD-Pg perl-Email-Address perl-Email-MIME perl-List-MoreUtils \
80
  perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object \
81
  perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
82
  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 \
83
  perl-DateTime perl-DBI perl-DBD-Pg perl-Email-MIME perl-MailTools perl-List-MoreUtils \
84
  perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
85
  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
86
        alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie
87
        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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.3. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
doc/html/ch02s03.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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,
4
        die benötigt wird: <code class="filename">config/kivitendo.conf</code> (kurz:
5
        "die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation
6
        von kivitendo bzw. der Migration von älteren Versionen angelegt
7
        werden.</p><p>Als Vorlage dient die Datei
8
        <code class="filename">config/kivitendo.conf.default</code> (kurz: "die
9
        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
10
        der Hauptkonfigurationsdatei stehen, überschreiben die Werte aus der
11
        Default-Datei. Die Hauptkonfigurationsdatei muss also nur die
12
        Abschnitte und Werte enthalten, die von denen der Default-Datei
13
        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>
14
          Vor der Umbenennung in kivitendo hieß diese Datei noch <code class="filename">config/lx_office.conf</code>. Aus Gründen der Kompatibilität
15
          wird diese Datei eingelesen, sofern die Datei <code class="filename">config/kivitendo.conf</code> nicht existiert.
16
         </p></td></tr></table></div><p>Diese Hauptkonfigurationsdatei ist dann eine
17
        installationsspezifische Datei, d.h. sie enthält bspw. lokale
18
        Passwörter und wird auch nicht im Versionsmanagement (git)
19
        verwaltet.</p><p>Die Konfiguration ist ferner serverabhängig, d.h. für alle
20
        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
21
        entsprechend kommentiert sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
22
                     <code class="literal">authentication</code> (siehe Abschnitt "<a class="xref" href="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.7, „Benutzerauthentifizierung und Administratorpasswort“</a>" in diesem Kapitel)</p></li><li class="listitem"><p>
23
                     <code class="literal">authentication/database</code>
24
                  </p></li><li class="listitem"><p>
25
                     <code class="literal">authentication/ldap</code>
26
                  </p></li><li class="listitem"><p>
27
                     <code class="literal">system</code>
28
                  </p></li><li class="listitem"><p>
29
                     <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>
30
                     <code class="literal">paths</code>
31
                  </p></li><li class="listitem"><p>
32
                     <code class="literal">applications</code>
33
                  </p></li><li class="listitem"><p>
34
                     <code class="literal">environment</code>
35
                  </p></li><li class="listitem"><p>
36
                     <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>
37
                     <code class="literal">print_templates</code>
38
                  </p></li><li class="listitem"><p>
39
                     <code class="literal">task_server</code>
40
                  </p></li><li class="listitem"><p>
41
                     <code class="literal">periodic_invoices</code>
42
                  </p></li><li class="listitem"><p>
43
                     <code class="literal">console</code>
44
                  </p></li><li class="listitem"><p>
45
                     <code class="literal">debug</code>
46
                  </p></li></ul></div><p>Die üblicherweise wichtigsten Parameter, die am Anfang
47
        einzustellen oder zu kontrollieren sind, sind:</p><pre class="programlisting">[authentication]
48
admin_password = geheim
49

  
50
[authentication/database]
51
host     = localhost
52
port     = 5432
53
db       = kivitendo_auth
54
user     = postgres
55
password =
56

  
57
[system]
58
dbcharset = UTF-8</pre><p>Nutzt man wiederkehrende Rechnungen, kann man unter
59
        <code class="varname">[periodic_invoices]</code> den Login eines Benutzers
60
        angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
61
        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>,
62
        muss unter <code class="varname">[task_server]</code> ein Login eines Benutzers
63
        angegeben werden, mit dem sich der Taskserver an kivitendo bei der
64
        Datenbank anmeldet, die dem Benutzer zugewiesen ist.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code>
65
        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
66
        <code class="filename">config</code> die Dateien
67
        <code class="filename">authentication.pl</code> und
68
        <code class="filename">lx-erp.conf</code>, die jeweils Perl-Dateien waren. Es
69
        gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei
70
        zu erstellen (<code class="filename">lx-erp-local.conf</code>). Dies ist ab
71
        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
72
        jünger müssen die Einstellungen aus den alten Konfigurationsdateien
73
        manuell übertragen und die alten Konfigurationsdateien anschließend
74
        gelöscht oder verschoben werden. Ansonsten zeigt kivitendo eine
75
        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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Manuelle Installation des Programmpaketes&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.4. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
      im Dokumentenverzeichnis des Webservers (z.B.
5
      <code class="filename">/var/www/html/</code>,
6
      <code class="filename">/srv/www/htdocs</code> oder
7
      <code class="filename">/var/www/</code>) entpackt:</p><pre class="programlisting">cd /var/www
8
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
9
      Webserverkonfiguration benutzen, um auf das tatsächliche
10
      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
11
      beschreibbar sein, unter dem der Webserver läuft. Die restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- und
12
      Gruppennamen sind bei verschiedenen Distributionen unterschiedlich (z.B. bei Debian/Ubuntu <code class="constant">www-data</code>, bei Fedora
13
      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
14
      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>
15
      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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Benötigte Software und Pakete&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.4. kivitendo-Konfigurationsdatei</td></tr></table></div></body></html>
doc/html/ch02s04.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
	eingreifen</p><p>Dieses kann überprüft werden: ist das Encoding der Datenbank
5
	“template1” “UTF8”, so braucht man nichts weiteres diesbezüglich
6
	unternehmen. Zum Testen:
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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,
4
        die benötigt wird: <code class="filename">config/kivitendo.conf</code> (kurz:
5
        "die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation
6
        von kivitendo bzw. der Migration von älteren Versionen angelegt
7
        werden.</p><p>Als Vorlage dient die Datei
8
        <code class="filename">config/kivitendo.conf.default</code> (kurz: "die
9
        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
10
        der Hauptkonfigurationsdatei stehen, überschreiben die Werte aus der
11
        Default-Datei. Die Hauptkonfigurationsdatei muss also nur die
12
        Abschnitte und Werte enthalten, die von denen der Default-Datei
13
        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>
14
          Vor der Umbenennung in kivitendo hieß diese Datei noch <code class="filename">config/lx_office.conf</code>. Aus Gründen der Kompatibilität
15
          wird diese Datei eingelesen, sofern die Datei <code class="filename">config/kivitendo.conf</code> nicht existiert.
16
         </p></td></tr></table></div><p>Diese Hauptkonfigurationsdatei ist dann eine
17
        installationsspezifische Datei, d.h. sie enthält bspw. lokale
18
        Passwörter und wird auch nicht im Versionsmanagement (git)
19
        verwaltet.</p><p>Die Konfiguration ist ferner serverabhängig, d.h. für alle
20
        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
21
        entsprechend kommentiert sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
22
                     <code class="literal">authentication</code> (siehe Abschnitt "<a class="xref" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.8, „Benutzerauthentifizierung und Administratorpasswort“</a>" in diesem Kapitel)</p></li><li class="listitem"><p>
23
                     <code class="literal">authentication/database</code>
24
                  </p></li><li class="listitem"><p>
25
                     <code class="literal">authentication/ldap</code>
26
                  </p></li><li class="listitem"><p>
27
                     <code class="literal">system</code>
28
                  </p></li><li class="listitem"><p>
29
                     <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>
30
                     <code class="literal">paths</code>
31
                  </p></li><li class="listitem"><p>
32
                     <code class="literal">applications</code>
33
                  </p></li><li class="listitem"><p>
34
                     <code class="literal">environment</code>
35
                  </p></li><li class="listitem"><p>
36
                     <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>
37
                     <code class="literal">print_templates</code>
38
                  </p></li><li class="listitem"><p>
39
                     <code class="literal">task_server</code>
40
                  </p></li><li class="listitem"><p>
41
                     <code class="literal">periodic_invoices</code>
42
                  </p></li><li class="listitem"><p>
43
                     <code class="literal">console</code>
44
                  </p></li><li class="listitem"><p>
45
                     <code class="literal">debug</code>
46
                  </p></li></ul></div><p>Die üblicherweise wichtigsten Parameter, die am Anfang
47
        einzustellen oder zu kontrollieren sind, sind:</p><pre class="programlisting">[authentication]
48
admin_password = geheim
7 49

  
8
        </p><pre class="programlisting">su postgres
9
echo '\l' | psql
10
exit </pre><p>
50
[authentication/database]
51
host     = localhost
52
port     = 5432
53
db       = kivitendo_auth
54
user     = postgres
55
password =
11 56

  
12
        Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
13
        UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
14
        Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
15
        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
16
        Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und
17
        ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
18
        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
19
        <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
20
        Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
21
        <code class="filename">/var/lib/pgsql/data/</code> oder
22
        <code class="filename">/etc/postgresql/</code>, muss sichergestellt werden,
23
        dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
24
        Parameter <code class="varname">listen_address</code> gesteuert. Laufen
25
        PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert
26
        <code class="literal">localhost</code> verwendet werden. Andernfalls müssen
27
        Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden,
28
        was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen
29
        Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden
30
        sein sollte, müssen die Berichtigungen für den Zugriff geändert
31
	werden. Hier gibt es mehrere Möglichkeiten. sinnvoll ist es nur die
32
	nögiten Verbindungen immer zuzulassen, für eine lokal laufenden
33
	Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password
34
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
35
        Unterstützung für servergespeicherte Prozeduren eingerichet werden.
36
        Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an:
37
        </p><pre class="programlisting">su - postgres
38
psql template1</pre><p>
39

  
40
        führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">create language 'plpgsql';
41
\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
42
        benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
43
        anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
44
        können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
45
	beantworten, genauso ist die Berechtigung neue User (Roles) zu
46
	generieren nicht nötig.</p><pre class="programlisting">su - postgres
47
createuser -d -P kivitendo
48
exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
49
        Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” bzw.
50
        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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. kivitendo-Konfigurationsdatei&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.5. Webserver-Konfiguration</td></tr></table></div></body></html>
57
[system]
58
dbcharset = UTF-8</pre><p>Nutzt man wiederkehrende Rechnungen, kann man unter
59
        <code class="varname">[periodic_invoices]</code> den Login eines Benutzers
60
        angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
61
        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>,
62
        muss unter <code class="varname">[task_server]</code> ein Login eines Benutzers
63
        angegeben werden, mit dem sich der Taskserver an kivitendo bei der
64
        Datenbank anmeldet, die dem Benutzer zugewiesen ist.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code>
65
        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
66
        <code class="filename">config</code> die Dateien
67
        <code class="filename">authentication.pl</code> und
68
        <code class="filename">lx-erp.conf</code>, die jeweils Perl-Dateien waren. Es
69
        gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei
70
        zu erstellen (<code class="filename">lx-erp-local.conf</code>). Dies ist ab
71
        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
72
        jünger müssen die Einstellungen aus den alten Konfigurationsdateien
73
        manuell übertragen und die alten Konfigurationsdateien anschließend
74
        gelöscht oder verschoben werden. Ansonsten zeigt kivitendo eine
75
        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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Manuelle Installation des Programmpaketes&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.5. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
doc/html/ch02s05.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
          mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
5
          <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
6
        Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt
7
        werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
8
        anderen Datei hinzu, die beim Starten des Webservers eingelesen
9
        wird:</p><pre class="programlisting">AddHandler cgi-script .pl
10
Alias /kivitendo-erp/ /var/www/kiviteno-erp/
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
	eingreifen</p><p>Dieses kann überprüft werden: ist das Encoding der Datenbank
5
	“template1” “UTF8”, so braucht man nichts weiteres diesbezüglich
6
	unternehmen. Zum Testen:
11 7

  
12
&lt;Directory /var/www/kivitendo-erp&gt;
13
 Options ExecCGI Includes FollowSymlinks
14
&lt;/Directory&gt;
8
        </p><pre class="programlisting">su postgres
9
echo '\l' | psql
10
exit </pre><p>
15 11

  
16
&lt;Directory /var/www/kivitendo-erp/users&gt;
17
 Order Deny,Allow
18
 Deny from All
19
&lt;/Directory&gt;</pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
20
        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
21
          Plus ‘<code class="literal">+</code>’ gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
22
        Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
23
        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>
24
          kopiert:</p><p>
25
                  [<span class="citation"> FastCGI ist ein Standard für die Einbindung
26
          externer Software zur Generierung dynamischer Webseiten in einem
27
          Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
28
          (CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
29
          umgehen. </span>]
30
               </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
31
          kompiliert. Stattdessen werden die Quelldateien bei jedem Start
32
          übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
33
          ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
34
          einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
35
          müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass
36
          immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
37
          benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
38
          entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
39
          führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile
40
          deutlich länger dauert als früher, und dass davon 90% für das Laden
41
          der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach
42
          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
43
          Zeit nicht mehr weiter entwickelt wird. Im Folgenden wird auf
44
          mod_fastcgi nicht mehr explizit eingegangen.</p><p>Als Perl Backend wird das Modul <code class="filename">FCGI.pm</code>
45
          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
46
            bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder
47
            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
48
            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
49
          laufen zu lassen, empfliehlt es sich die Installation ersteinmal
50
          unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu
51
          debuggen die beim ersten aufsetzen auftreten können. Sollte die
52
          Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
53
          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
54
          erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>-
55
          und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen
56
          dem Installationspfad von kivitendo im Dateisystem
57
          ("<code class="filename">/path/to/kivitendo-erp</code>") und der URL
58
          unterschieden, unter der kivitendo im Webbrowser erreichbar ist
59
          ("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
60
          mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
61
Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
12
        Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
13
        UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
14
        Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
15
        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
16
        Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und
17
        ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
18
        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
19
        <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
20
        Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
21
        <code class="filename">/var/lib/pgsql/data/</code> oder
22
        <code class="filename">/etc/postgresql/</code>, muss sichergestellt werden,
23
        dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
24
        Parameter <code class="varname">listen_address</code> gesteuert. Laufen
25
        PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert
26
        <code class="literal">localhost</code> verwendet werden. Andernfalls müssen
27
        Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden,
28
        was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen
29
        Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden
30
        sein sollte, müssen die Berichtigungen für den Zugriff geändert
31
	werden. Hier gibt es mehrere Möglichkeiten. sinnvoll ist es nur die
32
	nögiten Verbindungen immer zuzulassen, für eine lokal laufenden
33
	Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password
34
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
35
        Unterstützung für servergespeicherte Prozeduren eingerichet werden.
36
        Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an:
37
        </p><pre class="programlisting">su - postgres
38
psql template1</pre><p>
62 39

  
63
&lt;Directory /path/to/kivitendo-erp&gt;
64
  AllowOverride All
65
  Options ExecCGI Includes FollowSymlinks
66
  Order Allow,Deny
67
  Allow from All
68
&lt;/Directory&gt;
69

  
70
&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
71
  Order Deny,Allow
72
  Deny from All
73
&lt;/DirectoryMatch&gt;</pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für
74
          die maximale Größe eines Requests. Diese sollte wie folgt
75
          hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl
76
AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
77
Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
78
FcgidMaxRequestLen 10485760
79

  
80
&lt;Directory /path/to/kivitendo-erp&gt;
81
  AllowOverride All
82
  Options ExecCGI Includes FollowSymlinks
83
  Order Allow,Deny
84
  Allow from All
85
&lt;/Directory&gt;
86

  
87
&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
88
  Order Deny,Allow
89
  Deny from All
90
&lt;/DirectoryMatch&gt;</pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
91
          Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
92
          Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
93
          gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche kivitendo Version parallel unter
94
          CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
95
          wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
96
Alias       /url/for/kivitendo-erp                /path/to/kivitendo-erp
97

  
98
# Zugriff mit mod_fcgid:
99
AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
100
Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code>
101
          die normale Version erreichbar, und unter
102
          <code class="constant">/url/for/kivitendo-erp-fcgid/</code> die
103
          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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Anpassung der PostgreSQL-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.6. Der Task-Server</td></tr></table></div></body></html>
40
        führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">create language 'plpgsql';
41
\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
42
        benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
43
        anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
44
        können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
45
	beantworten, genauso ist die Berechtigung neue User (Roles) zu
46
	generieren nicht nötig.</p><pre class="programlisting">su - postgres
47
createuser -d -P kivitendo
48
exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
49
        Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” bzw.
50
        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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. kivitendo-Konfigurationsdatei&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.6. Webserver-Konfiguration</td></tr></table></div></body></html>
doc/html/ch02s06.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
      regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
5
      festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
6
      wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
7
      benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
8
      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
9
        <code class="literal">[task_server]</code> in der Datei
10
        <code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren
11
        Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
12
                     <code class="varname">login</code>
13
                  </span></dt><dd><p>gültiger kivitendo-Benutzername, der benutzt wird, um die
14
              zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
15
              in der Administration angelegt werden. Diese Option muss
16
              angegeben werden.</p></dd><dt><span class="term">
17
                     <code class="varname">run_as</code>
18
                  </span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code>
19
              gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
20
              angegebenen Systembenutzer. Der Systembenutzer muss dieselben
21
              Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
22
              (siehe see <a class="xref" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
23
              ist es sinnvoll, hier denselben Systembenutzer einzutragen,
24
              unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
25
                     <code class="varname">debug</code>
26
                  </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
27
        reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim
28
        Starten automatisch in das kivitendo-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen
29
        Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
30
        einzubinden. Da das bei neueren Linux-Distributionen aber nicht
31
        zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
32
        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
33
          Core)</h4></div></div></div><p>Kopieren Sie die Datei
34
          <code class="filename">scripts/boot/system-v/kivitendo-server</code>
35
          nach <code class="filename">/etc/init.d/kivitendo-server</code>. Passen
36
          Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
37
          <code class="literal">DAEMON=....</code>). Binden Sie das Script in den
38
          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
39
# Nur bei Debian Squeeze und neuer:
40
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
41
          werden: <span class="command"><strong>/etc/init.d/kivitendo-task-server
42
          start</strong></span>
43
               </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
44
          <code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
45
          nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
46
          Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
47
          <code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
48
          werden: <span class="command"><strong>service kivitendo-task-server
49
          start</strong></span>
50
               </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>
51
               <code class="literal">Befehl</code> ist dabei eine der folgenden
52
        Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
53
                     <code class="literal">start</code> startet eine neue Instanz des
54
            Task-Servers. Die Prozess-ID wird innerhalb des
55
            <code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p>
56
                     <code class="literal">stop</code> beendet einen laufenden
57
            Task-Server.</p></li><li class="listitem"><p>
58
                     <code class="literal">restart</code> beendet und startet ihn
59
            neu.</p></li><li class="listitem"><p>
60
                     <code class="literal">status</code> berichtet, ob der Task-Server
61
            läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
62
        kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
63
        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
64
        Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat
65
        man mehrere Mandanten muß man auch mehrere Konfigurationsdateien
66
        anlegen.</p><p>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf,
67
        wo in der Kategorie [task_server] der gewünschte "login" steht.</p><p>Der alternative Task-Server wird dann mit folgendem Befehl
68
        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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Webserver-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.7. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
          mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
5
          <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
6
        Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt
7
        werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
8
        anderen Datei hinzu, die beim Starten des Webservers eingelesen
9
        wird:</p><pre class="programlisting">AddHandler cgi-script .pl
10
Alias /kivitendo-erp/ /var/www/kiviteno-erp/
11

  
12
&lt;Directory /var/www/kivitendo-erp&gt;
13
 Options ExecCGI Includes FollowSymlinks
14
&lt;/Directory&gt;
15

  
16
&lt;Directory /var/www/kivitendo-erp/users&gt;
17
 Order Deny,Allow
18
 Deny from All
19
&lt;/Directory&gt;</pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
20
        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
21
          Plus ‘<code class="literal">+</code>’ gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
22
        Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
23
        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>
24
          kopiert:</p><p>
25
                  [<span class="citation"> FastCGI ist ein Standard für die Einbindung
26
          externer Software zur Generierung dynamischer Webseiten in einem
27
          Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
28
          (CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
29
          umgehen. </span>]
30
               </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
31
          kompiliert. Stattdessen werden die Quelldateien bei jedem Start
32
          übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
33
          ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
34
          einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
35
          müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass
36
          immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
37
          benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
38
          entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
39
          führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile
40
          deutlich länger dauert als früher, und dass davon 90% für das Laden
41
          der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach
42
          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
43
          Zeit nicht mehr weiter entwickelt wird. Im Folgenden wird auf
44
          mod_fastcgi nicht mehr explizit eingegangen.</p><p>Als Perl Backend wird das Modul <code class="filename">FCGI.pm</code>
45
          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
46
            bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder
47
            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
48
            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
49
          laufen zu lassen, empfliehlt es sich die Installation ersteinmal
50
          unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu
51
          debuggen die beim ersten aufsetzen auftreten können. Sollte die
52
          Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
53
          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
54
          erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>-
55
          und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen
56
          dem Installationspfad von kivitendo im Dateisystem
57
          ("<code class="filename">/path/to/kivitendo-erp</code>") und der URL
58
          unterschieden, unter der kivitendo im Webbrowser erreichbar ist
59
          ("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
60
          mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
61
Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
62

  
63
&lt;Directory /path/to/kivitendo-erp&gt;
64
  AllowOverride All
65
  Options ExecCGI Includes FollowSymlinks
66
  Order Allow,Deny
67
  Allow from All
68
&lt;/Directory&gt;
69

  
70
&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
71
  Order Deny,Allow
72
  Deny from All
73
&lt;/DirectoryMatch&gt;</pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für
74
          die maximale Größe eines Requests. Diese sollte wie folgt
75
          hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl
76
AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
77
Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
78
FcgidMaxRequestLen 10485760
79

  
80
&lt;Directory /path/to/kivitendo-erp&gt;
81
  AllowOverride All
82
  Options ExecCGI Includes FollowSymlinks
83
  Order Allow,Deny
84
  Allow from All
85
&lt;/Directory&gt;
86

  
87
&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
88
  Order Deny,Allow
89
  Deny from All
90
&lt;/DirectoryMatch&gt;</pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
91
          Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
92
          Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
93
          gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche kivitendo Version parallel unter
94
          CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
95
          wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
96
Alias       /url/for/kivitendo-erp                /path/to/kivitendo-erp
97

  
98
# Zugriff mit mod_fcgid:
99
AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
100
Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code>
101
          die normale Version erreichbar, und unter
102
          <code class="constant">/url/for/kivitendo-erp-fcgid/</code> die
103
          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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Anpassung der PostgreSQL-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.7. Der Task-Server</td></tr></table></div></body></html>
doc/html/ch02s07.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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,
4
      ü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
5
        Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt
6
        wird. Für jeden Benutzer kann dort eine eigene Datenbank für die
7
        eigentlichen Finanzdaten hinterlegt sein. Diese beiden Datenbanken
8
        können, müssen aber nicht unterschiedlich sein.</p><p>Im einfachsten Fall gibt es für kivitendo nur eine einzige
9
        Datenbank, in der sowohl die Benutzerinformationen als auch die Daten
10
        abgelegt werden.</p><p>Zusätzlich ermöglicht es kivitendo, dass die Benutzerpasswörter
11
        entweder gegen die Authentifizierungsdatenbank oder gegen einen
12
        LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung kivitendo benutzt und wie
13
        kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der
14
        Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
15
        festgelegt. Diese muss bei der Installation und bei einem Upgrade von
16
        einer Version vor v2.6.0 angelegt werden. Eine
17
        Beispielkonfigurationsdatei
18
        <code class="filename">config/kivitendo.conf.default</code> existiert, die als
19
        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
20
        benutzt wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch
21
        nur dort und nicht mehr im Administrationsinterface selber geändert
22
        werden. Der Parameter dazu heißt <code class="varname">admin_password</code> im
23
        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
24
        Parametern in <code class="varname">[authentication/database]</code>
25
        konfiguriert. Hier sind die folgenden Parameter anzugeben:</p><div class="variablelist"><dl><dt><span class="term">
26
                     <code class="literal">host</code>
27
                  </span></dt><dd><p>Der Rechnername oder die IP-Adresse des
28
              Datenbankservers</p></dd><dt><span class="term">
29
                     <code class="literal">port</code>
30
                  </span></dt><dd><p>Die Portnummer des Datenbankservers, meist 5432</p></dd><dt><span class="term">
31
                     <code class="literal">db</code>
32
                  </span></dt><dd><p>Der Name der Authentifizierungsdatenbank</p></dd><dt><span class="term">
33
                     <code class="literal">user</code>
34
                  </span></dt><dd><p>Der Benutzername, mit dem sich kivitendo beim
35
              Datenbankserver anmeldet (z.B.
36
              "<code class="literal">postgres</code>")</p></dd><dt><span class="term">
37
                     <code class="literal">password</code>
38
                  </span></dt><dd><p>Das Passwort für den Datenbankbenutzer</p></dd></dl></div><p>Die Datenbank muss noch nicht existieren. kivitendo kann sie
39
        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
40
        die Authentifizierungsdatenbank und gegen einen externen LDAP- oder
41
        Active-Directory-Server. Welche davon benutzt wird, regelt der
42
        Parameter <code class="varname">module</code> im Abschnitt
43
        <code class="varname">[authentication]</code>.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
44
        gespeichert werden, so muss der Parameter <code class="varname">module</code>
45
        den Wert <code class="literal">DB</code> enthalten. In diesem Fall können sowohl
46
        der Administrator als auch die Benutzer selber ihre Psaswörter in
47
        kivitendo ändern.</p><p>Soll hingegen ein externer LDAP- oder Active-Directory-Server
48
        benutzt werden, so muss der Parameter <code class="varname">module</code> auf
49
        <code class="literal">LDAP</code> gesetzt werden. In diesem Fall müssen
50
        zusätzliche Informationen über den LDAP-Server im Abschnitt
51
        <code class="literal">[authentication/ldap]</code> angegeben werden:</p><div class="variablelist"><dl><dt><span class="term">
52
                     <code class="literal">host</code>
53
                  </span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder
54
              Active-Directory-Servers. Diese Angabe ist zwingend
55
              erforderlich.</p></dd><dt><span class="term">
56
                     <code class="literal">port</code>
57
                  </span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term">
58
                     <code class="literal">tls</code>
59
                  </span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
60
              Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf
61
              ‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term">
62
                     <code class="literal">attribute</code>
63
                  </span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der
64
              Benutzer eingegeben hat. Für Active-Directory-Server ist dies
65
              meist ‘<code class="literal">sAMAccountName</code>’, für andere
66
              LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist
67
              zwingend erforderlich.</p></dd><dt><span class="term">
68
                     <code class="literal">base_dn</code>
69
                  </span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
70
              Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term">
71
                     <code class="literal">filter</code>
72
                  </span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
73
              <code class="literal">&lt;%login%&gt;</code>, so wird dieses durch den vom
74
              Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird
75
              der LDAP-Baum nach einem Element durchsucht, bei dem das oben
76
              angegebene Attribut mit dem Benutzernamen identisch ist.</p></dd><dt><span class="term">
77
                     <code class="literal">bind_dn</code> und
78
            <code class="literal">bind_password</code>
79
                  </span></dt><dd><p>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er
80
              durchsucht werden kann (z.B. ist dies bei
81
              Active-Directory-Servern der Fall), so kann diese hier angegeben
82
              werden. Für Active-Directory-Server kann als
83
              ‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie
84
              z.B. ‘<code class="literal">cn=Martin
85
              Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der
86
              volle Name des Benutzers eingegeben werden; in diesem Beispiel
87
              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
88
        aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
89
        Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
90
        Parameter <code class="varname">cookie_name</code> im Abschnitt
91
        <code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem
92
        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
93
        <code class="filename">config/kivitendo.conf</code> vorgenommen wurden, muss
94
        kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht
95
        automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter
96
        der folgenden URL erreichbar sein sollte:</p><p>
97
               <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
98
            </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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Der Task-Server&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.8. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
      regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
5
      festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
6
      wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
7
      benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
8
      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
9
        <code class="literal">[task_server]</code> in der Datei
10
        <code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren
11
        Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
12
                     <code class="varname">login</code>
13
                  </span></dt><dd><p>gültiger kivitendo-Benutzername, der benutzt wird, um die
14
              zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
15
              in der Administration angelegt werden. Diese Option muss
16
              angegeben werden.</p></dd><dt><span class="term">
17
                     <code class="varname">run_as</code>
18
                  </span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code>
19
              gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
20
              angegebenen Systembenutzer. Der Systembenutzer muss dieselben
21
              Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
22
              (siehe see <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
23
              ist es sinnvoll, hier denselben Systembenutzer einzutragen,
24
              unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
25
                     <code class="varname">debug</code>
26
                  </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
27
        reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim
28
        Starten automatisch in das kivitendo-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen
29
        Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
30
        einzubinden. Da das bei neueren Linux-Distributionen aber nicht
31
        zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
32
        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
33
          Core)</h4></div></div></div><p>Kopieren Sie die Datei
34
          <code class="filename">scripts/boot/system-v/kivitendo-server</code>
35
          nach <code class="filename">/etc/init.d/kivitendo-server</code>. Passen
36
          Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
37
          <code class="literal">DAEMON=....</code>). Binden Sie das Script in den
38
          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
39
# Nur bei Debian Squeeze und neuer:
40
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
41
          werden: <span class="command"><strong>/etc/init.d/kivitendo-task-server
42
          start</strong></span>
43
               </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
44
          <code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
45
          nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
46
          Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
47
          <code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
48
          werden: <span class="command"><strong>service kivitendo-task-server
49
          start</strong></span>
50
               </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>
51
               <code class="literal">Befehl</code> ist dabei eine der folgenden
52
        Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
53
                     <code class="literal">start</code> startet eine neue Instanz des
54
            Task-Servers. Die Prozess-ID wird innerhalb des
55
            <code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p>
56
                     <code class="literal">stop</code> beendet einen laufenden
57
            Task-Server.</p></li><li class="listitem"><p>
58
                     <code class="literal">restart</code> beendet und startet ihn
59
            neu.</p></li><li class="listitem"><p>
60
                     <code class="literal">status</code> berichtet, ob der Task-Server
61
            läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
62
        kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
63
        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
64
        Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat
65
        man mehrere Mandanten muß man auch mehrere Konfigurationsdateien
66
        anlegen.</p><p>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf,
67
        wo in der Kategorie [task_server] der gewünschte "login" steht.</p><p>Der alternative Task-Server wird dann mit folgendem Befehl
68
        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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Webserver-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.8. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
doc/html/ch02s08.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
      angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter
5
      folgender URL finden:</p><p>
6
            <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
7
         </p><p>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
8
      <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
9
        Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
10
        mit kivitendo arbeiten zu können, muss eine Person einen
11
        Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
12
        Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
13
        möglich und normal, dass mehreren Benutzern die selbe Datenbank
14
        zugewiesen wird, sodass sie alle mit den selben Daten arbeiten
15
        können.</p><p>Die Basisdaten der Benutzer, die in der Administration
16
        eingegeben werden können, werden in einer zweiten Datenbank
17
        gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese
18
        ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet.
19
        Pro kivitendo-Installation gibt es nur eine
20
        Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit
21
        Firmendaten.</p><p>kivitendo kann seinen Benutzern Zugriff auf bestimmte
22
        Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
23
        gestattet, so werden der entsprechenden Menüpunkte auch nicht
24
        angezeigt. Diese Rechte werden ebenfalls in der
25
        Authentifizierungsdatenbank gespeichert.</p><p>Um Rechte verteilen zu können, verwendet kivitendo ein
26
        Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
27
        erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
28
        mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
29
        Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
30
        Benutzer Mitglied ist.</p><p>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und
31
        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
32
        den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
33
        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
34
        wollen, so müssen Sie vor dem Anlegen der Datenbank in der Datei <code class="filename">config/kivitendo.conf</code> die Variable
35
        <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
36
        verwenden müssen, da diese Einstellungen momentan global in kivitendo
37
        vorgenommen wird und nicht nach Datenbank unterschieden werden kann.
38
        Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
39
        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
40
        Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
41
        Anlegen können Sie die verschiedenen Bereiche wählen, auf die
42
        Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der
43
        Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
44
        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
45
        Standardeinstellungen vorgenommen, die den Gepflogenheiten des
46
        deutschen Raumes entsprechen.</p><p>Zwingend anzugeben sind der Loginname sowie die komplette
47
        Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
48
        Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
49
        gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
50
        aktiv, so ist das Passwort-Feld deaktiviert.</p><p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der
51
        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
52
        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
53
            folgenden Dialog kann man dann einzeln die Benutzer der Gruppe
54
            hinzufügen.</p></li><li class="listitem"><p>In der Gruppenverwaltung wählt man das Tool zur Verwaltung
55
            der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die
56
            alle im System angelegten Gruppen und Benutzer enthält. Durch
57
            Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der
58
            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,
59
        in der die Benutzerdaten noch im Dateisystem im Verzeichnis
60
        <code class="literal">users</code> verwaltet wurden, so bietet kivitendo die
61
        Möglichkeit, diese Benutzerdaten automatisch in die
62
        Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man
63
        sich nach dem Update der Installation das erste Mal im
64
        Administrationsbereich anmeldet. Findet kivitendo die Datei
65
        <code class="literal">users/members</code>, so wird der Migrationsprozess
66
        gestartet.</p><p>Der Migrationsprozess ist nahezu vollautomatisch. Alle
67
        Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet
68
        kivitendo noch die Möglichkeit an, dass automatisch eine
69
        Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle
70
        Funktionen von kivitendo gewährt. Alle migrierten Benutzern werden
71
        Mitglied in dieser Gruppe. Damit wird das Verhalten von kivitendo bis
72
        Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können
73
        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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Benutzerauthentifizierung und Administratorpasswort&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.9. E-Mail-Versand aus kivitendo heraus</td></tr></table></div></body></html>
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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,
4
      ü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
5
        Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt
6
        wird. Für jeden Benutzer kann dort eine eigene Datenbank für die
7
        eigentlichen Finanzdaten hinterlegt sein. Diese beiden Datenbanken
8
        können, müssen aber nicht unterschiedlich sein.</p><p>Im einfachsten Fall gibt es für kivitendo nur eine einzige
9
        Datenbank, in der sowohl die Benutzerinformationen als auch die Daten
10
        abgelegt werden.</p><p>Zusätzlich ermöglicht es kivitendo, dass die Benutzerpasswörter
11
        entweder gegen die Authentifizierungsdatenbank oder gegen einen
12
        LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung kivitendo benutzt und wie
13
        kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der
14
        Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
15
        festgelegt. Diese muss bei der Installation und bei einem Upgrade von
16
        einer Version vor v2.6.0 angelegt werden. Eine
17
        Beispielkonfigurationsdatei
18
        <code class="filename">config/kivitendo.conf.default</code> existiert, die als
19
        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
20
        benutzt wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch
21
        nur dort und nicht mehr im Administrationsinterface selber geändert
22
        werden. Der Parameter dazu heißt <code class="varname">admin_password</code> im
23
        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
24
        Parametern in <code class="varname">[authentication/database]</code>
25
        konfiguriert. Hier sind die folgenden Parameter anzugeben:</p><div class="variablelist"><dl><dt><span class="term">
26
                     <code class="literal">host</code>
27
                  </span></dt><dd><p>Der Rechnername oder die IP-Adresse des
28
              Datenbankservers</p></dd><dt><span class="term">
29
                     <code class="literal">port</code>
30
                  </span></dt><dd><p>Die Portnummer des Datenbankservers, meist 5432</p></dd><dt><span class="term">
31
                     <code class="literal">db</code>
32
                  </span></dt><dd><p>Der Name der Authentifizierungsdatenbank</p></dd><dt><span class="term">
33
                     <code class="literal">user</code>
34
                  </span></dt><dd><p>Der Benutzername, mit dem sich kivitendo beim
35
              Datenbankserver anmeldet (z.B.
36
              "<code class="literal">postgres</code>")</p></dd><dt><span class="term">
37
                     <code class="literal">password</code>
38
                  </span></dt><dd><p>Das Passwort für den Datenbankbenutzer</p></dd></dl></div><p>Die Datenbank muss noch nicht existieren. kivitendo kann sie
39
        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
40
        die Authentifizierungsdatenbank und gegen einen externen LDAP- oder
41
        Active-Directory-Server. Welche davon benutzt wird, regelt der
42
        Parameter <code class="varname">module</code> im Abschnitt
43
        <code class="varname">[authentication]</code>.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
44
        gespeichert werden, so muss der Parameter <code class="varname">module</code>
45
        den Wert <code class="literal">DB</code> enthalten. In diesem Fall können sowohl
46
        der Administrator als auch die Benutzer selber ihre Psaswörter in
47
        kivitendo ändern.</p><p>Soll hingegen ein externer LDAP- oder Active-Directory-Server
48
        benutzt werden, so muss der Parameter <code class="varname">module</code> auf
49
        <code class="literal">LDAP</code> gesetzt werden. In diesem Fall müssen
50
        zusätzliche Informationen über den LDAP-Server im Abschnitt
51
        <code class="literal">[authentication/ldap]</code> angegeben werden:</p><div class="variablelist"><dl><dt><span class="term">
52
                     <code class="literal">host</code>
53
                  </span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder
54
              Active-Directory-Servers. Diese Angabe ist zwingend
55
              erforderlich.</p></dd><dt><span class="term">
56
                     <code class="literal">port</code>
57
                  </span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term">
58
                     <code class="literal">tls</code>
59
                  </span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
60
              Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf
61
              ‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term">
62
                     <code class="literal">attribute</code>
63
                  </span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der
64
              Benutzer eingegeben hat. Für Active-Directory-Server ist dies
65
              meist ‘<code class="literal">sAMAccountName</code>’, für andere
66
              LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist
67
              zwingend erforderlich.</p></dd><dt><span class="term">
68
                     <code class="literal">base_dn</code>
69
                  </span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
70
              Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term">
71
                     <code class="literal">filter</code>
72
                  </span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
73
              <code class="literal">&lt;%login%&gt;</code>, so wird dieses durch den vom
74
              Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird
75
              der LDAP-Baum nach einem Element durchsucht, bei dem das oben
76
              angegebene Attribut mit dem Benutzernamen identisch ist.</p></dd><dt><span class="term">
77
                     <code class="literal">bind_dn</code> und
78
            <code class="literal">bind_password</code>
79
                  </span></dt><dd><p>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er
80
              durchsucht werden kann (z.B. ist dies bei
81
              Active-Directory-Servern der Fall), so kann diese hier angegeben
82
              werden. Für Active-Directory-Server kann als
83
              ‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie
84
              z.B. ‘<code class="literal">cn=Martin
85
              Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der
86
              volle Name des Benutzers eingegeben werden; in diesem Beispiel
87
              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
88
        aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
89
        Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
90
        Parameter <code class="varname">cookie_name</code> im Abschnitt
91
        <code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem
92
        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
93
        <code class="filename">config/kivitendo.conf</code> vorgenommen wurden, muss
94
        kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht
95
        automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter
96
        der folgenden URL erreichbar sein sollte:</p><p>
97
               <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
98
            </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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Der Task-Server&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.9. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
doc/html/ch02s09.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
      verschicken. Damit dies funktioniert, muss eingestellt werden, über welchen Server die E-Mails verschickt werden sollen. kivitendo
5
      unterstützt dabei zwei Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit <span class="productname">Postfix</span>™ oder
6
      <span class="productname">Exim</span>™, was auch die standardmäßig aktive Methode ist) sowie Versand über einen SMTP-Server (z.B. der des
7
      eigenen Internet-Providers).</p><p>Welche Methode und welcher Server verwendet werden, wird über die Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
8
      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
9
        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
10
        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 =
11
        ...</code>'. Der Standardwert verweist auf das Programm <code class="filename">/usr/bin/sendmail</code>, das bei allen oben genannten
12
        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
13
        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
14
        konfiguriert ist.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = smtp</code>' gesetzt sein. Die folgenden
15
        Parameter dienen dabei der weiteren Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
16
                     <code class="varname">hostname</code>
17
                  </span></dt><dd><p>Name oder IP-Adresse des SMTP-Servers. Standardwert: '<code class="literal">localhost</code>'</p></dd><dt><span class="term">
18
                     <code class="varname">port</code>
19
                  </span></dt><dd><p>Portnummer. Der Standardwert hängt von der verwendeten Verschlüsselungsmethode ab. Gilt '<code class="literal">security =
20
            none</code>' oder '<code class="literal">security = tls</code>', so ist 25 die Standardportnummer. Für '<code class="literal">security =
21
            ssl</code>' ist 465 die Portnummer. Muss normalerweise nicht geändert werden.</p></dd><dt><span class="term">
22
                     <code class="varname">security</code>
23
                  </span></dt><dd><p>Wahl der zu verwendenden Verschlüsselung der Verbindung mit dem Server. Standardwert ist
24
            '<code class="literal">none</code>', wodurch keine Verschlüsselung verwendet wird. Mit '<code class="literal">tls</code>' wird TLS-Verschlüsselung
25
            eingeschaltet, und mit '<code class="literal">ssl</code>' wird Verschlüsselung via SSL eingeschaltet. Achtung: Für
26
            '<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">
27
                     <code class="varname">login</code> und <code class="varname">password</code>
28
                  </span></dt><dd><p>Falls der E-Mail-Server eine Authentifizierung verlangt, so können mit diesen zwei Parametern der Benutzername
29
            und das Passwort angegeben werden. Wird Authentifizierung verwendet, so sollte aus Sicherheitsgründen auch eine Form von
30
            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
31
          <code class="literal">libnet-sslglue-perl</code>, Fedora Core: <code class="literal">perl-Net-SSLGlue</code>, openSuSE:
32
          <code class="literal">perl-Net-SSLGlue</code>
33
                  </p></li><li class="listitem"><p>SSL-Verschlüsselung: Modul <code class="literal">Net::SMTP::SSL</code> (Debian-Paketname
34
          <code class="literal">libnet-smtp-ssl-perl</code>, Fedora Core: <code class="literal">perl-Net-SMTP-SSL</code>, openSuSE:
35
          <code class="literal">perl-Net-SMTP-SSL</code>
36
                  </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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzer- und Gruppenverwaltung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.10. Drucken mit kivitendo</td></tr></table></div></body></html>
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
      angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter
5
      folgender URL finden:</p><p>
6
            <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
7
         </p><p>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
8
      <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
9
        Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
10
        mit kivitendo arbeiten zu können, muss eine Person einen
11
        Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
12
        Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
13
        möglich und normal, dass mehreren Benutzern die selbe Datenbank
14
        zugewiesen wird, sodass sie alle mit den selben Daten arbeiten
15
        können.</p><p>Die Basisdaten der Benutzer, die in der Administration
16
        eingegeben werden können, werden in einer zweiten Datenbank
17
        gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese
18
        ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet.
19
        Pro kivitendo-Installation gibt es nur eine
20
        Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit
21
        Firmendaten.</p><p>kivitendo kann seinen Benutzern Zugriff auf bestimmte
22
        Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
23
        gestattet, so werden der entsprechenden Menüpunkte auch nicht
24
        angezeigt. Diese Rechte werden ebenfalls in der
25
        Authentifizierungsdatenbank gespeichert.</p><p>Um Rechte verteilen zu können, verwendet kivitendo ein
26
        Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
27
        erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
28
        mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
29
        Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
30
        Benutzer Mitglied ist.</p><p>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und
31
        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
32
        den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
33
        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
34
        wollen, so müssen Sie vor dem Anlegen der Datenbank in der Datei <code class="filename">config/kivitendo.conf</code> die Variable
35
        <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
36
        verwenden müssen, da diese Einstellungen momentan global in kivitendo
37
        vorgenommen wird und nicht nach Datenbank unterschieden werden kann.
38
        Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
39
        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
40
        Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
41
        Anlegen können Sie die verschiedenen Bereiche wählen, auf die
42
        Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der
43
        Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
44
        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
45
        Standardeinstellungen vorgenommen, die den Gepflogenheiten des
46
        deutschen Raumes entsprechen.</p><p>Zwingend anzugeben sind der Loginname sowie die komplette
47
        Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
48
        Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
49
        gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
50
        aktiv, so ist das Passwort-Feld deaktiviert.</p><p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der
51
        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
52
        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
53
            folgenden Dialog kann man dann einzeln die Benutzer der Gruppe
54
            hinzufügen.</p></li><li class="listitem"><p>In der Gruppenverwaltung wählt man das Tool zur Verwaltung
55
            der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die
56
            alle im System angelegten Gruppen und Benutzer enthält. Durch
57
            Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der
58
            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,
59
        in der die Benutzerdaten noch im Dateisystem im Verzeichnis
60
        <code class="literal">users</code> verwaltet wurden, so bietet kivitendo die
61
        Möglichkeit, diese Benutzerdaten automatisch in die
62
        Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man
63
        sich nach dem Update der Installation das erste Mal im
64
        Administrationsbereich anmeldet. Findet kivitendo die Datei
65
        <code class="literal">users/members</code>, so wird der Migrationsprozess
66
        gestartet.</p><p>Der Migrationsprozess ist nahezu vollautomatisch. Alle
67
        Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet
68
        kivitendo noch die Möglichkeit an, dass automatisch eine
69
        Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle
70
        Funktionen von kivitendo gewährt. Alle migrierten Benutzern werden
71
        Mitglied in dieser Gruppe. Damit wird das Verhalten von kivitendo bis
72
        Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können
73
        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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzerauthentifizierung und Administratorpasswort&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.10. E-Mail-Versand aus kivitendo heraus</td></tr></table></div></body></html>
doc/html/ch02s10.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <title>2.10. Drucken mit kivitendo</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. E-Mail-Versand aus kivitendo heraus"><link rel="next" href="ch02s11.html" title="2.11. OpenDocument-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.10. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.10. Drucken mit kivitendo</h2></div></div></div><p>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen.  Um drucken zu können, braucht der Server ein geeignetes
4
      LaTeX System. Am einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter Debianoiden Betriebssystemen installiert man
5
      die Pakete mit:</p><p>
6
            </p><pre class="programlisting">aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
7
  texlive-latex-extra texlive-lang-german texlive-generic-extra</pre><p>
8
         </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
9
        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
10
        angeben:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
11
                     <code class="option">Name</code>: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
12
          Bedingungen für Verzeichnisnamen frei gewählt werden.</p></li><li class="listitem"><p>
13
                     <code class="option">Vorlagen auswählen</code>: Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll
14
          (<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
15
        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
16
            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
17
            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
18
            "<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
19
            versendeten Dokumenten eingebunden (Option "<code class="option">bgPdfEmailOnly</code>" in Datei
20
            <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
21
            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
22
            Rechnung das Land verlässt).</p></li><li class="listitem"><p>Multisprachfähig leicht um weitere Sprachen zu erweitern, alle Übersetzungen in der Datei
23
            <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
24
            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>
25
            Es wird eine Datei <code class="filename">sample.lco</code> erstellt und diese nach <code class="filename">letter.lco</code> verlinkt.  Eigentlich
26
            ist dies die Datei die für die Firmenspezifischen Anpassungen gedacht ist.  Da die Einstiegshürde in LaTeX nicht ganz niedrig
27
            ist, wird in dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses PDF die persönlichen Layoutanpassungen
28
            vorzunehmen und <code class="filename">sample.lco</code> unverändert zu lassen. Die die Anpassung über eine
29
            <code class="filename">*.lco</code>-Datei die letztlich auf <code class="filename">letter.lco</code> verlinkt ist ist aber auch möglich.
30
          </p><p>
31
            Es wird eine Datei <code class="filename">sample_head.pdf</code> mit ausgeliefert, diese wird nach <code class="filename">letter_head.pdf</code>
32
            verlinkt. Damit gibt es schon mal eine Funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei
33
            <code class="filename">sample_haed.pdf</code> an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im
34
            Template Verzeichniss ablegen und statt <code class="filename">sample_head.pdf</code> nach <code class="filename">letter_head.pdf</code>
35
            verlinken.
36
          </p><p>
37
            letzlich muss <code class="filename">letter_head.pdf</code> auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf
38
            enthält. Bei Updates oder nach erneutem
39
          </p><p>
40
            Es wird eine Datei <code class="filename">mydata.tex.example</code> ausgeliefert, die nach <code class="filename">mytdata.tex</code> verlinkt
41
            ist. Bei verwendetem Hintergrund-PDF wird nur der Eintrag für das Land verwendet. Die Datei muss also nicht angefasst
42
            werden. Die Anderen Werte sind für das Modul 'lp' (Label Print in erp - zur Zeit nicht im öffentlichen Zweig).
43
          </p><p>
44
            Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.  sollten über die Hintergrund-PDF-Datei oder die
45
            <code class="filename">*.lco</code>-Datei erfolgen.
46
          </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>
47
            Das Konzept von kivitendo sieht vor, für jedes Dokument (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine LaTeX-Vorlage
48
            vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur
49
            bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle
50
            briefartigen Dokumente mit Artikel-Tabellen eine einheitliche LaTeX-Vorlage verwendet, welche über Codeweichen die
51
            Besonderheiten der jeweiligen Dokumente Berücksichtigt.
52
          </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
53
            Kunde)</p></li></ul></div><p>Nachteil:</p><p>
54
             LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei <code class="filename">letter.tex</code> ist sehr komplex und verstärkt damit
55
             diesen Effekt noch einmal erheblich.  Wer LaTeX-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann natürlich
56
             auch innerhalb der Tabellendarstellung gut persönliche Anpassungen vornehmen. Aber man kann sich hier bei Veränderungen sehr
57
             schnell häftig in den Fuss schiessen.
58
           </p><p>Wer nicht so tief in die Materie einsteigen will oder leicht zu frustrieren ist, sollte sein Hintergrund PDF auf Basis der
59
           mitglieferten Datei <code class="filename">sample_head.pdf</code> erstellen, und sich an der Form der dargestellten Tabellen wie sie
60
           ausgeliefert werden, erfreuen.
61
           </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
62
	         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
63
              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
64
              Endverbraucher- wie Gewerbekunden beliefert der eigentliche Knackpunkt)</p></li></ul></div><p>
65
            Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder Nettorechnung wird mit den Zahlarten
66
            verknüpft. Zahlarten bei denen Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen, enden mit "_E" (für
67
            Endverbraucher). Falls identische Zahlarten für Gewerbekunden und Endverbraucher vorhanden sind, legt man diese einfach doppelt
68
            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
69
            Netto" auszuwählen.</p></li><li class="listitem"><p>Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken reviediert werden,
70
            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
71
          <code class="varname">shipto*</code>-Variable leer ist, wird die entsprechende Adressvariable eingesetzt.  Wenn also die Lieferadresse in
72
          Straße, Hausnummer und Ort abweicht, müssen auch nur diese Felder in der Lieferadresse ausgefüllt werden. Für den Firmenname wird
73
          der Wert der Hauptadresse angezeigt.
74
          </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
75
        funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange
76
        Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
77
        die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
78
        Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
79
            LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
80
            Vorlagen aus der Community auf. Installieren Sie die entsprechenden
81
            Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:... set up for
82
            use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
83
            einer Standardinstallation exotische utf8 Zeichen zu drucken.
84
            TeXLive unterstützt von Haus nur romanische Schriften und muss mit
85
            diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
86
            Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</p></li></ul></div><p>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
87
        heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
88
        Prüfen Sie den Namen in der Konfiguration (Standard:
89
        <code class="literal">pdflatex</code>), und stellen Sie sicher, dass pdflatex
90
        (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
91
        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>
92
                     </p><pre class="programlisting">keep_temp_files = 1;</pre><p>
93
                  </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>
94
                     </p><pre class="programlisting">cd [kivitendo-home]/users</pre><p>
95
                  </p></li><li class="listitem"><p>LaTeX Suchpfad anpassen:</p><p>
96
                     </p><pre class="programlisting">export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</pre><p>
97
                  </p></li><li class="listitem"><p>Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat</p><p>
98
                     </p><pre class="programlisting">ls -lahtr ./1*.tex</pre><p>
99
                  </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>
100
                     </p><pre class="programlisting">pdflatex ./1*.tex</pre><p>
101
                  </p><p>in der *.tex datei nach dem Fehler suchen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. E-Mail-Versand aus kivitendo heraus&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.11. OpenDocument-Vorlagen</td></tr></table></div></body></html>
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. 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
4
      verschicken. Damit dies funktioniert, muss eingestellt werden, über welchen Server die E-Mails verschickt werden sollen. kivitendo
5
      unterstützt dabei zwei Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit <span class="productname">Postfix</span>™ oder
6
      <span class="productname">Exim</span>™, was auch die standardmäßig aktive Methode ist) sowie Versand über einen SMTP-Server (z.B. der des
7
      eigenen Internet-Providers).</p><p>Welche Methode und welcher Server verwendet werden, wird über die Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
8
      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
9
        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
10
        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 =
11
        ...</code>'. Der Standardwert verweist auf das Programm <code class="filename">/usr/bin/sendmail</code>, das bei allen oben genannten
12
        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
13
        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
14
        konfiguriert ist.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = smtp</code>' gesetzt sein. Die folgenden
15
        Parameter dienen dabei der weiteren Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
16
                     <code class="varname">hostname</code>
17
                  </span></dt><dd><p>Name oder IP-Adresse des SMTP-Servers. Standardwert: '<code class="literal">localhost</code>'</p></dd><dt><span class="term">
18
                     <code class="varname">port</code>
19
                  </span></dt><dd><p>Portnummer. Der Standardwert hängt von der verwendeten Verschlüsselungsmethode ab. Gilt '<code class="literal">security =
20
            none</code>' oder '<code class="literal">security = tls</code>', so ist 25 die Standardportnummer. Für '<code class="literal">security =
21
            ssl</code>' ist 465 die Portnummer. Muss normalerweise nicht geändert werden.</p></dd><dt><span class="term">
22
                     <code class="varname">security</code>
23
                  </span></dt><dd><p>Wahl der zu verwendenden Verschlüsselung der Verbindung mit dem Server. Standardwert ist
24
            '<code class="literal">none</code>', wodurch keine Verschlüsselung verwendet wird. Mit '<code class="literal">tls</code>' wird TLS-Verschlüsselung
25
            eingeschaltet, und mit '<code class="literal">ssl</code>' wird Verschlüsselung via SSL eingeschaltet. Achtung: Für
26
            '<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">
27
                     <code class="varname">login</code> und <code class="varname">password</code>
28
                  </span></dt><dd><p>Falls der E-Mail-Server eine Authentifizierung verlangt, so können mit diesen zwei Parametern der Benutzername
29
            und das Passwort angegeben werden. Wird Authentifizierung verwendet, so sollte aus Sicherheitsgründen auch eine Form von
30
            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
31
          <code class="literal">libnet-sslglue-perl</code>, Fedora Core: <code class="literal">perl-Net-SSLGlue</code>, openSuSE:
32
          <code class="literal">perl-Net-SSLGlue</code>
33
                  </p></li><li class="listitem"><p>SSL-Verschlüsselung: Modul <code class="literal">Net::SMTP::SSL</code> (Debian-Paketname
34
          <code class="literal">libnet-smtp-ssl-perl</code>, Fedora Core: <code class="literal">perl-Net-SMTP-SSL</code>, openSuSE:
35
          <code class="literal">perl-Net-SMTP-SSL</code>
36
                  </p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Benutzer- und Gruppenverwaltung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.11. Drucken mit kivitendo</td></tr></table></div></body></html>
doc/html/ch02s11.html
1 1
<html><head>
2 2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
      OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt.
5
      kivitendo kann dabei sowohl neue OpenDocument-Dokumente als auch aus
6
      diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
7
      OpenDocument-Vorlagen zu aktivieren muss in der Datei
8
      <code class="filename">config/kivitendo.conf</code> die Variable
9
      <code class="literal">opendocument</code> im Abschnitt
10
      <code class="literal">print_templates</code> auf ‘<code class="literal">1</code>’ stehen.
11
      Dieses ist die Standardeinstellung.</p><p>Weiterhin muss in der Datei
12
      <code class="filename">config/kivitendo.conf</code> die Variable
13
      <code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf
14
      die Zeichenkodierung gesetzt werden, die auch bei der Speicherung der
15
      Daten in der Datenbank verwendet wird. Diese ist in den meisten Fällen
16
      "UTF-8".</p><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
17
      weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
18
      OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
19
      neben OpenOffice.org ab Version 2 auch der “X virtual frame buffer”
20
      (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten.
21
      Andere Distributionen enthalten ihn in anderen Paketen.</p><p>Nach der Installation müssen in der Datei
22
      <code class="filename">config/kivitendo.conf</code> zwei weitere Variablen
23
      angepasst werden: <code class="literal">openofficeorg_writer</code> muss den
24
      vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
25
      <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
26
      enthalten. Beide stehen im Abschnitt
27
      <code class="literal">applications</code>.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit
28
      OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die
29
      Variable <code class="literal">$openofficeorg_daemon</code> gesetzt ist, startet
30
      ein OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
31
      bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
32
      benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
33
      reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
34
      werden muss. Der Nachteil ist, dass diese Methode Python und die
35
      Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2
36
      sind.</p><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so
37
      wird für jedes Dokument OpenOffice neu gestartet und die Konvertierung
38
      mit Hilfe eines Makros durchgeführt. Dieses Makro muss in der
39
      Dokumentenvorlage enthalten sein und
40
      “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
41
      ‘<code class="literal">templates/mastertemplates/German/invoice.odt</code>’
42
      enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
43
      ebenfalls enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen
44
      OpenOffice.org Writer dem Verzeichnis mit den Benutzereinstellungen
45
      gibt. Unter Debian ist dies momentan
46
      <code class="literal">~/.openoffice.org2</code>. Sollte der Name bei Ihrer
47
      OpenOffice.org-Installation anders sein, so muss das Verzeichnis
48
      <code class="literal">users/.openoffice.org2</code> entsprechend umbenannt werden.
49
      Ist der Name z.B. einfach nur <code class="literal">.openoffice</code>, so wäre
50
      folgender Befehl auszuführen:</p><p>
51
            <code class="literal">mv users/.openoffice.org2
52
      users/.openoffice</code>
53
         </p><p>Dieses Verzeichnis, wie auch das komplette
54
      <code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
55
      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
56
      erneut überprüft werden, wenn die Konvertierung nach PDF
57
      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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. Drucken mit kivitendo&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
58
      EUR</td></tr></table></div></body></html>
3
   <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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<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
4
      LaTeX System. Am einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter Debianoiden Betriebssystemen installiert man
5
      die Pakete mit:</p><p>
6
            </p><pre class="programlisting">aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
7
  texlive-latex-extra texlive-lang-german texlive-generic-extra</pre><p>
8
         </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
9
        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
10
        angeben:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
... Dieser Diff wurde abgeschnitten, weil er die maximale Anzahl anzuzeigender Zeilen überschreitet.

Auch abrufbar als: Unified diff