Revision cddb2fd7
Von Enrique Morales vor mehr als 1 Jahr hinzugefügt
doc/dokumentation.xml | ||
---|---|---|
566 | 566 |
<para>openSUSE:<programlisting>Nicht notwendig, da poppler-utils bereits i.v.m. kivitendo-erp installiert wird</programlisting></para> |
567 | 567 |
</sect2> |
568 | 568 |
</sect1> |
569 |
|
|
569 |
<sect1 id="Installation mittels Ansible" |
|
570 |
xreflabel="Inatallation mittels Ansible"> |
|
571 |
<title>Installation mittels Ansible</title> |
|
572 |
<para> Zur Installation mit Ansible liegt auf dem Git Repository im ansible Ordner mit dem benötigtem Playbook und Konfigurationsdateien.</para> |
|
573 |
<para> Der/die Hosts auf denen Kivitendo installiert werden soll wird in einer Variable übergeben.</para> |
|
574 |
<para> Installiert werden kann das playbook mit folgendem Befehl: |
|
575 |
<programlisting>ansible-playbook --ask-become-pass main.yaml --extra-vars "target=ZIEL_RECHNER"</programlisting> |
|
576 |
</para> |
|
577 |
</sect1> |
|
570 | 578 |
<sect1 id="Manuelle-Installation-des-Programmpaketes" |
571 | 579 |
xreflabel="Manuelle Installation des Programmpaketes"> |
572 | 580 |
<title>Manuelle Installation des Programmpaketes</title> |
... | ... | |
1298 | 1306 |
weiteren Zusatzmassnahmen, wie beispielsweise Basic Authenticate. Die |
1299 | 1307 |
Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser |
1300 | 1308 |
Anleitung, hier ein Hinweis auf einen entsprechenden <ulink |
1301 |
url="https://www.kivitendo.de/boards/1/topics/142">Foreneintrag
|
|
1309 |
url="http://redmine.kivitendo-premium.de/boards/1/topics/142">Foreneintrag
|
|
1302 | 1310 |
(Stand Sept. 2015)</ulink> und einen aktuellen (Stand Mai 2017) <ulink |
1303 | 1311 |
url="https://mozilla.github.io/server-side-tls/ssl-config-generator/"> |
1304 | 1312 |
SSL-Konfigurations-Generator</ulink>.</para> |
... | ... | |
2169 | 2177 |
debianoiden Betriebssystemen installiert man die Pakete mit:</para> |
2170 | 2178 |
|
2171 | 2179 |
<para><programlisting>apt install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \ |
2172 |
texlive-latex-extra texlive-lang-german ghostscript latexmk</programlisting></para>
|
|
2180 |
texlive-latex-extra texlive-lang-german ghostscript</programlisting></para> |
|
2173 | 2181 |
|
2174 | 2182 |
<para>Für Fedora benötigen Sie die folgenden Pakete:</para> |
2175 | 2183 |
|
doc/html/ch02.html | ||
---|---|---|
10 | 10 |
diese. Auch die Liste der benötigten Perl-Module befindet sich |
11 | 11 |
hier.</p></li><li class="listitem"><p> |
12 | 12 |
<span class="emphasis"><em>Installation von kivitendo</em></span>: Diese umfasst |
13 |
die "<a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>"
|
|
14 |
sowie grundlegende Einstellungen, die der "<a class="xref" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei">Abschnitt 2.4, „kivitendo-Konfigurationsdatei“</a>" erläutert.</p></li><li class="listitem"><p>
|
|
13 |
die "<a class="xref" href="ch02s04.html" title="2.4. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>"
|
|
14 |
sowie grundlegende Einstellungen, die der "<a class="xref" href="ch02s05.html" title="2.5. kivitendo-Konfigurationsdatei">Abschnitt 2.5, „kivitendo-Konfigurationsdatei“</a>" erläutert.</p></li><li class="listitem"><p>
|
|
15 | 15 |
<span class="emphasis"><em>Konfiguration externer Programme</em></span>: hierzu |
16 |
gehören die Datenbank ("<a class="xref" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration">Abschnitt 2.5, „Anpassung der PostgreSQL-Konfiguration“</a>") und der
|
|
17 |
Webserver ("<a class="xref" href="ch02s06.html" title="2.6. Webserver-Konfiguration">Abschnitt 2.6, „Webserver-Konfiguration“</a>").</p></li><li class="listitem"><p>
|
|
16 |
gehören die Datenbank ("<a class="xref" href="ch02s06.html" title="2.6. Anpassung der PostgreSQL-Konfiguration">Abschnitt 2.6, „Anpassung der PostgreSQL-Konfiguration“</a>") und der
|
|
17 |
Webserver ("<a class="xref" href="ch02s07.html" title="2.7. Webserver-Konfiguration">Abschnitt 2.7, „Webserver-Konfiguration“</a>").</p></li><li class="listitem"><p>
|
|
18 | 18 |
<span class="emphasis"><em>Benutzerinformationen speichern können</em></span>: |
19 | 19 |
man benötigt mindestens eine Datenbank, in der Informationen zur |
20 | 20 |
Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man |
21 |
das als Administrator macht, verrät "<a class="xref" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.8, „Benutzerauthentifizierung und Administratorpasswort“</a>".</p></li><li class="listitem"><p>
|
|
21 |
das als Administrator macht, verrät "<a class="xref" href="ch02s09.html" title="2.9. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.9, „Benutzerauthentifizierung und Administratorpasswort“</a>".</p></li><li class="listitem"><p>
|
|
22 | 22 |
<span class="emphasis"><em>Benutzer, Gruppen und Datenbanken |
23 |
anlegen</em></span>: wie dies alles zusammenspielt erläutert "<a class="xref" href="ch02s09.html" title="2.9. Mandanten-, Benutzer- und Gruppenverwaltung">Abschnitt 2.9, „Mandanten-, Benutzer- und Gruppenverwaltung“</a>".</p></li><li class="listitem"><p>
|
|
23 |
anlegen</em></span>: wie dies alles zusammenspielt erläutert "<a class="xref" href="ch02s10.html" title="2.10. Mandanten-, Benutzer- und Gruppenverwaltung">Abschnitt 2.10, „Mandanten-, Benutzer- und Gruppenverwaltung“</a>".</p></li><li class="listitem"><p>
|
|
24 | 24 |
<span class="emphasis"><em>Los geht's</em></span>: alles soweit erledigt? Dann |
25 |
kann es losgehen: "<a class="xref" href="ch02s21.html" title="2.21. kivitendo ERP verwenden">Abschnitt 2.21, „kivitendo ERP verwenden“</a>"</p></li></ol></div><p>Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls
|
|
25 |
kann es losgehen: "<a class="xref" href="ch02s22.html" title="2.22. kivitendo ERP verwenden">Abschnitt 2.22, „kivitendo ERP verwenden“</a>"</p></li></ol></div><p>Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls
|
|
26 | 26 |
wichtig und sollten vor einer ernsthaften Inbetriebnahme gelesen |
27 | 27 |
werden.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.2. Benötigte Software und Pakete</td></tr></table></div></body></html> |
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. 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. Benötigte Software und Pakete</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.2. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.2.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.2.1. Betriebssystem</h3></div></div></div><p>kivitendo ist für Linux konzipiert, und sollte auf jedem
|
|
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 3.8.0: 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. Installation mittels Ansible"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. Benötigte Software und Pakete</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.2. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.2.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.2.1. Betriebssystem</h3></div></div></div><p>kivitendo ist für Linux konzipiert, und sollte auf jedem
|
|
4 | 4 |
unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist |
5 | 5 |
diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde |
6 | 6 |
bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es |
... | ... | |
48 | 48 |
<code class="literal">Exception::Class</code> |
49 | 49 |
</p></li><li class="listitem"><p> |
50 | 50 |
<code class="literal">FCGI</code> (nicht Versionen 0.68 bis 0.71 |
51 |
inklusive; siehe <a class="xref" href="ch02s06.html#Apache-Konfiguration.FCGI.WebserverUndPlugin" title="2.6.2.3. Getestete Kombinationen aus Webservern und Plugin">Abschnitt 2.6.2.3, „Getestete Kombinationen aus Webservern und Plugin“</a>)</p></li><li class="listitem"><p>
|
|
51 |
inklusive; siehe <a class="xref" href="ch02s07.html#Apache-Konfiguration.FCGI.WebserverUndPlugin" title="2.7.2.3. Getestete Kombinationen aus Webservern und Plugin">Abschnitt 2.7.2.3, „Getestete Kombinationen aus Webservern und Plugin“</a>)</p></li><li class="listitem"><p>
|
|
52 | 52 |
<code class="literal">File::Copy::Recursive</code> |
53 | 53 |
</p></li><li class="listitem"><p> |
54 | 54 |
<code class="literal">File::Flock</code> |
... | ... | |
78 | 78 |
<code class="literal">List::UtilsBy</code> |
79 | 79 |
</p></li><li class="listitem"><p>LWP::Authen::Digest</p></li><li class="listitem"><p>LWP::UserAgent</p></li><li class="listitem"><p> |
80 | 80 |
<code class="literal">Net::SMTP::SSL</code> (optional, bei |
81 |
E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s11.html#config.sending-email.smtp" title="2.11.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
|
|
81 |
E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s12.html#config.sending-email.smtp" title="2.12.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
|
|
82 | 82 |
<code class="literal">Net::SSLGlue</code> (optional, bei |
83 |
E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s11.html#config.sending-email.smtp" title="2.11.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
|
|
83 |
E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s12.html#config.sending-email.smtp" title="2.12.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
|
|
84 | 84 |
<code class="literal">Math::Round</code> |
85 | 85 |
</p></li><li class="listitem"><p> |
86 | 86 |
<code class="literal">Params::Validate</code> |
... | ... | |
205 | 205 |
<code class="literal">Postgres Trigram-Index</code> Für datenbankoptimierte Suchanfragen. Bspw. im Paket <code class="literal">postgresql-contrib</code> enthalten</p></li></ul></div><p>Debian und Ubuntu: </p><pre class="programlisting">apt install postgresql-contrib poppler-utils</pre><p> |
206 | 206 |
</p><p>Fedora: </p><pre class="programlisting">dnf install poppler-utils postgresql-contrib</pre><p> |
207 | 207 |
</p><p>openSUSE:</p><pre class="programlisting">Nicht notwendig, da poppler-utils bereits i.v.m. kivitendo-erp installiert wird</pre><p> |
208 |
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.3. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html> |
|
208 |
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.3. Installation mittels Ansible</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. 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s02.html" title="2.2. Benötigte Software und Pakete"><link rel="next" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.3. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Der aktuelle Stable-Release, bzw. beta Release wird bei github |
|
4 |
gehostet und kann <a class="ulink" href="https://github.com/kivitendo/kivitendo-erp/releases" target="_top">hier</a> |
|
5 |
heruntergeladen werden.</p><p>Das aktuelleste kivitendo ERP-Archiv |
|
6 |
(<code class="filename">kivitendo-erp-*.tgz</code>) wird dann im |
|
7 |
Dokumentenverzeichnis des Webservers (z.B. |
|
8 |
<code class="filename">/var/www/html/</code>, |
|
9 |
<code class="filename">/srv/www/htdocs</code> oder |
|
10 |
<code class="filename">/var/www/</code>) entpackt:</p><pre class="programlisting">cd /var/www |
|
11 |
tar xvzf kivitendo-erp-*.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 |
|
12 |
Webserverkonfiguration benutzen, um auf das tatsächliche |
|
13 |
Installationsverzeichnis zu verweisen.</p><p>Bei einer Neuinstallation von Version 3.1.0 oder später muß das |
|
14 |
WebDAV Verzeichnis derzeit manuell angelegt werden:</p><pre class="programlisting">mkdir webdav</pre><p>Die Verzeichnisse <code class="filename">users</code>, |
|
15 |
<code class="filename">spool</code> und <code class="filename">webdav</code> müssen für |
|
16 |
den Benutzer beschreibbar sein, unter dem der Webserver läuft. Die |
|
17 |
restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- |
|
18 |
und Gruppennamen sind bei verschiedenen Distributionen unterschiedlich |
|
19 |
(z.B. bei Debian/Ubuntu <code class="constant">www-data</code>, bei Fedora |
|
20 |
<code class="constant">apache</code> oder bei openSUSE |
|
21 |
<code class="constant">wwwrun</code>).</p><p>Der folgende Befehl ändert den Besitzer für die oben genannten |
|
22 |
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 |
|
23 |
<code class="filename">templates</code> und <code class="filename">users</code> |
|
24 |
Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in |
|
25 |
kivitendo angelegt wird:</p><pre class="programlisting">chown www-data templates users</pre><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>Wir empfehlen eine Installation mittels des Versionsmanagager |
|
26 |
git. Hierfür muss ein git-Client installiert sein. Damit ist man sehr |
|
27 |
viel flexibler für zukünftige Upgrades. Installations-Anleitung (bitte |
|
28 |
die Pfade anpassen) bspw. wie folgt: </p><pre class="programlisting">cd /var/www/ |
|
29 |
git clone https://github.com/kivitendo/kivitendo-erp.git |
|
30 |
cd kivitendo-erp/ |
|
31 |
git checkout `git tag -l | egrep -ve "(alpha|beta|rc)" | tail -1`</pre><p> |
|
32 |
Erläuterung: Der Befehl wechselt zur letzten Stable-Version (git tag |
|
33 |
-l listet alle Tags auf, das egrep schmeisst alle Einträge mit alpha, |
|
34 |
beta oder rc raus und das tail gibt davon den obersten Treffer |
|
35 |
zurück). Sehr sinnvoll ist es, direkt im Anschluss einen eigenen |
|
36 |
Branch zu erzeugen, um bspw. seine eigenen Druckvorlagen-Anpassungen |
|
37 |
damit zu verwalten. Hierfür reicht ein simples </p><pre class="programlisting"> git checkout -b meine_eigenen_änderungen</pre><p> |
|
38 |
nach dem letzten Kommando (weiterführende Informationen <a class="ulink" href="http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html" target="_top"> |
|
39 |
Git Magic</a>).</p><p>Ein beispielhafter Workflow für Druckvorlagen-Anpassungen von |
|
40 |
3.4.1 nach 3.5: </p><pre class="programlisting"> |
|
41 |
$ git clone https://github.com/kivitendo/kivitendo-erp.git |
|
42 |
$ cd kivitendo-erp/ |
|
43 |
$ git checkout release-3.4.1 # das ist ein alter release aus dem wir starten ... |
|
44 |
$ git checkout -b meine_eigene_änderungen # unser lokaler branch - unabhängig von allen anderen |
|
45 |
$ git add templates/mein_druck # das sind unsere druckvorlagen inkl. produktbilder |
|
46 |
$ git commit -m "juhu tolle änderungen" |
|
47 |
|
|
48 |
[meine_aenderungen 1d89e41] juhu tolle ändernungen |
|
49 |
4 files changed, 380 insertions(+) |
|
50 |
create mode 100644 templates/mein_druck/img/webdav/tesla.png |
|
51 |
create mode 100644 templates/mein_druck/mahnung.tex |
|
52 |
create mode 100644 templates/mein_druck/zahlungserinnerung_zwei.tex |
|
53 |
create mode 100644 templates/mein_druck/zahlungserinnerung_zwei_invoice.tex |
|
54 |
|
|
55 |
# 5 Jahre später ... |
|
56 |
# webserver abschalten! |
|
57 |
|
|
58 |
$ git checkout master |
|
59 |
$ git pull # oder git fetch und danach ein stable release tag auswählen (s.o.) |
|
60 |
$ git checkout meine_eigenen_änderungen |
|
61 |
$ git rebase master |
|
62 |
|
|
63 |
Zunächst wird der Branch zurückgespult, um Ihre Änderungen |
|
64 |
darauf neu anzuwenden ... |
|
65 |
Wende an: juhu tolle änderungen |
|
66 |
$ service apache2 restart # webserver starten! |
|
67 |
</pre><p> |
|
68 |
</p></td></tr></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Benötigte Software und Pakete </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.4. kivitendo-Konfigurationsdatei</td></tr></table></div></body></html> |
|
3 |
<title>2.3. Installation mittels Ansible</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: 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. 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.3. Installation mittels Ansible</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. Installation mittels Ansible"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Installation mittels Ansible"></a>2.3. Installation mittels Ansible</h2></div></div></div><p> Zur Installation mit Ansible liegt auf dem Git Repository im ansible Ordner mit dem benötigtem Playbook und Konfigurationsdateien.</p><p> Der/die Hosts auf denen Kivitendo installiert werden soll wird in einer Variable übergeben.</p><p> Installiert werden kann das playbook mit folgendem Befehl: |
|
4 |
</p><pre class="programlisting">ansible-playbook --ask-become-pass main.yaml --extra-vars "target=ZIEL_RECHNER"</pre><p> |
|
5 |
|
|
6 |
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Benötigte Software und Pakete </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.4. Manuelle Installation des Programmpaketes</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. kivitendo-Konfigurationsdatei</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes"><link rel="next" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. kivitendo-Konfigurationsdatei</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. kivitendo-Konfigurationsdatei"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.config-file"></a>2.4. kivitendo-Konfigurationsdatei</h2></div></div></div><div class="sect2" title="2.4.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.introduction"></a>2.4.1. Einführung</h3></div></div></div><p>In kivitendo gibt es nur noch eine Konfigurationsdatei, die |
|
4 |
benötigt wird: <code class="filename">config/kivitendo.conf</code> (kurz: "die |
|
5 |
Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation von |
|
6 |
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>Vor der Umbenennung in kivitendo hieß diese Datei noch |
|
14 |
<code class="filename">config/lx_office.conf</code>. Aus Gründen der |
|
15 |
Kompatibilität wird diese Datei eingelesen, sofern die Datei |
|
16 |
<code class="filename">config/kivitendo.conf</code> nicht existiert.</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 2.8, „Benutzerauthentifizierung und Administratorpasswort“</a>" |
|
23 |
in diesem Kapitel)</p></li><li class="listitem"><p> |
|
24 |
<code class="literal">authentication/database</code> |
|
25 |
</p></li><li class="listitem"><p> |
|
26 |
<code class="literal">authentication/ldap</code> |
|
27 |
</p></li><li class="listitem"><p> |
|
28 |
<code class="literal">system</code> |
|
29 |
</p></li><li class="listitem"><p> |
|
30 |
<code class="literal">paths</code> |
|
31 |
</p></li><li class="listitem"><p> |
|
32 |
<code class="literal">mail_delivery</code> (siehe Abschnitt "<a class="xref" href="ch02s11.html#config.sending-email.smtp" title="2.11.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>)</p></li><li class="listitem"><p> |
|
33 |
<code class="literal">applications</code> |
|
34 |
</p></li><li class="listitem"><p> |
|
35 |
<code class="literal">environment</code> |
|
36 |
</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">self_tests</code> |
|
44 |
</p></li><li class="listitem"><p> |
|
45 |
<code class="literal">console</code> |
|
46 |
</p></li><li class="listitem"><p> |
|
47 |
<code class="literal">testing</code> |
|
48 |
</p></li><li class="listitem"><p> |
|
49 |
<code class="literal">testing/database</code> |
|
50 |
</p></li><li class="listitem"><p> |
|
51 |
<code class="literal">debug</code> |
|
52 |
</p></li></ul></div><p>Die üblicherweise wichtigsten Parameter, die am Anfang |
|
53 |
einzustellen oder zu kontrollieren sind, sind:</p><pre class="programlisting">[authentication] |
|
54 |
admin_password = geheim |
|
3 |
<title>2.4. 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. Installation mittels Ansible"><link rel="next" href="ch02s05.html" title="2.5. 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.4. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.4. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Der aktuelle Stable-Release, bzw. beta Release wird bei github |
|
4 |
gehostet und kann <a class="ulink" href="https://github.com/kivitendo/kivitendo-erp/releases" target="_top">hier</a> |
|
5 |
heruntergeladen werden.</p><p>Das aktuelleste kivitendo ERP-Archiv |
|
6 |
(<code class="filename">kivitendo-erp-*.tgz</code>) wird dann im |
|
7 |
Dokumentenverzeichnis des Webservers (z.B. |
|
8 |
<code class="filename">/var/www/html/</code>, |
|
9 |
<code class="filename">/srv/www/htdocs</code> oder |
|
10 |
<code class="filename">/var/www/</code>) entpackt:</p><pre class="programlisting">cd /var/www |
|
11 |
tar xvzf kivitendo-erp-*.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 |
|
12 |
Webserverkonfiguration benutzen, um auf das tatsächliche |
|
13 |
Installationsverzeichnis zu verweisen.</p><p>Bei einer Neuinstallation von Version 3.1.0 oder später muß das |
|
14 |
WebDAV Verzeichnis derzeit manuell angelegt werden:</p><pre class="programlisting">mkdir webdav</pre><p>Die Verzeichnisse <code class="filename">users</code>, |
|
15 |
<code class="filename">spool</code> und <code class="filename">webdav</code> müssen für |
|
16 |
den Benutzer beschreibbar sein, unter dem der Webserver läuft. Die |
|
17 |
restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- |
|
18 |
und Gruppennamen sind bei verschiedenen Distributionen unterschiedlich |
|
19 |
(z.B. bei Debian/Ubuntu <code class="constant">www-data</code>, bei Fedora |
|
20 |
<code class="constant">apache</code> oder bei openSUSE |
|
21 |
<code class="constant">wwwrun</code>).</p><p>Der folgende Befehl ändert den Besitzer für die oben genannten |
|
22 |
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 |
|
23 |
<code class="filename">templates</code> und <code class="filename">users</code> |
|
24 |
Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in |
|
25 |
kivitendo angelegt wird:</p><pre class="programlisting">chown www-data templates users</pre><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>Wir empfehlen eine Installation mittels des Versionsmanagager |
|
26 |
git. Hierfür muss ein git-Client installiert sein. Damit ist man sehr |
|
27 |
viel flexibler für zukünftige Upgrades. Installations-Anleitung (bitte |
|
28 |
die Pfade anpassen) bspw. wie folgt: </p><pre class="programlisting">cd /var/www/ |
|
29 |
git clone https://github.com/kivitendo/kivitendo-erp.git |
|
30 |
cd kivitendo-erp/ |
|
31 |
git checkout `git tag -l | egrep -ve "(alpha|beta|rc)" | tail -1`</pre><p> |
|
32 |
Erläuterung: Der Befehl wechselt zur letzten Stable-Version (git tag |
|
33 |
-l listet alle Tags auf, das egrep schmeisst alle Einträge mit alpha, |
|
34 |
beta oder rc raus und das tail gibt davon den obersten Treffer |
|
35 |
zurück). Sehr sinnvoll ist es, direkt im Anschluss einen eigenen |
|
36 |
Branch zu erzeugen, um bspw. seine eigenen Druckvorlagen-Anpassungen |
|
37 |
damit zu verwalten. Hierfür reicht ein simples </p><pre class="programlisting"> git checkout -b meine_eigenen_änderungen</pre><p> |
|
38 |
nach dem letzten Kommando (weiterführende Informationen <a class="ulink" href="http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html" target="_top"> |
|
39 |
Git Magic</a>).</p><p>Ein beispielhafter Workflow für Druckvorlagen-Anpassungen von |
|
40 |
3.4.1 nach 3.5: </p><pre class="programlisting"> |
|
41 |
$ git clone https://github.com/kivitendo/kivitendo-erp.git |
|
42 |
$ cd kivitendo-erp/ |
|
43 |
$ git checkout release-3.4.1 # das ist ein alter release aus dem wir starten ... |
|
44 |
$ git checkout -b meine_eigene_änderungen # unser lokaler branch - unabhängig von allen anderen |
|
45 |
$ git add templates/mein_druck # das sind unsere druckvorlagen inkl. produktbilder |
|
46 |
$ git commit -m "juhu tolle änderungen" |
|
55 | 47 |
|
56 |
[authentication/database]
|
|
57 |
host = localhost
|
|
58 |
port = 5432
|
|
59 |
db = kivitendo_auth
|
|
60 |
user = postgres
|
|
61 |
password =
|
|
48 |
[meine_aenderungen 1d89e41] juhu tolle ändernungen
|
|
49 |
4 files changed, 380 insertions(+)
|
|
50 |
create mode 100644 templates/mein_druck/img/webdav/tesla.png
|
|
51 |
create mode 100644 templates/mein_druck/mahnung.tex
|
|
52 |
create mode 100644 templates/mein_druck/zahlungserinnerung_zwei.tex
|
|
53 |
create mode 100644 templates/mein_druck/zahlungserinnerung_zwei_invoice.tex
|
|
62 | 54 |
|
63 |
[system] |
|
64 |
default_manager = german</pre><p>Für kivitendo Installationen in der Schweiz sollte hier |
|
65 |
<code class="varname">german</code> durch <code class="varname">swiss</code> ersetzt |
|
66 |
werden.</p><p>Die Einstellung <code class="varname">default_manager = swiss</code> |
|
67 |
bewirkt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Beim Erstellen einer neuen Datenbank in der kivitendo |
|
68 |
Administration werden automatisch die Standard-Werte für die |
|
69 |
Schweiz voreingestellt: Währung CHF, 5er-Rundung, Schweizer |
|
70 |
KMU-Kontenplan, Sollversteuerung, Aufwandsmethode, Bilanzierung |
|
71 |
(die Werte können aber manuell angepasst werden).</p></li><li class="listitem"><p>Einstellen der Standardkonten für Rundungserträge und |
|
72 |
-aufwendungen (unter Mandantenkonfiguration → Standardkonten |
|
73 |
veränderbar)</p></li><li class="listitem"><p>das verwendete Zahlenformat wird auf |
|
74 |
<code class="varname">1'000.00</code> eingestellt (unter Programm → |
|
75 |
Benutzereinstellungen veränderbar)</p></li><li class="listitem"><p>DATEV-Automatik und UStVA werden nicht angezeigt, |
|
76 |
Erfolgsrechnung ersetzt GUV ( unter Mandantenkonfiguration → |
|
77 |
Features veränderbar)</p></li></ul></div><p>Nutzt man wiederkehrende Rechnungen, kann man unter |
|
78 |
<code class="varname">[periodic_invoices]</code> den Login eines Benutzers |
|
79 |
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail |
|
80 |
mit Informationen über die erstellten Rechnungen bekommt.</p><p>kivitendo bringt eine eigene Komponente zur zeitgesteuerten |
|
81 |
Ausführung bestimmter Aufgaben mit, den <a class="link" href="ch02s07.html" title="2.7. Der Task-Server">Task-Server</a>. Er wird u.a. für |
|
82 |
Features wie die <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrenden Rechnungen</a> |
|
83 |
benötigt, erledigt aber auch andere erforderliche Aufgaben und muss |
|
84 |
daher in Betrieb genommen werden. Seine Einrichtung wird im Abschnitt |
|
85 |
<a class="link" href="ch02s07.html" title="2.7. Der Task-Server">Task-Server</a> genauer |
|
86 |
beschrieben.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code> |
|
87 |
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 |
|
88 |
<code class="filename">config</code> die Dateien |
|
89 |
<code class="filename">authentication.pl</code> und |
|
90 |
<code class="filename">lx-erp.conf</code>, die jeweils Perl-Dateien waren. Es |
|
91 |
gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei |
|
92 |
zu erstellen (<code class="filename">lx-erp-local.conf</code>). Dies ist ab |
|
93 |
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 |
|
94 |
jünger müssen die Einstellungen aus den alten Konfigurationsdateien |
|
95 |
manuell übertragen und die alten Konfigurationsdateien anschließend |
|
96 |
gelöscht oder verschoben werden. Ansonsten zeigt kivitendo eine |
|
97 |
entsprechende Fehlermeldung an.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Manuelle Installation des Programmpaketes </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.5. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html> |
|
55 |
# 5 Jahre später ... |
|
56 |
# webserver abschalten! |
|
57 |
|
|
58 |
$ git checkout master |
|
59 |
$ git pull # oder git fetch und danach ein stable release tag auswählen (s.o.) |
|
60 |
$ git checkout meine_eigenen_änderungen |
|
61 |
$ git rebase master |
|
62 |
|
|
63 |
Zunächst wird der Branch zurückgespult, um Ihre Änderungen |
|
64 |
darauf neu anzuwenden ... |
|
65 |
Wende an: juhu tolle änderungen |
|
66 |
$ service apache2 restart # webserver starten! |
|
67 |
</pre><p> |
|
68 |
</p></td></tr></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Installation mittels Ansible </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.5. kivitendo-Konfigurationsdatei</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. 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei"><link rel="next" href="ch02s06.html" title="2.6. Webserver-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.5. Anpassung der PostgreSQL-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.5. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><p>Dies variert je nach eingesetzter Distribution, da distributionsabhängig unterschiedliche Strategien beim Upgrade der Postgres Version eingesetzt werden. |
|
4 |
Als Hinweis einige Links zu den drei Distribution (Stand Dezember 2018):</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
5 |
<a class="ulink" href="https://fedoraproject.org/wiki/PostgreSQL" target="_top">Fedora (Postgres-Installation unter Fedora)</a> |
|
6 |
</p></li><li class="listitem"><p> |
|
7 |
<a class="ulink" href="https://help.ubuntu.com/lts/serverguide/postgresql.html" target="_top">Ubuntu (Infos für Postgres für die aktuelle LTS Version)</a> |
|
8 |
</p></li><li class="listitem"><p> |
|
9 |
<a class="ulink" href="https://de.opensuse.org/PostgreSQL" target="_top">OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert)</a> |
|
10 |
</p></li></ul></div><div class="sect2" title="2.5.1. Zeichensätze/die Verwendung von Unicode/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 Unicode/UTF-8</h3></div></div></div><p>kivitendo setzt zwingend voraus, dass die Datenbank |
|
11 |
Unicode/UTF-8 als Encoding einsetzt. Bei aktuellen |
|
12 |
Serverinstallationen braucht man hier meist nicht einzugreifen.</p><p>Das Encoding des Datenbankservers kann überprüft werden. Ist das |
|
13 |
Encoding der Datenbank "template1" "Unicode" bzw. "UTF-8", so braucht |
|
14 |
man nichts weiteres diesbezüglich unternehmen. Zum Testen:</p><pre class="programlisting">su postgres |
|
15 |
echo '\l' | psql |
|
16 |
exit </pre><p>Andernfalls ist es notwendig, einen neuen Datenbankcluster mit |
|
17 |
Unicode-Encoding anzulegen und diesen zu verwenden. Unter Debian und |
|
18 |
Ubuntu kann dies z.B. für PostgreSQL 9.3 mit dem folgenden Befehl |
|
19 |
getan werden:</p><pre class="programlisting">pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 9.3 clustername</pre><p>Die Datenbankversionsnummer muss an die tatsächlich verwendete |
|
20 |
Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Das Encoding einer Datenbank kann in <span class="command"><strong>psql</strong></span> mit |
|
21 |
<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 |
|
22 |
Distribution in verschiedenen Verzeichnissen liegen kann (z.B. |
|
23 |
<code class="filename">/var/lib/pgsql/data/</code> oder |
|
24 |
<code class="filename">/etc/postgresql/</code>), muss sichergestellt werden, |
|
25 |
dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den |
|
26 |
Parameter <code class="varname">listen_address</code> gesteuert. Laufen |
|
27 |
PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert |
|
28 |
<code class="literal">localhost</code> verwendet werden. Andernfalls müssen |
|
29 |
Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden, |
|
30 |
was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen |
|
31 |
Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden |
|
32 |
sein sollte, müssen die Berechtigungen für den Zugriff geändert |
|
33 |
werden. Hier gibt es mehrere Möglichkeiten. Sinnvoll ist es nur die |
|
34 |
nötigen Verbindungen immer zuzulassen, für eine lokal laufende |
|
35 |
Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password |
|
36 |
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 |
|
37 |
Unterstützung für servergespeicherte Prozeduren eingerichet werden. |
|
38 |
Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an: |
|
39 |
</p><pre class="programlisting">su - postgres |
|
40 |
psql template1</pre><p> führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">CREATE EXTENSION IF NOT EXISTS plpgsql; |
|
41 |
\q</pre><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> |
|
42 |
<code class="literal">CREATE EXTENSION</code> ist seit Version 9.1 die |
|
43 |
bevorzugte Syntax um die Sprache <code class="literal">plpgsql</code> |
|
44 |
anzulegen. In diesen Versionen ist die Extension meist auch schon |
|
45 |
vorhanden. Sollten Sie eine ältere Version von Postgres haben, |
|
46 |
benutzen Sie stattdessen den folgenden Befehl.</p><pre class="programlisting">CREATE LANGUAGE 'plpgsql'; |
|
47 |
\q</pre></td></tr></table></div></div><div class="sect2" title="2.5.4. Erweiterung für Trigram Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-trigram"></a>2.5.4. Erweiterung für Trigram Prozeduren</h3></div></div></div><p>Ab Version 3.5.1 wird die Trigram-Index-Erweiterung benötigt. |
|
48 |
Diese wird mit dem SQL-Updatescript |
|
49 |
sql/Pg-upgrade2/trigram_extension.sql und Datenbank-Super-Benutzer |
|
50 |
Rechten automatisch installiert. Dazu braucht der |
|
51 |
DatenbankSuperbenutzer "postgres" ein Passwort.</p><pre class="programlisting">su - postgres |
|
52 |
psql |
|
53 |
\password postgres |
|
3 |
<title>2.5. kivitendo-Konfigurationsdatei</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. Manuelle Installation des Programmpaketes"><link rel="next" href="ch02s06.html" title="2.6. Anpassung der PostgreSQL-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.5. kivitendo-Konfigurationsdatei</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. kivitendo-Konfigurationsdatei"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.config-file"></a>2.5. kivitendo-Konfigurationsdatei</h2></div></div></div><div class="sect2" title="2.5.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.introduction"></a>2.5.1. Einführung</h3></div></div></div><p>In kivitendo gibt es nur noch eine Konfigurationsdatei, die |
|
4 |
benötigt wird: <code class="filename">config/kivitendo.conf</code> (kurz: "die |
|
5 |
Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation von |
|
6 |
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>Vor der Umbenennung in kivitendo hieß diese Datei noch |
|
14 |
<code class="filename">config/lx_office.conf</code>. Aus Gründen der |
|
15 |
Kompatibilität wird diese Datei eingelesen, sofern die Datei |
|
16 |
<code class="filename">config/kivitendo.conf</code> nicht existiert.</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.5.2. Abschnitte und Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.sections-parameters"></a>2.5.2. Abschnitte und Parameter</h3></div></div></div><p>Die Konfigurationsdatei besteht aus mehreren Teilen, die |
|
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="ch02s09.html" title="2.9. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.9, „Benutzerauthentifizierung und Administratorpasswort“</a>" |
|
23 |
in diesem Kapitel)</p></li><li class="listitem"><p> |
|
24 |
<code class="literal">authentication/database</code> |
|
25 |
</p></li><li class="listitem"><p> |
|
26 |
<code class="literal">authentication/ldap</code> |
|
27 |
</p></li><li class="listitem"><p> |
|
28 |
<code class="literal">system</code> |
|
29 |
</p></li><li class="listitem"><p> |
|
30 |
<code class="literal">paths</code> |
|
31 |
</p></li><li class="listitem"><p> |
|
32 |
<code class="literal">mail_delivery</code> (siehe Abschnitt "<a class="xref" href="ch02s12.html#config.sending-email.smtp" title="2.12.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>)</p></li><li class="listitem"><p> |
|
33 |
<code class="literal">applications</code> |
|
34 |
</p></li><li class="listitem"><p> |
|
35 |
<code class="literal">environment</code> |
|
36 |
</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">self_tests</code> |
|
44 |
</p></li><li class="listitem"><p> |
|
45 |
<code class="literal">console</code> |
|
46 |
</p></li><li class="listitem"><p> |
|
47 |
<code class="literal">testing</code> |
|
48 |
</p></li><li class="listitem"><p> |
|
49 |
<code class="literal">testing/database</code> |
|
50 |
</p></li><li class="listitem"><p> |
|
51 |
<code class="literal">debug</code> |
|
52 |
</p></li></ul></div><p>Die üblicherweise wichtigsten Parameter, die am Anfang |
|
53 |
einzustellen oder zu kontrollieren sind, sind:</p><pre class="programlisting">[authentication] |
|
54 |
admin_password = geheim |
|
54 | 55 |
|
55 |
Eingabe Passwort |
|
56 |
\q</pre><p>Benutzername Postgres und Passwort können jetzt beim Anlegen |
|
57 |
einer Datenbank bzw. bei Updatescripten, die SuperuserRechte |
|
58 |
benötigen, eingegeben werden.</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> |
|
59 |
<code class="literal">pg_trgm</code> ist je nach Distribution nicht im |
|
60 |
Standard-Paket von Postgres enthalten. Ein </p><pre class="programlisting">select * from pg_available_extensions where name ='pg_trgm';</pre><p> |
|
61 |
in template1 sollte entsprechend erfolgreich sein. Andernfalls muss |
|
62 |
das Paket nachinstalliert werden, bspw. bei debian/ubuntu |
|
63 |
</p><pre class="programlisting">apt install postgresql-contrib</pre><p> |
|
64 |
</p></td></tr></table></div></div><div class="sect2" title="2.5.5. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.5.5. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff |
|
65 |
benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer |
|
66 |
anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen |
|
67 |
können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit |
|
68 |
nein beantworten, genauso ist die Berechtigung neue User (Roles) zu |
|
69 |
generieren nicht nötig.</p><pre class="programlisting">su - postgres |
|
70 |
createuser -d -P kivitendo |
|
71 |
exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern |
|
72 |
Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” |
|
73 |
bzw. den hier gewählten Benutzernamen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. kivitendo-Konfigurationsdatei </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.6. Webserver-Konfiguration</td></tr></table></div></body></html> |
|
56 |
[authentication/database] |
|
57 |
host = localhost |
|
58 |
port = 5432 |
|
59 |
db = kivitendo_auth |
|
60 |
user = postgres |
|
61 |
password = |
|
62 |
|
|
63 |
[system] |
|
64 |
default_manager = german</pre><p>Für kivitendo Installationen in der Schweiz sollte hier |
|
65 |
<code class="varname">german</code> durch <code class="varname">swiss</code> ersetzt |
|
66 |
werden.</p><p>Die Einstellung <code class="varname">default_manager = swiss</code> |
|
67 |
bewirkt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Beim Erstellen einer neuen Datenbank in der kivitendo |
|
68 |
Administration werden automatisch die Standard-Werte für die |
|
69 |
Schweiz voreingestellt: Währung CHF, 5er-Rundung, Schweizer |
|
70 |
KMU-Kontenplan, Sollversteuerung, Aufwandsmethode, Bilanzierung |
|
71 |
(die Werte können aber manuell angepasst werden).</p></li><li class="listitem"><p>Einstellen der Standardkonten für Rundungserträge und |
|
72 |
-aufwendungen (unter Mandantenkonfiguration → Standardkonten |
|
73 |
veränderbar)</p></li><li class="listitem"><p>das verwendete Zahlenformat wird auf |
|
74 |
<code class="varname">1'000.00</code> eingestellt (unter Programm → |
|
75 |
Benutzereinstellungen veränderbar)</p></li><li class="listitem"><p>DATEV-Automatik und UStVA werden nicht angezeigt, |
|
76 |
Erfolgsrechnung ersetzt GUV ( unter Mandantenkonfiguration → |
|
77 |
Features veränderbar)</p></li></ul></div><p>Nutzt man wiederkehrende Rechnungen, kann man unter |
|
78 |
<code class="varname">[periodic_invoices]</code> den Login eines Benutzers |
|
79 |
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail |
|
80 |
mit Informationen über die erstellten Rechnungen bekommt.</p><p>kivitendo bringt eine eigene Komponente zur zeitgesteuerten |
|
81 |
Ausführung bestimmter Aufgaben mit, den <a class="link" href="ch02s08.html" title="2.8. Der Task-Server">Task-Server</a>. Er wird u.a. für |
|
82 |
Features wie die <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrenden Rechnungen</a> |
|
83 |
benötigt, erledigt aber auch andere erforderliche Aufgaben und muss |
|
84 |
daher in Betrieb genommen werden. Seine Einrichtung wird im Abschnitt |
|
85 |
<a class="link" href="ch02s08.html" title="2.8. Der Task-Server">Task-Server</a> genauer |
|
86 |
beschrieben.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code> |
|
87 |
wichtige Funktionen, um die Fehlersuche zu erleichtern.</p></div><div class="sect2" title="2.5.3. Versionen vor 2.6.3"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.prior-versions"></a>2.5.3. Versionen vor 2.6.3</h3></div></div></div><p>In älteren kivitendo Versionen gab es im Verzeichnis |
|
88 |
<code class="filename">config</code> die Dateien |
|
89 |
<code class="filename">authentication.pl</code> und |
|
90 |
<code class="filename">lx-erp.conf</code>, die jeweils Perl-Dateien waren. Es |
|
91 |
gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei |
|
92 |
zu erstellen (<code class="filename">lx-erp-local.conf</code>). Dies ist ab |
|
93 |
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 |
|
94 |
jünger müssen die Einstellungen aus den alten Konfigurationsdateien |
|
95 |
manuell übertragen und die alten Konfigurationsdateien anschließend |
|
96 |
gelöscht oder verschoben werden. Ansonsten zeigt kivitendo eine |
|
97 |
entsprechende Fehlermeldung an.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Manuelle Installation des Programmpaketes </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.6. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html> |
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. 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. Der Task-Server"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.6. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.6. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.6. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.6.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1190"></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">AliasMatch ^/kivitendo-erp/[^/]+\.pl /var/www/kivitendo-erp/dispatcher.pl |
|
10 |
Alias /kivitendo-erp/ /var/www/kivitendo-erp/ |
|
3 |
<title>2.6. 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. kivitendo-Konfigurationsdatei"><link rel="next" href="ch02s07.html" title="2.7. 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.6. Anpassung der PostgreSQL-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.6. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.6. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><p>Dies variert je nach eingesetzter Distribution, da distributionsabhängig unterschiedliche Strategien beim Upgrade der Postgres Version eingesetzt werden. |
|
4 |
Als Hinweis einige Links zu den drei Distribution (Stand Dezember 2018):</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
5 |
<a class="ulink" href="https://fedoraproject.org/wiki/PostgreSQL" target="_top">Fedora (Postgres-Installation unter Fedora)</a> |
|
6 |
</p></li><li class="listitem"><p> |
|
7 |
<a class="ulink" href="https://help.ubuntu.com/lts/serverguide/postgresql.html" target="_top">Ubuntu (Infos für Postgres für die aktuelle LTS Version)</a> |
|
8 |
</p></li><li class="listitem"><p> |
|
9 |
<a class="ulink" href="https://de.opensuse.org/PostgreSQL" target="_top">OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert)</a> |
|
10 |
</p></li></ul></div><div class="sect2" title="2.6.1. Zeichensätze/die Verwendung von Unicode/UTF-8"><div class="titlepage"><div><div><h3 class="title"><a name="Zeichens%C3%A4tze-die-Verwendung-von-UTF-8"></a>2.6.1. Zeichensätze/die Verwendung von Unicode/UTF-8</h3></div></div></div><p>kivitendo setzt zwingend voraus, dass die Datenbank |
|
11 |
Unicode/UTF-8 als Encoding einsetzt. Bei aktuellen |
|
12 |
Serverinstallationen braucht man hier meist nicht einzugreifen.</p><p>Das Encoding des Datenbankservers kann überprüft werden. Ist das |
|
13 |
Encoding der Datenbank "template1" "Unicode" bzw. "UTF-8", so braucht |
|
14 |
man nichts weiteres diesbezüglich unternehmen. Zum Testen:</p><pre class="programlisting">su postgres |
|
15 |
echo '\l' | psql |
|
16 |
exit </pre><p>Andernfalls ist es notwendig, einen neuen Datenbankcluster mit |
|
17 |
Unicode-Encoding anzulegen und diesen zu verwenden. Unter Debian und |
|
18 |
Ubuntu kann dies z.B. für PostgreSQL 9.3 mit dem folgenden Befehl |
|
19 |
getan werden:</p><pre class="programlisting">pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 9.3 clustername</pre><p>Die Datenbankversionsnummer muss an die tatsächlich verwendete |
|
20 |
Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Das Encoding einer Datenbank kann in <span class="command"><strong>psql</strong></span> mit |
|
21 |
<code class="literal">\l</code> geprüft werden.</p></div><div class="sect2" title="2.6.2. Änderungen an Konfigurationsdateien"><div class="titlepage"><div><div><h3 class="title"><a name="%C3%84nderungen-an-Konfigurationsdateien"></a>2.6.2. Änderungen an Konfigurationsdateien</h3></div></div></div><p>In der Datei <code class="filename">postgresql.conf</code>, die je nach |
|
22 |
Distribution in verschiedenen Verzeichnissen liegen kann (z.B. |
|
23 |
<code class="filename">/var/lib/pgsql/data/</code> oder |
|
24 |
<code class="filename">/etc/postgresql/</code>), muss sichergestellt werden, |
|
25 |
dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den |
|
26 |
Parameter <code class="varname">listen_address</code> gesteuert. Laufen |
|
27 |
PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert |
|
28 |
<code class="literal">localhost</code> verwendet werden. Andernfalls müssen |
|
29 |
Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden, |
|
30 |
was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen |
|
31 |
Verzeichnis wie die <code class="filename">postgresql.conf</code> zu finden |
|
32 |
sein sollte, müssen die Berechtigungen für den Zugriff geändert |
|
33 |
werden. Hier gibt es mehrere Möglichkeiten. Sinnvoll ist es nur die |
|
34 |
nötigen Verbindungen immer zuzulassen, für eine lokal laufende |
|
35 |
Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password |
|
36 |
host all kivitendo 127.0.0.1 255.255.255.255 password</pre></div><div class="sect2" title="2.6.3. Erweiterung für servergespeicherte Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren"></a>2.6.3. Erweiterung für servergespeicherte Prozeduren</h3></div></div></div><p>In der Datenbank <code class="literal">template1</code> muss die |
|
37 |
Unterstützung für servergespeicherte Prozeduren eingerichet werden. |
|
38 |
Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an: |
|
39 |
</p><pre class="programlisting">su - postgres |
|
40 |
psql template1</pre><p> führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">CREATE EXTENSION IF NOT EXISTS plpgsql; |
|
41 |
\q</pre><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> |
|
42 |
<code class="literal">CREATE EXTENSION</code> ist seit Version 9.1 die |
|
43 |
bevorzugte Syntax um die Sprache <code class="literal">plpgsql</code> |
|
44 |
anzulegen. In diesen Versionen ist die Extension meist auch schon |
|
45 |
vorhanden. Sollten Sie eine ältere Version von Postgres haben, |
|
46 |
benutzen Sie stattdessen den folgenden Befehl.</p><pre class="programlisting">CREATE LANGUAGE 'plpgsql'; |
|
47 |
\q</pre></td></tr></table></div></div><div class="sect2" title="2.6.4. Erweiterung für Trigram Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-trigram"></a>2.6.4. Erweiterung für Trigram Prozeduren</h3></div></div></div><p>Ab Version 3.5.1 wird die Trigram-Index-Erweiterung benötigt. |
|
48 |
Diese wird mit dem SQL-Updatescript |
|
49 |
sql/Pg-upgrade2/trigram_extension.sql und Datenbank-Super-Benutzer |
|
50 |
Rechten automatisch installiert. Dazu braucht der |
|
51 |
DatenbankSuperbenutzer "postgres" ein Passwort.</p><pre class="programlisting">su - postgres |
|
52 |
psql |
|
53 |
\password postgres |
|
11 | 54 |
|
12 |
<Directory /var/www/kivitendo-erp> |
|
13 |
AddHandler cgi-script .pl |
|
14 |
Options ExecCGI Includes FollowSymlinks |
|
15 |
</Directory> |
|
16 |
|
|
17 |
<Directory /var/www/kivitendo-erp/users> |
|
18 |
Require all granted |
|
19 |
</Directory></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><p>Bei einigen Distribution (Ubuntu ab 14.04, Debian ab 8.2) muss |
|
22 |
noch explizit das cgi-Modul mittels </p><pre class="programlisting">a2enmod cgi</pre><p> |
|
23 |
aktiviert werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und |
|
24 |
Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft |
|
25 |
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> |
|
26 |
kopiert:</p><p> |
|
27 |
[<span class="citation"> FastCGI ist ein Standard für die Einbindung |
|
28 |
externer Software zur Generierung dynamischer Webseiten in einem |
|
29 |
Webserver. FastCGI ist vergleichbar zum Common Gateway Interface |
|
30 |
(CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu |
|
31 |
umgehen. </span>] |
|
32 |
</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 |
|
33 |
kompiliert. Stattdessen werden die Quelldateien bei jedem Start |
|
34 |
übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit |
|
35 |
ausmacht. Während SQL Ledger einen Großteil der Funktionalität in |
|
36 |
einzelne Module kapselt, um immer nur einen kleinen Teil laden zu |
|
37 |
müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass |
|
38 |
immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich |
|
39 |
benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber |
|
40 |
entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies |
|
41 |
führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile |
|
42 |
deutlich länger dauert als früher, und dass davon 90% für das Laden |
|
43 |
der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach |
|
44 |
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.4.7 (Ubuntu 14.04.2 LTS) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.4.18 (Ubuntu 16.04 LTS) und mod_fcgid</p></li><li class="listitem"><p>Apache 2.4.29 (Ubuntu 18.04 LTS) und mod_fcgid</p></li><li class="listitem"><p>Apache 2.4.41 (Ubuntu 20.04 LTS) und mod_fcgid</p></li></ul></div><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 |
|
46 |
strict in der Behandlung von Unicode, und verweigern bestimmte |
|
47 |
Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrer |
|
48 |
Installation gibt, muss zwingend Version 0.68 oder aber Version |
|
49 |
0.72 und neuer eingesetzt werden.</p><p>Mit <a class="ulink" href="http://www.cpan.org" target="_top">CPAN</a> lässt sie |
|
50 |
sich die Vorgängerversion wie folgt installieren:</p><pre class="programlisting">force install M/MS/MSTROUT/FCGI-0.68.tar.gz</pre></td></tr></table></div></div><div class="sect3" title="2.6.2.4. Konfiguration des Webservers"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Konfiguration"></a>2.6.2.4. Konfiguration des Webservers</h4></div></div></div><p>Bevor Sie versuchen, eine kivitendo Installation unter FCGI |
|
51 |
laufen zu lassen, empfiehlt es sich die Installation ersteinmal |
|
52 |
unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu |
|
53 |
debuggen die beim ersten aufsetzen auftreten können. Sollte die |
|
54 |
Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann |
|
55 |
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 |
|
56 |
erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>- |
|
57 |
und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen |
|
58 |
dem Installationspfad von kivitendo im Dateisystem |
|
59 |
("<code class="filename">/path/to/kivitendo-erp</code>") und der URL |
|
60 |
unterschieden, unter der kivitendo im Webbrowser erreichbar ist |
|
61 |
("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit |
|
62 |
mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi |
|
63 |
Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/ |
|
64 |
|
|
65 |
<Directory /path/to/kivitendo-erp> |
|
66 |
AllowOverride All |
|
67 |
Options ExecCGI Includes FollowSymlinks |
|
68 |
Require all granted |
|
69 |
</Directory> |
|
70 |
|
|
71 |
<DirectoryMatch /path/to/kivitendo-erp/users> |
|
72 |
Require all denied |
|
73 |
</DirectoryMatch></pre><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>Wer einen älteren Apache als Version 2.4 im Einsatz hat, |
|
74 |
muss entsprechend die Syntax der Directorydirektiven verändert. |
|
75 |
Statt</p><pre class="programlisting">Require all granted</pre><p>muß man Folgendes einstellen:</p><pre class="programlisting"> |
|
76 |
Order Allow,Deny |
|
77 |
Allow from All </pre><p>und statt</p><pre class="programlisting">Require all denied</pre><p>muss stehen:</p><pre class="programlisting"> |
|
78 |
Order Deny,Allow |
|
79 |
Deny from All </pre></td></tr></table></div><p>Seit mod_fcgid-Version 2.3.6 gelten sehr kleine Grenzen für |
|
80 |
die maximale Größe eines Requests. Diese sollte wie folgt |
|
81 |
hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das Ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl |
|
82 |
AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl |
|
83 |
Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/ |
|
84 |
FcgidMaxRequestLen 10485760 |
|
85 |
|
|
86 |
<Directory /path/to/kivitendo-erp> |
|
87 |
AllowOverride All |
|
88 |
Options ExecCGI Includes FollowSymlinks |
|
89 |
Require all granted |
|
90 |
</Directory> |
|
91 |
|
|
92 |
<DirectoryMatch /path/to/kivitendo-erp/users> |
|
93 |
Require all denied |
|
94 |
</DirectoryMatch></pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle |
|
95 |
Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet. |
|
96 |
Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden, |
|
97 |
gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche kivitendo Version parallel unter |
|
98 |
CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven |
|
99 |
wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI |
|
100 |
Alias /url/for/kivitendo-erp /path/to/kivitendo-erp |
|
101 |
|
|
102 |
# Zugriff mit mod_fcgid: |
|
103 |
AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl |
|
104 |
Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code> |
|
105 |
die normale Version erreichbar, und unter |
|
106 |
<code class="constant">/url/for/kivitendo-erp-fcgid/</code> die |
|
107 |
FastCGI-Version.</p></div></div><div class="sect2" title="2.6.3. Authentifizierung mittels HTTP Basic Authentication"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1344"></a>2.6.3. Authentifizierung mittels HTTP Basic Authentication</h3></div></div></div><p> |
|
108 |
Kivitendo unterstützt, dass Benutzerauthentifizierung über den Webserver mittels des »Basic«-HTTP-Authentifizierungs-Schema erfolgt |
|
109 |
(siehe <a class="ulink" href="https://tools.ietf.org/html/rfc7617" target="_top">RFC 7617</a>). Dazu ist es aber nötig, dass der dabei vom Client |
|
110 |
mitgeschickte Header <code class="constant">Authorization</code> vom Webserver an Kivitendo über die Umgebungsvariable |
|
111 |
<code class="constant">HTTP_AUTHORIZATION</code> weitergegeben wird, was standardmäßig nicht der Fall ist. Für Apache kann dies über die |
|
112 |
folgende Konfigurationsoption aktiviert werden: |
|
113 |
</p><pre class="programlisting">SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1</pre></div><div class="sect2" title="2.6.4. Aktivierung von mod_rewrite/directory_match für git basierte Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1360"></a>2.6.4. Aktivierung von mod_rewrite/directory_match für git basierte Installationen</h3></div></div></div><p> |
|
114 |
Aufgrund von aktuellen (Mitte 2020) Sicherheitswarnungen für git basierte Webanwendungen ist die mitausgelieferte .htaccess |
|
115 |
restriktiver geworden und verhindert somit das Auslesen von git basierten Daten. |
|
116 |
Für debian/ubuntu muss das Modul mod_rewrite einmalig so aktiviert werden: |
|
117 |
</p><pre class="programlisting">a2enmod rewrite</pre><p> |
|
118 |
Alternativ und für Installationen ohne Apache ist folgender Artikel interessant: |
|
119 |
<a class="ulink" href="https://www.cyberscan.io/blog/git-luecke" target="_top">git-lücke</a>. |
|
120 |
Anstelle des dort beschriebenen DirectoryMatch für Apache2 würden wir etwas weitergehend auch noch das Verzeichnis config miteinbeziehen |
|
121 |
sowie ferner auch die Möglichkeit nicht ausschließen, dass es in Unterverzeichnissen auch noch .git Repositories geben kann. |
|
122 |
Die Empfehlung für Apache 2.4 wäre damit: |
|
123 |
</p><pre class="programlisting"> |
|
124 |
<DirectoryMatch "/(\.git|config)/"> |
|
125 |
Require all denied |
|
126 |
</DirectoryMatch></pre><p> |
|
127 |
|
|
128 |
</p></div><div class="sect2" title="2.6.5. Weitergehende Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1374"></a>2.6.5. Weitergehende Konfiguration</h3></div></div></div><p>Für einen deutlichen Sicherheitsmehrwert sorgt die Ausführung |
|
129 |
von kivitendo nur über https-verschlüsselten Verbindungen, sowie |
|
130 |
weiteren Zusatzmassnahmen, wie beispielsweise Basic Authenticate. Die |
|
131 |
Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser |
|
132 |
Anleitung, hier ein Hinweis auf einen entsprechenden <a class="ulink" href="https://www.kivitendo.de/boards/1/topics/142" target="_top">Foreneintrag |
|
133 |
(Stand Sept. 2015)</a> und einen aktuellen (Stand Mai 2017) <a class="ulink" href="https://mozilla.github.io/server-side-tls/ssl-config-generator/" target="_top"> |
|
134 |
SSL-Konfigurations-Generator</a>.</p></div><div class="sect2" title="2.6.6. Aktivierung von Apache2 modsecurity"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1385"></a>2.6.6. Aktivierung von Apache2 modsecurity</h3></div></div></div><p>Aufgrund des OpenSource Charakters ist kivitendo nicht "out of the box" sicher. |
|
135 |
Organisatorisch empfehlen wir hier die enge Zusammenarbeit mit einem kivitendo Partner der auch in der |
|
136 |
Lage ist weiterführende Fragen in Bezug auf Datenschutz und Datensicherheit zu beantworten. |
|
137 |
Unabhängig davon empfehlen wir im Webserver Bereich die Aktivierung und Konfiguration des Moduls modsecurity für den Apache2, damit |
|
138 |
XSS und SQL-Injections verhindert werden.</p><p> Als Idee hierfür sei dieser Blog-Eintrag genannt: |
|
139 |
<a class="ulink" href="https://doxsec.wordpress.com/2017/06/11/using-modsecurity-web-application-firewall-to-prevent-sql-injection-and-xss-using-blocking-rules/" target="_top"> |
|
140 |
Test Apache2 modsecurity for SQL Injection</a>.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Anpassung der PostgreSQL-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.7. Der Task-Server</td></tr></table></div></body></html> |
|
55 |
Eingabe Passwort |
|
56 |
\q</pre><p>Benutzername Postgres und Passwort können jetzt beim Anlegen |
|
57 |
einer Datenbank bzw. bei Updatescripten, die SuperuserRechte |
|
58 |
benötigen, eingegeben werden.</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> |
|
59 |
<code class="literal">pg_trgm</code> ist je nach Distribution nicht im |
|
60 |
Standard-Paket von Postgres enthalten. Ein </p><pre class="programlisting">select * from pg_available_extensions where name ='pg_trgm';</pre><p> |
|
61 |
in template1 sollte entsprechend erfolgreich sein. Andernfalls muss |
|
62 |
das Paket nachinstalliert werden, bspw. bei debian/ubuntu |
|
63 |
</p><pre class="programlisting">apt install postgresql-contrib</pre><p> |
|
64 |
</p></td></tr></table></div></div><div class="sect2" title="2.6.5. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.6.5. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff |
|
65 |
benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer |
|
66 |
anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen |
|
67 |
können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit |
|
68 |
nein beantworten, genauso ist die Berechtigung neue User (Roles) zu |
|
69 |
generieren nicht nötig.</p><pre class="programlisting">su - postgres |
|
70 |
createuser -d -P kivitendo |
|
71 |
exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern |
|
72 |
Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” |
|
73 |
bzw. den hier gewählten Benutzernamen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. kivitendo-Konfigurationsdatei </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.7. Webserver-Konfiguration</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. 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Webserver-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.7. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in |
|
4 |
regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu |
|
5 |
festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess |
|
6 |
wird u.a. für die Erzeugung der wiederkehrenden Rechnungen und weitere |
|
7 |
essenzielle Aufgaben benutzt.</p><p>Der Task-Server muss einmalig global in der Konfigurationsdatei |
|
8 |
konfiguriert werden. Danach wird er für jeden Mandanten, für den er |
|
9 |
laufen soll, in der Adminsitrationsmaske eingeschaltet.</p><p>Beachten Sie, dass der Task-Server in den Boot-Vorgang Ihres |
|
10 |
Servers integriert werden muss, damit er automatisch gestartet wird. |
|
11 |
Dies kann kivitendo nicht für Sie erledigen.</p><p>Da der Task-Server als Perlscript läuft, wird Arbeitsspeicher, der |
|
12 |
einmal benötigt wurde, nicht mehr an das Betriebssystem zurückgegeben, |
|
13 |
solange der Task-Server läuft. Dies kann dazu führen, dass ein länger |
|
14 |
laufender Task-Server mit der Zeit immer mehr Arbeitsspeicher für sich |
|
15 |
beansprucht. Es ist deshalb sinnvoll, dass der Task-Server in |
|
16 |
regelmässigen Abständen neu gestartet wird. Allerdings berücksichtigt der |
|
17 |
Task-Server ein Memory-Limit, wenn dieses in der Konfigurationsdatei |
|
18 |
angegeben ist. Bei Überschreiten dieses Limits beendet sich der |
|
19 |
Task-Server. Sofern der Task-Server als systemd-Service mit dem |
|
20 |
mitgelieferten Skript eingerichtet wurde, startet dieser danach |
|
21 |
automatisch erneut.</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 |
|
22 |
<code class="literal">[task_server]</code> in der Datei |
|
23 |
<code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren |
|
24 |
Optionen sind:</p><div class="variablelist"><dl><dt><span class="term"> |
|
25 |
<code class="varname">run_as</code> |
|
26 |
</span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code> |
|
27 |
gestartet, so wechselt er auf den mit <code class="literal">run_as</code> |
|
28 |
angegebenen Systembenutzer. Der Systembenutzer muss dieselben |
|
29 |
Lese- und Schreibrechte haben, wie auch der Webserverbenutzer |
|
30 |
(siehe see <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher |
|
31 |
ist es erforderlich, hier denselben Systembenutzer einzutragen, |
|
32 |
unter dem auch der Webserver läuft.</p></dd><dt><span class="term"> |
|
33 |
<code class="varname">debug</code> |
|
34 |
</span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.7.2. Konfiguration der Mandanten für den Task-Server"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-der-Mandanten-fuer-den-Task-Servers"></a>2.7.2. Konfiguration der Mandanten für den Task-Server</h3></div></div></div><p>Ist der Task-Server grundlegend konfiguriert, so muss |
|
35 |
anschließend jeder Mandant, für den der Task-Server laufen soll, |
|
36 |
einmalig konfiguriert werden. Dazu kann in der Maske zum Bearbeiten |
|
37 |
von Mandanten im Administrationsbereich eine kivitendo-Benutzerkennung |
|
38 |
ausgewählt werden, unter der der Task-Server seine Arbeit |
|
39 |
verrichtet.</p><p>Ist in dieser Einstellung keine Benutzerkennung ausgewählt, so |
|
40 |
wird der Task-Server für diesen Mandanten keine Aufgaben |
|
41 |
ausführen.</p></div><div class="sect2" title="2.7.3. 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.3. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>Der Task-Server verhält sich von seinen Optionen her wie ein |
|
42 |
reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim |
|
43 |
Starten automatisch in das kivitendo-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen |
|
44 |
Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess |
|
45 |
einzubinden. Da das bei neueren Linux-Distributionen aber nicht |
|
46 |
zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die |
|
47 |
anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.7.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere openSUSE, ältere Fedora)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1458"></a>2.7.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere |
|
48 |
openSUSE, ältere Fedora)</h4></div></div></div><p>Kopieren Sie die Datei |
|
49 |
<code class="filename">scripts/boot/system-v/kivitendo-task-server</code> |
|
50 |
nach <code class="filename">/etc/init.d/kivitendo-task-server</code>. Passen |
|
51 |
Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile |
|
52 |
<code class="literal">DAEMON=....</code>). Binden Sie das Script in den |
|
53 |
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 |
|
54 |
insserv kivitendo-task-server</pre></li><li class="listitem"><p>Ältere openSUSE und ältere Fedora:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
|
55 |
werden:</p><pre class="programlisting">/etc/init.d/kivitendo-task-server start</pre></div><div class="sect3" title="2.7.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1487"></a>2.7.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)</h4></div></div></div><p>Kopieren Sie die Datei |
|
56 |
<code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code> |
|
57 |
nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>. |
|
58 |
Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile |
|
59 |
<code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
|
60 |
werden:</p><pre class="programlisting">service kivitendo-task-server start</pre></div><div class="sect3" title="2.7.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere Fedora, neuere Ubuntu und neuere Debians)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1505"></a>2.7.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere |
|
61 |
Fedora, neuere Ubuntu und neuere Debians)</h4></div></div></div><p>Kopieren Sie die Datei |
|
62 |
<code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code> |
|
63 |
nach <code class="filename">/etc/systemd/system/</code>. Passen Sie in der |
|
64 |
kopierten Datei den Pfad zum Task-Server an (Zeilen |
|
65 |
<code class="literal">ExecStart=....</code> und |
|
66 |
<code class="literal">ExecStop=...</code>).</p><p>Machen Sie anschließend das Script systemd bekannt, und binden |
|
67 |
Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden Befehl |
|
68 |
aus:</p><pre class="programlisting">systemctl daemon-reload |
|
69 |
systemctl enable kivitendo-task-server.service</pre><p>Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt |
|
70 |
den Server neu zu starten, so können Sie das mit dem folgenden |
|
71 |
Befehl tun:</p><pre class="programlisting">systemctl start kivitendo-task-server.service</pre><p>Ein so eingerichteter Task-Server startet nach Beendigung |
|
72 |
automatisch erneut. Das betrifft eine Beendigung über die Oberfläche, |
|
73 |
eine Beendingung über die Prozesskontrolle und eine Beendigung bei |
|
74 |
Überschreiten des Memory-Limits. Soll der Task-Server nicht erneut |
|
75 |
starten, so können Sie ihn mit folgendem Befehl stoppen:</p><pre class="programlisting">systemctl stop kivitendo-task-server.service</pre></div></div><div class="sect2" title="2.7.4. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.7.4. 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> |
|
76 |
<code class="literal">Befehl</code> ist dabei eine der folgenden |
|
77 |
Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
78 |
<code class="literal">start</code> startet eine neue Instanz des |
|
79 |
Task-Servers. Die Prozess-ID wird innerhalb des |
|
80 |
<code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p> |
|
81 |
<code class="literal">stop</code> beendet einen laufenden |
|
82 |
Task-Server.</p></li><li class="listitem"><p> |
|
83 |
<code class="literal">restart</code> beendet und startet ihn |
|
84 |
neu.</p></li><li class="listitem"><p> |
|
85 |
<code class="literal">status</code> berichtet, ob der Task-Server |
|
86 |
läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das |
|
87 |
kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden |
|
88 |
Runlevel-Scripte benutzt werden (siehe oben).</p><p>Wurde der Task-Server als systemd-Service eingerichtet (s.o.), |
|
89 |
so startet dieser nach Beendigung automatisch erneut.</p></div><div class="sect2" title="2.7.5. Exemplarische Konfiguration eines Hintergrund-Jobs, der die Jahreszahl in allen Nummernkreisen zum Jahreswechsel erhöht"><div class="titlepage"><div><div><h3 class="title"><a name="Tasks-konfigurieren"></a>2.7.5. Exemplarische Konfiguration eines Hintergrund-Jobs, der die Jahreszahl in allen Nummernkreisen zum Jahreswechsel erhöht</h3></div></div></div><p>Hintergrund-Jobs werden über System -> Hintergrund-Jobs und Task-Server -> Aktuelle Hintergrund-Jobs anzeigen -> Aktions-Knopf 'erfassen' angelegt. </p><p>Nachdem wir über das Menü dort angelangt sind, legen wir unseren exemplarischen Hintergrund-Jobs "Erhöhung der Nummernkreise" mit folgenden Werten an:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
90 |
<code class="literal">Aktiv:</code> Hier ein 'Ja' auswählen</p></li><li class="listitem"><p> |
|
91 |
<code class="literal">Ausführungsart:</code> 'wiederholte Ausführung' auswählen</p></li><li class="listitem"><p> |
|
92 |
<code class="literal">Paketname:</code> 'SetNumberRange' auswählen</p></li><li class="listitem"><p> |
|
93 |
<code class="literal">Ausführungszeitplan:</code> Hier entsprechend Werte wie in der crontab eingeben.</p><p>Syntax:</p><pre class="programlisting">* * * * * |
|
94 |
┬ ┬ ┬ ┬ ┬ |
|
95 |
│ │ │ │ │ |
|
96 |
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7) |
|
97 |
│ │ │ └────── Monat (1-12) |
|
98 |
│ │ └──────── Tag (1-31) |
|
99 |
│ └────────── Stunde (0-23) |
|
100 |
└──────────── Minute (0-59) </pre><p>Die Sterne können folgende Werte haben:</p><pre class="programlisting"> |
|
101 |
1 2 3 4 5 |
|
3 |
<title>2.7. 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. 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.7. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.7. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.7.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1202"></a>2.7.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="ch02s07.html#Apache-Konfiguration.FCGI" title="2.7.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">AliasMatch ^/kivitendo-erp/[^/]+\.pl /var/www/kivitendo-erp/dispatcher.pl |
|
10 |
Alias /kivitendo-erp/ /var/www/kivitendo-erp/ |
|
102 | 11 |
|
103 |
1 = Minute (0-59) |
|
104 |
2 = Stunde (0-23) |
|
105 |
3 = Tag (0-31) |
|
106 |
4 = Monat (1-12) |
|
107 |
5 = Wochentag (0-7, Sonntag ist 0 oder 7) |
|
108 |
</pre><p>Um die Ausführung auf eine Minute vor Sylvester zu setzen, müssen die folgenden Werte eingetragen werden:</p><pre class="programlisting">59 23 31 12 *</pre></li><li class="listitem"><p> |
|
109 |
<code class="literal">Daten:</code>In diesem Feld können optionale Parameter für den Hintergrund im JSON-Format gesetzt werden. Der Hintergrund-Job <code class="literal">SetNumberRange</code> akzeptiert zwei Variable nämlich <code class="literal">digit_year</code> sowieso <code class="literal">multiplier</code>.</p><p> |
|
110 |
<code class="literal">digit_year</code> kann zwei Werte haben entweder 2 oder 4, darüber wird gesteuert ob die Jahreszahl zwei oder vierstellig kodiert wird (für 2019, dann entweder 19 oder 2019). Der Standardwert ist vierstellig.</p><p> |
|
111 |
<code class="literal">multiplier</code> ist ein Vielfaches von 10, darüber wird die erste Nummer im Nummernkreis (die Anzahl der Stellen) wie folgt bestimmt:</p><pre class="programlisting"> |
|
112 |
multiplier Nummernkreis 2020 |
|
113 |
10 -> 20200 |
|
114 |
100 -> 202000 |
|
115 |
1000 -> 2020000 |
|
116 |
</pre><p>Wir gehen jetzt beispielhaft von einer letzten Rechnungsnummer von RE2019456 aus. Demnach sollte ab Januar 2020 die erste Nummer RE2020001 sein. Da der Task auch Präfixe berücksichtigt, kann dies mit folgenden JSON-kodierten Werten umgesetzt werden:</p><p> |
|
117 |
<code class="literal">Daten:</code> |
|
118 |
</p><pre class="programlisting">multiplier: 100 |
|
119 |
digits_year: 4</pre></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="ch02s06.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Webserver-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.8. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html> |
|
12 |
<Directory /var/www/kivitendo-erp> |
|
13 |
AddHandler cgi-script .pl |
|
14 |
Options ExecCGI Includes FollowSymlinks |
|
15 |
</Directory> |
|
16 |
|
|
17 |
<Directory /var/www/kivitendo-erp/users> |
|
18 |
Require all granted |
|
19 |
</Directory></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><p>Bei einigen Distribution (Ubuntu ab 14.04, Debian ab 8.2) muss |
|
22 |
noch explizit das cgi-Modul mittels </p><pre class="programlisting">a2enmod cgi</pre><p> |
|
23 |
aktiviert werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und |
|
24 |
Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft |
|
25 |
geholfen, die folgende Option in die Konfiguration aufzunehmen:</p><pre class="programlisting">EnableSendfile Off</pre></div><div class="sect2" title="2.7.2. Konfiguration für FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.7.2. Konfiguration für FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.7.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.7.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> |
|
26 |
kopiert:</p><p> |
|
27 |
[<span class="citation"> FastCGI ist ein Standard für die Einbindung |
|
28 |
externer Software zur Generierung dynamischer Webseiten in einem |
|
29 |
Webserver. FastCGI ist vergleichbar zum Common Gateway Interface |
|
30 |
(CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu |
|
31 |
umgehen. </span>] |
|
32 |
</p></div><div class="sect3" title="2.7.2.2. Warum FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Warum"></a>2.7.2.2. Warum FastCGI?</h4></div></div></div><p>Perl Programme (wie kivitendo eines ist) werden nicht statisch |
|
33 |
kompiliert. Stattdessen werden die Quelldateien bei jedem Start |
|
34 |
übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit |
|
35 |
ausmacht. Während SQL Ledger einen Großteil der Funktionalität in |
|
36 |
einzelne Module kapselt, um immer nur einen kleinen Teil laden zu |
|
37 |
müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass |
|
38 |
immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich |
|
39 |
benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber |
|
40 |
entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies |
|
41 |
führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile |
|
42 |
deutlich länger dauert als früher, und dass davon 90% für das Laden |
|
43 |
der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach |
|
44 |
wird nur die eigentliche Programmlogik ausgeführt.</p></div><div class="sect3" title="2.7.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.7.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.4.7 (Ubuntu 14.04.2 LTS) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.4.18 (Ubuntu 16.04 LTS) und mod_fcgid</p></li><li class="listitem"><p>Apache 2.4.29 (Ubuntu 18.04 LTS) und mod_fcgid</p></li><li class="listitem"><p>Apache 2.4.41 (Ubuntu 20.04 LTS) und mod_fcgid</p></li></ul></div><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 |
|
46 |
strict in der Behandlung von Unicode, und verweigern bestimmte |
|
47 |
Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrer |
|
48 |
Installation gibt, muss zwingend Version 0.68 oder aber Version |
|
49 |
0.72 und neuer eingesetzt werden.</p><p>Mit <a class="ulink" href="http://www.cpan.org" target="_top">CPAN</a> lässt sie |
|
50 |
sich die Vorgängerversion wie folgt installieren:</p><pre class="programlisting">force install M/MS/MSTROUT/FCGI-0.68.tar.gz</pre></td></tr></table></div></div><div class="sect3" title="2.7.2.4. Konfiguration des Webservers"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Konfiguration"></a>2.7.2.4. Konfiguration des Webservers</h4></div></div></div><p>Bevor Sie versuchen, eine kivitendo Installation unter FCGI |
|
51 |
laufen zu lassen, empfiehlt es sich die Installation ersteinmal |
|
52 |
unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu |
|
53 |
debuggen die beim ersten aufsetzen auftreten können. Sollte die |
|
54 |
Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann |
|
55 |
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 |
|
56 |
erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>- |
|
57 |
und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen |
|
58 |
dem Installationspfad von kivitendo im Dateisystem |
|
59 |
("<code class="filename">/path/to/kivitendo-erp</code>") und der URL |
|
60 |
unterschieden, unter der kivitendo im Webbrowser erreichbar ist |
|
61 |
("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit |
|
62 |
mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi |
|
63 |
Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/ |
|
64 |
|
|
65 |
<Directory /path/to/kivitendo-erp> |
|
66 |
AllowOverride All |
|
67 |
Options ExecCGI Includes FollowSymlinks |
|
68 |
Require all granted |
|
69 |
</Directory> |
|
70 |
|
|
71 |
<DirectoryMatch /path/to/kivitendo-erp/users> |
|
72 |
Require all denied |
|
73 |
</DirectoryMatch></pre><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>Wer einen älteren Apache als Version 2.4 im Einsatz hat, |
|
74 |
muss entsprechend die Syntax der Directorydirektiven verändert. |
|
75 |
Statt</p><pre class="programlisting">Require all granted</pre><p>muß man Folgendes einstellen:</p><pre class="programlisting"> |
|
76 |
Order Allow,Deny |
|
77 |
Allow from All </pre><p>und statt</p><pre class="programlisting">Require all denied</pre><p>muss stehen:</p><pre class="programlisting"> |
|
78 |
Order Deny,Allow |
|
79 |
Deny from All </pre></td></tr></table></div><p>Seit mod_fcgid-Version 2.3.6 gelten sehr kleine Grenzen für |
|
80 |
die maximale Größe eines Requests. Diese sollte wie folgt |
|
81 |
hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das Ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl |
|
82 |
AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl |
|
83 |
Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/ |
|
84 |
FcgidMaxRequestLen 10485760 |
|
85 |
|
|
86 |
<Directory /path/to/kivitendo-erp> |
|
87 |
AllowOverride All |
|
88 |
Options ExecCGI Includes FollowSymlinks |
|
89 |
Require all granted |
|
90 |
</Directory> |
|
91 |
|
|
92 |
<DirectoryMatch /path/to/kivitendo-erp/users> |
|
93 |
Require all denied |
|
94 |
</DirectoryMatch></pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle |
|
95 |
Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet. |
|
96 |
Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden, |
|
97 |
gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche kivitendo Version parallel unter |
|
98 |
CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven |
|
99 |
wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI |
|
100 |
Alias /url/for/kivitendo-erp /path/to/kivitendo-erp |
|
101 |
|
|
102 |
# Zugriff mit mod_fcgid: |
|
103 |
AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl |
|
104 |
Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code> |
|
105 |
die normale Version erreichbar, und unter |
|
106 |
<code class="constant">/url/for/kivitendo-erp-fcgid/</code> die |
|
107 |
FastCGI-Version.</p></div></div><div class="sect2" title="2.7.3. Authentifizierung mittels HTTP Basic Authentication"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1356"></a>2.7.3. Authentifizierung mittels HTTP Basic Authentication</h3></div></div></div><p> |
|
108 |
Kivitendo unterstützt, dass Benutzerauthentifizierung über den Webserver mittels des »Basic«-HTTP-Authentifizierungs-Schema erfolgt |
|
109 |
(siehe <a class="ulink" href="https://tools.ietf.org/html/rfc7617" target="_top">RFC 7617</a>). Dazu ist es aber nötig, dass der dabei vom Client |
|
110 |
mitgeschickte Header <code class="constant">Authorization</code> vom Webserver an Kivitendo über die Umgebungsvariable |
|
111 |
<code class="constant">HTTP_AUTHORIZATION</code> weitergegeben wird, was standardmäßig nicht der Fall ist. Für Apache kann dies über die |
|
112 |
folgende Konfigurationsoption aktiviert werden: |
|
113 |
</p><pre class="programlisting">SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1</pre></div><div class="sect2" title="2.7.4. Aktivierung von mod_rewrite/directory_match für git basierte Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1372"></a>2.7.4. Aktivierung von mod_rewrite/directory_match für git basierte Installationen</h3></div></div></div><p> |
|
114 |
Aufgrund von aktuellen (Mitte 2020) Sicherheitswarnungen für git basierte Webanwendungen ist die mitausgelieferte .htaccess |
|
115 |
restriktiver geworden und verhindert somit das Auslesen von git basierten Daten. |
|
116 |
Für debian/ubuntu muss das Modul mod_rewrite einmalig so aktiviert werden: |
|
117 |
</p><pre class="programlisting">a2enmod rewrite</pre><p> |
|
118 |
Alternativ und für Installationen ohne Apache ist folgender Artikel interessant: |
|
119 |
<a class="ulink" href="https://www.cyberscan.io/blog/git-luecke" target="_top">git-lücke</a>. |
|
120 |
Anstelle des dort beschriebenen DirectoryMatch für Apache2 würden wir etwas weitergehend auch noch das Verzeichnis config miteinbeziehen |
|
121 |
sowie ferner auch die Möglichkeit nicht ausschließen, dass es in Unterverzeichnissen auch noch .git Repositories geben kann. |
|
122 |
Die Empfehlung für Apache 2.4 wäre damit: |
|
123 |
</p><pre class="programlisting"> |
|
124 |
<DirectoryMatch "/(\.git|config)/"> |
|
125 |
Require all denied |
|
126 |
</DirectoryMatch></pre><p> |
|
127 |
|
|
128 |
</p></div><div class="sect2" title="2.7.5. Weitergehende Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1386"></a>2.7.5. Weitergehende Konfiguration</h3></div></div></div><p>Für einen deutlichen Sicherheitsmehrwert sorgt die Ausführung |
|
129 |
von kivitendo nur über https-verschlüsselten Verbindungen, sowie |
|
130 |
weiteren Zusatzmassnahmen, wie beispielsweise Basic Authenticate. Die |
|
131 |
Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser |
|
132 |
Anleitung, hier ein Hinweis auf einen entsprechenden <a class="ulink" href="http://redmine.kivitendo-premium.de/boards/1/topics/142" target="_top">Foreneintrag |
|
133 |
(Stand Sept. 2015)</a> und einen aktuellen (Stand Mai 2017) <a class="ulink" href="https://mozilla.github.io/server-side-tls/ssl-config-generator/" target="_top"> |
|
134 |
SSL-Konfigurations-Generator</a>.</p></div><div class="sect2" title="2.7.6. Aktivierung von Apache2 modsecurity"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1397"></a>2.7.6. Aktivierung von Apache2 modsecurity</h3></div></div></div><p>Aufgrund des OpenSource Charakters ist kivitendo nicht "out of the box" sicher. |
|
135 |
Organisatorisch empfehlen wir hier die enge Zusammenarbeit mit einem kivitendo Partner der auch in der |
|
136 |
Lage ist weiterführende Fragen in Bezug auf Datenschutz und Datensicherheit zu beantworten. |
|
137 |
Unabhängig davon empfehlen wir im Webserver Bereich die Aktivierung und Konfiguration des Moduls modsecurity für den Apache2, damit |
|
138 |
XSS und SQL-Injections verhindert werden.</p><p> Als Idee hierfür sei dieser Blog-Eintrag genannt: |
|
139 |
<a class="ulink" href="https://doxsec.wordpress.com/2017/06/11/using-modsecurity-web-application-firewall-to-prevent-sql-injection-and-xss-using-blocking-rules/" target="_top"> |
|
140 |
Test Apache2 modsecurity for SQL Injection</a>.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Anpassung der PostgreSQL-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.8. Der Task-Server</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. Benutzerauthentifizierung und Administratorpasswort</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: 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. Mandanten-, Benutzer- und Gruppenverwaltung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.8. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.8. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung, |
|
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 gegen die Authentifizierungsdatenbank oder gegen einen oder |
|
11 |
mehrere LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung kivitendo benutzt und wie |
|
12 |
kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der |
|
13 |
Konfigurationsdatei <code class="filename">config/kivitendo.conf</code> |
|
14 |
festgelegt. Diese muss bei der Installation und bei einem Upgrade von |
|
15 |
einer Version vor v2.6.0 angelegt werden. Eine |
|
16 |
Beispielkonfigurationsdatei |
|
17 |
<code class="filename">config/kivitendo.conf.default</code> existiert, die als |
|
18 |
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 Administrationsinterface |
|
19 |
von kivitendo benutzt wird, wird ebenfalls in dieser Datei |
|
20 |
gespeichert. Es kann auch nur dort und nicht mehr im |
|
21 |
Administrationsinterface selber geändert werden. Der Parameter dazu |
|
22 |
heißt <code class="varname">admin_password</code> im Abschnitt |
|
23 |
<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 externe 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>Dieser Parameter listet die zu verwendenden Authentifizierungsmodule auf. Es muss mindestens ein Modul angegeben werden, es |
|
44 |
können aber auch mehrere angegeben werden. Weiterhin ist es möglich, das LDAP-Modul mehrfach zu verwenden und für jede Verwendung |
|
45 |
eine unterschiedliche Konfiguration zu nutzen, z.B. um einen Fallback-Server anzugeben, der benutzt wird, sofern der Hauptserver |
|
46 |
nicht erreichbar ist.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank geprüft werden, so muss der Parameter |
|
47 |
<code class="varname">module</code> das Modul <code class="literal">DB</code> enthalten. Sofern das Modul in der Liste enthalten ist, egal an welcher |
|
48 |
Position, können sowohl der Administrator als auch die Benutzer selber ihre Passwörter in kivitendo ändern.</p><p>Wenn Passwörter gegen einen oder mehrere externe LDAP- oder Active-Directory-Server geprüft werden, so muss der Parameter |
|
49 |
<code class="varname">module</code> den Wert <code class="literal">LDAP</code> enthalten. In diesem Fall müssen zusätzliche Informationen über den |
|
50 |
LDAP-Server im Abschnitt <code class="literal">[authentication/ldap]</code> angegeben werden. Das Modul kann auch mehrfach angegeben werden, |
|
51 |
wobei jedes Modul eine eigene Konfiguration bekommen sollte. Der Name der Konfiguration wird dabei mit einem Doppelpunkt getrennt an |
|
52 |
den Modulnamen angehängt (<code class="literal">LDAP:Name-der-Konfiguration</code>). Der entsprechende Abschnitt in der Konfigurationsdatei |
|
53 |
lautet dann <code class="literal">[authentication/Name-der-Konfiguration]</code>.</p><p>Die verfügbaren Parameter für die LDAP-Konfiguration lauten:</p><div class="variablelist"><dl><dt><span class="term"> |
|
54 |
<code class="literal">host</code> |
|
55 |
</span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder |
|
56 |
Active-Directory-Servers. Diese Angabe ist zwingend |
|
57 |
erforderlich.</p></dd><dt><span class="term"> |
|
58 |
<code class="literal">port</code> |
|
59 |
</span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term"> |
|
60 |
<code class="literal">tls</code> |
|
61 |
</span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen |
|
62 |
Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf |
|
63 |
‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term"> |
|
64 |
<code class="literal">verify</code> |
|
65 |
</span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht und der Parameter <em class="parameter"><code>tls</code></em> gesetzt ist, so gibt dieser |
|
66 |
Parameter an, ob das Serverzertifikat auf Gültigkeit geprüft wird. Mögliche Werte sind <code class="literal">require</code> (Zertifikat |
|
67 |
wird überprüft und muss gültig sei; dies ist der Standard) und <code class="literal">none</code> (Zertifikat wird nicht |
|
68 |
überpfüft).</p></dd><dt><span class="term"> |
|
69 |
<code class="literal">attribute</code> |
|
70 |
</span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der |
|
71 |
Benutzer eingegeben hat. Für Active-Directory-Server ist dies |
|
72 |
meist ‘<code class="literal">sAMAccountName</code>’, für andere |
|
73 |
LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist |
|
74 |
zwingend erforderlich.</p></dd><dt><span class="term"> |
|
75 |
<code class="literal">base_dn</code> |
|
76 |
</span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. |
|
77 |
Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term"> |
|
78 |
<code class="literal">filter</code> |
|
79 |
</span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort |
|
80 |
<code class="literal"><%login%></code>, so wird dieses durch den vom |
|
81 |
Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird |
|
82 |
der LDAP-Baum nach einem Element durchsucht, bei dem das oben |
|
83 |
angegebene Attribut mit dem Benutzernamen identisch ist.</p></dd><dt><span class="term"> |
|
84 |
<code class="literal">bind_dn</code> und |
|
85 |
<code class="literal">bind_password</code> |
|
86 |
</span></dt><dd><p>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er |
|
87 |
durchsucht werden kann (z.B. ist dies bei |
|
88 |
Active-Directory-Servern der Fall), so kann diese hier angegeben |
|
89 |
werden. Für Active-Directory-Server kann als |
|
90 |
‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie |
|
91 |
z.B. ‘<code class="literal">cn=Martin |
|
92 |
Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der |
|
93 |
volle Name des Benutzers eingegeben werden; in diesem Beispiel |
|
94 |
also ‘<code class="literal">Martin Mustermann</code>’.</p></dd><dt><span class="term"> |
|
95 |
<code class="literal">timeout</code> |
|
96 |
</span></dt><dd><p>Timeout beim Verbindungsversuch, bevor der Server als nicht erreichbar gilt; Standardwert: 10</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 |
|
97 |
aufgesetzt werden, so müssen die Namen der Session-Cookies für alle |
|
98 |
Installationen unterschiedlich sein. Der Name des Cookies wird mit dem |
|
99 |
Parameter <code class="varname">cookie_name</code> im Abschnitt |
|
100 |
<code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem |
|
101 |
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 |
|
102 |
<code class="filename">config/kivitendo.conf</code> vorgenommen wurden, muss |
|
103 |
kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht |
|
104 |
automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter |
|
105 |
der folgenden URL erreichbar sein sollte:</p><p> |
|
106 |
<a class="ulink" href="http://localhost/kivitendo-erp/controller.pl?action=Admin/login" target="_top">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</a> |
|
107 |
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Der Task-Server </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.9. Mandanten-, Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html> |
|
3 |
<title>2.8. 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s07.html" title="2.7. Webserver-Konfiguration"><link rel="next" href="ch02s09.html" title="2.9. 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.8. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.8. 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 u.a. für die Erzeugung der wiederkehrenden Rechnungen und weitere |
|
7 |
essenzielle Aufgaben benutzt.</p><p>Der Task-Server muss einmalig global in der Konfigurationsdatei |
|
8 |
konfiguriert werden. Danach wird er für jeden Mandanten, für den er |
|
9 |
laufen soll, in der Adminsitrationsmaske eingeschaltet.</p><p>Beachten Sie, dass der Task-Server in den Boot-Vorgang Ihres |
|
10 |
Servers integriert werden muss, damit er automatisch gestartet wird. |
|
11 |
Dies kann kivitendo nicht für Sie erledigen.</p><p>Da der Task-Server als Perlscript läuft, wird Arbeitsspeicher, der |
|
12 |
einmal benötigt wurde, nicht mehr an das Betriebssystem zurückgegeben, |
|
13 |
solange der Task-Server läuft. Dies kann dazu führen, dass ein länger |
|
14 |
laufender Task-Server mit der Zeit immer mehr Arbeitsspeicher für sich |
|
15 |
beansprucht. Es ist deshalb sinnvoll, dass der Task-Server in |
|
16 |
regelmässigen Abständen neu gestartet wird. Allerdings berücksichtigt der |
|
17 |
Task-Server ein Memory-Limit, wenn dieses in der Konfigurationsdatei |
|
18 |
angegeben ist. Bei Überschreiten dieses Limits beendet sich der |
|
19 |
Task-Server. Sofern der Task-Server als systemd-Service mit dem |
|
20 |
mitgelieferten Skript eingerichtet wurde, startet dieser danach |
|
21 |
automatisch erneut.</p><div class="sect2" title="2.8.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.8.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt |
|
22 |
<code class="literal">[task_server]</code> in der Datei |
|
23 |
<code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren |
|
24 |
Optionen sind:</p><div class="variablelist"><dl><dt><span class="term"> |
|
25 |
<code class="varname">run_as</code> |
|
26 |
</span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code> |
|
27 |
gestartet, so wechselt er auf den mit <code class="literal">run_as</code> |
|
28 |
angegebenen Systembenutzer. Der Systembenutzer muss dieselben |
|
29 |
Lese- und Schreibrechte haben, wie auch der Webserverbenutzer |
|
30 |
(siehe see <a class="xref" href="ch02s04.html" title="2.4. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher |
|
31 |
ist es erforderlich, hier denselben Systembenutzer einzutragen, |
|
32 |
unter dem auch der Webserver läuft.</p></dd><dt><span class="term"> |
|
33 |
<code class="varname">debug</code> |
|
34 |
</span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.8.2. Konfiguration der Mandanten für den Task-Server"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-der-Mandanten-fuer-den-Task-Servers"></a>2.8.2. Konfiguration der Mandanten für den Task-Server</h3></div></div></div><p>Ist der Task-Server grundlegend konfiguriert, so muss |
|
35 |
anschließend jeder Mandant, für den der Task-Server laufen soll, |
|
36 |
einmalig konfiguriert werden. Dazu kann in der Maske zum Bearbeiten |
|
37 |
von Mandanten im Administrationsbereich eine kivitendo-Benutzerkennung |
|
38 |
ausgewählt werden, unter der der Task-Server seine Arbeit |
|
39 |
verrichtet.</p><p>Ist in dieser Einstellung keine Benutzerkennung ausgewählt, so |
|
40 |
wird der Task-Server für diesen Mandanten keine Aufgaben |
|
41 |
ausführen.</p></div><div class="sect2" title="2.8.3. Automatisches Starten des Task-Servers beim Booten"><div class="titlepage"><div><div><h3 class="title"><a name="Einbinden-in-den-Boot-Prozess"></a>2.8.3. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>Der Task-Server verhält sich von seinen Optionen her wie ein |
|
42 |
reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim |
|
43 |
Starten automatisch in das kivitendo-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen |
|
44 |
Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess |
|
45 |
einzubinden. Da das bei neueren Linux-Distributionen aber nicht |
|
46 |
zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die |
|
47 |
anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.8.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere openSUSE, ältere Fedora)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1470"></a>2.8.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere |
|
48 |
openSUSE, ältere Fedora)</h4></div></div></div><p>Kopieren Sie die Datei |
|
49 |
<code class="filename">scripts/boot/system-v/kivitendo-task-server</code> |
|
50 |
nach <code class="filename">/etc/init.d/kivitendo-task-server</code>. Passen |
|
51 |
Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile |
|
52 |
<code class="literal">DAEMON=....</code>). Binden Sie das Script in den |
|
53 |
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 |
|
54 |
insserv kivitendo-task-server</pre></li><li class="listitem"><p>Ältere openSUSE und ältere Fedora:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
|
55 |
werden:</p><pre class="programlisting">/etc/init.d/kivitendo-task-server start</pre></div><div class="sect3" title="2.8.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1499"></a>2.8.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)</h4></div></div></div><p>Kopieren Sie die Datei |
|
56 |
<code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code> |
|
57 |
nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>. |
|
58 |
Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile |
|
59 |
<code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
|
60 |
werden:</p><pre class="programlisting">service kivitendo-task-server start</pre></div><div class="sect3" title="2.8.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere Fedora, neuere Ubuntu und neuere Debians)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e1517"></a>2.8.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere |
|
61 |
Fedora, neuere Ubuntu und neuere Debians)</h4></div></div></div><p>Kopieren Sie die Datei |
|
62 |
<code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code> |
|
63 |
nach <code class="filename">/etc/systemd/system/</code>. Passen Sie in der |
|
64 |
kopierten Datei den Pfad zum Task-Server an (Zeilen |
|
65 |
<code class="literal">ExecStart=....</code> und |
|
66 |
<code class="literal">ExecStop=...</code>).</p><p>Machen Sie anschließend das Script systemd bekannt, und binden |
|
67 |
Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden Befehl |
|
68 |
aus:</p><pre class="programlisting">systemctl daemon-reload |
|
69 |
systemctl enable kivitendo-task-server.service</pre><p>Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt |
|
70 |
den Server neu zu starten, so können Sie das mit dem folgenden |
|
71 |
Befehl tun:</p><pre class="programlisting">systemctl start kivitendo-task-server.service</pre><p>Ein so eingerichteter Task-Server startet nach Beendigung |
|
72 |
automatisch erneut. Das betrifft eine Beendigung über die Oberfläche, |
|
73 |
eine Beendingung über die Prozesskontrolle und eine Beendigung bei |
|
74 |
Überschreiten des Memory-Limits. Soll der Task-Server nicht erneut |
|
75 |
starten, so können Sie ihn mit folgendem Befehl stoppen:</p><pre class="programlisting">systemctl stop kivitendo-task-server.service</pre></div></div><div class="sect2" title="2.8.4. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.8.4. 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> |
|
76 |
<code class="literal">Befehl</code> ist dabei eine der folgenden |
|
77 |
Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
78 |
<code class="literal">start</code> startet eine neue Instanz des |
|
79 |
Task-Servers. Die Prozess-ID wird innerhalb des |
|
80 |
<code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p> |
|
81 |
<code class="literal">stop</code> beendet einen laufenden |
|
82 |
Task-Server.</p></li><li class="listitem"><p> |
|
83 |
<code class="literal">restart</code> beendet und startet ihn |
|
84 |
neu.</p></li><li class="listitem"><p> |
|
85 |
<code class="literal">status</code> berichtet, ob der Task-Server |
|
86 |
läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das |
|
87 |
kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden |
|
88 |
Runlevel-Scripte benutzt werden (siehe oben).</p><p>Wurde der Task-Server als systemd-Service eingerichtet (s.o.), |
|
89 |
so startet dieser nach Beendigung automatisch erneut.</p></div><div class="sect2" title="2.8.5. Exemplarische Konfiguration eines Hintergrund-Jobs, der die Jahreszahl in allen Nummernkreisen zum Jahreswechsel erhöht"><div class="titlepage"><div><div><h3 class="title"><a name="Tasks-konfigurieren"></a>2.8.5. Exemplarische Konfiguration eines Hintergrund-Jobs, der die Jahreszahl in allen Nummernkreisen zum Jahreswechsel erhöht</h3></div></div></div><p>Hintergrund-Jobs werden über System -> Hintergrund-Jobs und Task-Server -> Aktuelle Hintergrund-Jobs anzeigen -> Aktions-Knopf 'erfassen' angelegt. </p><p>Nachdem wir über das Menü dort angelangt sind, legen wir unseren exemplarischen Hintergrund-Jobs "Erhöhung der Nummernkreise" mit folgenden Werten an:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
|
90 |
<code class="literal">Aktiv:</code> Hier ein 'Ja' auswählen</p></li><li class="listitem"><p> |
|
91 |
<code class="literal">Ausführungsart:</code> 'wiederholte Ausführung' auswählen</p></li><li class="listitem"><p> |
|
92 |
<code class="literal">Paketname:</code> 'SetNumberRange' auswählen</p></li><li class="listitem"><p> |
|
93 |
<code class="literal">Ausführungszeitplan:</code> Hier entsprechend Werte wie in der crontab eingeben.</p><p>Syntax:</p><pre class="programlisting">* * * * * |
|
94 |
┬ ┬ ┬ ┬ ┬ |
|
95 |
│ │ │ │ │ |
|
96 |
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7) |
|
97 |
│ │ │ └────── Monat (1-12) |
|
98 |
│ │ └──────── Tag (1-31) |
|
99 |
│ └────────── Stunde (0-23) |
|
100 |
└──────────── Minute (0-59) </pre><p>Die Sterne können folgende Werte haben:</p><pre class="programlisting"> |
|
101 |
1 2 3 4 5 |
|
102 |
|
|
103 |
1 = Minute (0-59) |
|
104 |
2 = Stunde (0-23) |
|
105 |
3 = Tag (0-31) |
|
106 |
4 = Monat (1-12) |
|
107 |
5 = Wochentag (0-7, Sonntag ist 0 oder 7) |
|
108 |
</pre><p>Um die Ausführung auf eine Minute vor Sylvester zu setzen, müssen die folgenden Werte eingetragen werden:</p><pre class="programlisting">59 23 31 12 *</pre></li><li class="listitem"><p> |
|
109 |
<code class="literal">Daten:</code>In diesem Feld können optionale Parameter für den Hintergrund im JSON-Format gesetzt werden. Der Hintergrund-Job <code class="literal">SetNumberRange</code> akzeptiert zwei Variable nämlich <code class="literal">digit_year</code> sowieso <code class="literal">multiplier</code>.</p><p> |
|
110 |
<code class="literal">digit_year</code> kann zwei Werte haben entweder 2 oder 4, darüber wird gesteuert ob die Jahreszahl zwei oder vierstellig kodiert wird (für 2019, dann entweder 19 oder 2019). Der Standardwert ist vierstellig.</p><p> |
|
111 |
<code class="literal">multiplier</code> ist ein Vielfaches von 10, darüber wird die erste Nummer im Nummernkreis (die Anzahl der Stellen) wie folgt bestimmt:</p><pre class="programlisting"> |
|
112 |
multiplier Nummernkreis 2020 |
|
113 |
10 -> 20200 |
|
114 |
100 -> 202000 |
|
115 |
1000 -> 2020000 |
|
116 |
</pre><p>Wir gehen jetzt beispielhaft von einer letzten Rechnungsnummer von RE2019456 aus. Demnach sollte ab Januar 2020 die erste Nummer RE2020001 sein. Da der Task auch Präfixe berücksichtigt, kann dies mit folgenden JSON-kodierten Werten umgesetzt werden:</p><p> |
|
117 |
<code class="literal">Daten:</code> |
|
118 |
</p><pre class="programlisting">multiplier: 100 |
|
119 |
digits_year: 4</pre></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="ch02s07.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Webserver-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.9. Benutzerauthentifizierung und Administratorpasswort</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. Mandanten-, 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 3.8.0: 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. Drucker- und Systemverwaltung"></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. Mandanten-, Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Mandanten-, Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.9. Mandanten-, Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Mandanten, Benutzer, Gruppen und |
|
4 |
Datenbanken angelegt werden. Dieses geschieht im Administrationsmenü, |
|
5 |
das Sie unter folgender URL finden:</p><p> |
|
6 |
<a class="ulink" href="http://localhost/kivitendo-erp/controller.pl?action=Admin/login" target="_top">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</a> |
|
7 |
</p><p>Verwenden Sie zur Anmeldung das Passwort, das 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 verwaltet zwei Sets von Daten, die je nach Einrichtung |
|
9 |
in einer oder zwei Datenbanken gespeichert werden.</p><p>Das erste Set besteht aus Anmeldeinformationen: welche Benutzer |
|
10 |
und Mandanten gibt es, welche Gruppen, welche BenutzerIn hat Zugriff |
|
11 |
auf welche Mandanten, und welche Gruppe verfügt über welche Rechte. |
|
12 |
Diese Informationen werden in der Authentifizierungsdatenbank |
|
13 |
gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter |
|
14 |
in der Konfigurationsdatei <code class="filename">config/kivitendo.conf</code> |
|
15 |
gespeichert werden.</p><p>Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines |
|
16 |
Mandanten, wie beispielsweise die Stammdaten (Kunden, Lieferanten, |
|
17 |
Waren) und Belege (Angebote, Lieferscheine, Rechnungen). Diese werden |
|
18 |
in einer Mandantendatenbank gespeichert. Die Verbindungsinformationen |
|
19 |
einer solchen Mandantendatenbank werden im Administrationsbereich |
|
20 |
konfiguriert, indem man einen Mandanten anlegt und dort die Parameter |
|
21 |
einträgt. Dabei hat jeder Mandant eine eigene Datenbank.</p><p>Aufgrund des Datenbankdesigns ist es für einfache Fälle möglich, |
|
22 |
die Authentifizierungsdatenbank und eine der Mandantendatenbanken in |
|
23 |
ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit |
|
24 |
mehr als einem Mandanten, wird empfohlen, für die |
|
25 |
Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die |
|
26 |
nicht gleichzeitig für einen Mandanten verwendet wird.</p></div><div class="sect2" title="2.9.2. Mandanten, Benutzer und Gruppen"><div class="titlepage"><div><div><h3 class="title"><a name="Mandanten-Benutzer-Gruppen"></a>2.9.2. Mandanten, Benutzer und Gruppen</h3></div></div></div><p>kivitendos Administration kennt Mandanten, Benutzer und Gruppen, |
|
27 |
die sich frei zueinander zuordnen lassen.</p><p>kivitendo kann mehrere Mandaten aus einer Installation heraus |
|
28 |
verwalten. Welcher Mandant benutzt wird, kann direkt beim Login |
|
29 |
ausgewählt werden. Für jeden Mandanten wird ein eindeutiger Name |
|
30 |
vergeben, der beim Login angezeigt wird. Weiterhin benötigt der |
|
31 |
Mandant Datenbankverbindungsparameter für seine Mandantendatenbank. |
|
32 |
Diese sollte über die <a class="link" href="ch02s09.html#Datenbanken-anlegen" title="2.9.3. Datenbanken anlegen">Datenbankverwaltung</a> |
|
33 |
geschehen.</p><p>Ein Benutzer ist eine Person, die Zugriff auf kivitendo erhalten |
|
34 |
soll. Sie erhält einen Loginnamen sowie ein Passwort. Weiterhin legt |
|
35 |
der Administrator fest, an welchen Mandanten sich ein Benutzer |
|
36 |
anmelden kann, was beim Login verifiziert wird.</p><p>Gruppen dienen dazu, Benutzern innerhalb eines Mandanten Zugriff |
|
37 |
auf bestimmte Funktionen zu geben. Einer Gruppe werden dafür vom |
|
38 |
Administrator gewisse Rechte zugeordnet. Weiterhin legt der |
|
39 |
Administrator fest, für welche Mandanten eine Gruppe gilt, und welche |
|
40 |
Benutzer Mitglieder in dieser Gruppe sind. Meldet sich ein Benutzer |
|
41 |
dann an einem Mandanten an, so erhält er alle Rechte von allen |
|
42 |
denjenigen Gruppen, die zum Einen dem Mandanten zugeordnet sind und in |
|
43 |
denen der Benutzer zum Anderen Mitglied ist,</p><p>Die Reihenfolge, in der Datenbanken, Mandanten, Gruppen und |
|
44 |
Benutzer angelegt werden, kann im Prinzip beliebig gewählt werden. Die |
|
45 |
folgende Reihenfolge beinhaltet die wenigsten Arbeitsschritte:</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 und Gruppen als Mitglied zuordnen</p></li><li class="listitem"><p>Mandanten anlegen und Gruppen sowie Benutzer zuweisen</p></li></ol></div></div><div class="sect2" title="2.9.3. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.9.3. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für |
|
46 |
den Datenbankzugriff den vorhin angelegten Benutzer (in unseren |
|
47 |
Beispielen ist dies ‘<code class="literal">kivitendo</code>’).</p></div><div class="sect2" title="2.9.4. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.9.4. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein |
|
48 |
Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem |
|
49 |
Anlegen können Sie die verschiedenen Bereiche wählen, auf die |
|
50 |
Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen werden zwar in der Authentifizierungsdatenbank |
|
51 |
gespeichert, gelten aber nicht automatisch für alle Mandanten. Der |
|
52 |
Administrator legt vielmehr fest, für welche Mandanten eine Gruppe |
|
53 |
gültig ist. Dies kann entweder beim Bearbeiten der Gruppe geschehen |
|
54 |
("diese Gruppe ist gültig für Mandanten X, Y und Z"), oder aber wenn |
|
55 |
man einen Mandanten bearbeitet ("für diesen Mandanten sind die Gruppen |
|
56 |
A, B und C gültig").</p><p>Wurden bereits Benutzer angelegt, so können hier die Mitglieder |
|
57 |
dieser Gruppe festgelegt werden ("in dieser Gruppe sind die Benutzer |
|
58 |
X, Y und Z Mitglieder"). Dies kann auch nachträglich beim Bearbeiten |
|
59 |
eines Benutzers geschehen ("dieser Benutzer ist Mitglied in den |
|
60 |
Gruppen A, B und C").</p></div><div class="sect2" title="2.9.5. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.9.5. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter |
|
61 |
Standardeinstellungen vorgenommen, die den Gepflogenheiten des |
|
62 |
deutschen Raumes entsprechen.</p><p>Zwingend anzugeben ist der Loginname. Wenn die |
|
63 |
Passwortauthentifizierung über die Datenbank eingestellt ist, so kann |
|
64 |
hier auch das Benutzerpasswort gesetzt bzw. geändert werden. Ist |
|
65 |
hingegen die LDAP-Authentifizierung aktiv, so ist das Passwort-Feld |
|
66 |
deaktiviert.</p><p>Hat man bereits Mandanten und Gruppen angelegt, so kann hier |
|
67 |
auch konfiguriert werden, auf welche Mandanten der Benutzer Zugriff |
|
68 |
hat bzw. in welchen Gruppen er Mitglied ist. Beide Zuweisungen können |
|
69 |
sowohl beim Benutzer vorgenommen werden ("dieser Benutzer hat Zugriff |
|
70 |
auf Mandanten X, Y, Z" bzw. "dieser Benutzer ist Mitglied in Gruppen |
|
71 |
X, Y und Z") als auch beim Mandanten ("auf diesen Mandanten haben |
|
72 |
Benutzer A, B und C Zugriff") bzw. bei der Gruppe ("in dieser Gruppe |
|
73 |
sind Benutzer A, B und C Mitglieder").</p></div><div class="sect2" title="2.9.6. Mandanten anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Mandanten-anlegen"></a>2.9.6. Mandanten anlegen</h3></div></div></div><p>Ein Mandant besteht aus Administrationssicht primär aus einem |
|
74 |
eindeutigen Namen. Weiterhin wird hier hinterlegt, welche Datenbank |
|
75 |
als Mandantendatenbank benutzt wird. Hier müssen die Zugriffsdaten |
|
76 |
einer der eben angelegten Datenbanken eingetragen werden.</p><p>Hat man bereits Benutzer und Gruppen angelegt, so kann hier auch |
|
77 |
konfiguriert werden, welche Benutzer Zugriff auf den Mandanten haben |
|
78 |
bzw. welche Gruppen für den Mandanten gültig sind. Beide Zuweisungen |
|
79 |
können sowohl beim Mandanten vorgenommen werden ("auf diesen Mandanten |
|
80 |
haben Benutzer X, Y und Z Zugriff" bzw. "für diesen Mandanten sind die |
|
81 |
Gruppen X, Y und Z gültig") als auch beim Benutzer ("dieser Benutzer |
|
82 |
hat Zugriff auf Mandanten A, B und C") bzw. bei der Gruppe ("diese |
|
83 |
Gruppe ist für Mandanten A, B und C gültig").</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzerauthentifizierung und Administratorpasswort </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.10. Drucker- und Systemverwaltung</td></tr></table></div></body></html> |
|
3 |
<title>2.9. Benutzerauthentifizierung und Administratorpasswort</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s08.html" title="2.8. Der Task-Server"><link rel="next" href="ch02s10.html" title="2.10. Mandanten-, Benutzer- und Gruppenverwaltung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.9. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.9. 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.9.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.9.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 gegen die Authentifizierungsdatenbank oder gegen einen oder |
|
11 |
mehrere LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung kivitendo benutzt und wie |
|
12 |
kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der |
|
13 |
Konfigurationsdatei <code class="filename">config/kivitendo.conf</code> |
|
14 |
festgelegt. Diese muss bei der Installation und bei einem Upgrade von |
|
15 |
einer Version vor v2.6.0 angelegt werden. Eine |
|
16 |
Beispielkonfigurationsdatei |
|
17 |
<code class="filename">config/kivitendo.conf.default</code> existiert, die als |
|
18 |
Vorlage benutzt werden kann.</p></div><div class="sect2" title="2.9.2. Administratorpasswort"><div class="titlepage"><div><div><h3 class="title"><a name="Administratorpasswort"></a>2.9.2. Administratorpasswort</h3></div></div></div><p>Das Passwort, das zum Zugriff auf das Administrationsinterface |
|
19 |
von kivitendo benutzt wird, wird ebenfalls in dieser Datei |
|
20 |
gespeichert. Es kann auch nur dort und nicht mehr im |
|
21 |
Administrationsinterface selber geändert werden. Der Parameter dazu |
|
22 |
heißt <code class="varname">admin_password</code> im Abschnitt |
|
23 |
<code class="varname">[authentication]</code>.</p></div><div class="sect2" title="2.9.3. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Authentifizierungsdatenbank"></a>2.9.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.9.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.9.4. Passwortüberprüfung</h3></div></div></div><p>kivitendo unterstützt Passwortüberprüfung auf zwei Arten: gegen |
|
40 |
die Authentifizierungsdatenbank und gegen externe 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>Dieser Parameter listet die zu verwendenden Authentifizierungsmodule auf. Es muss mindestens ein Modul angegeben werden, es |
|
44 |
können aber auch mehrere angegeben werden. Weiterhin ist es möglich, das LDAP-Modul mehrfach zu verwenden und für jede Verwendung |
|
45 |
eine unterschiedliche Konfiguration zu nutzen, z.B. um einen Fallback-Server anzugeben, der benutzt wird, sofern der Hauptserver |
|
46 |
nicht erreichbar ist.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank geprüft werden, so muss der Parameter |
|
47 |
<code class="varname">module</code> das Modul <code class="literal">DB</code> enthalten. Sofern das Modul in der Liste enthalten ist, egal an welcher |
|
48 |
Position, können sowohl der Administrator als auch die Benutzer selber ihre Passwörter in kivitendo ändern.</p><p>Wenn Passwörter gegen einen oder mehrere externe LDAP- oder Active-Directory-Server geprüft werden, so muss der Parameter |
|
49 |
<code class="varname">module</code> den Wert <code class="literal">LDAP</code> enthalten. In diesem Fall müssen zusätzliche Informationen über den |
|
50 |
LDAP-Server im Abschnitt <code class="literal">[authentication/ldap]</code> angegeben werden. Das Modul kann auch mehrfach angegeben werden, |
|
51 |
wobei jedes Modul eine eigene Konfiguration bekommen sollte. Der Name der Konfiguration wird dabei mit einem Doppelpunkt getrennt an |
|
52 |
den Modulnamen angehängt (<code class="literal">LDAP:Name-der-Konfiguration</code>). Der entsprechende Abschnitt in der Konfigurationsdatei |
|
53 |
lautet dann <code class="literal">[authentication/Name-der-Konfiguration]</code>.</p><p>Die verfügbaren Parameter für die LDAP-Konfiguration lauten:</p><div class="variablelist"><dl><dt><span class="term"> |
|
54 |
<code class="literal">host</code> |
|
55 |
</span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder |
|
56 |
Active-Directory-Servers. Diese Angabe ist zwingend |
|
57 |
erforderlich.</p></dd><dt><span class="term"> |
|
58 |
<code class="literal">port</code> |
|
59 |
</span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term"> |
|
60 |
<code class="literal">tls</code> |
|
61 |
</span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen |
|
62 |
Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf |
|
63 |
‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term"> |
|
64 |
<code class="literal">verify</code> |
|
65 |
</span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht und der Parameter <em class="parameter"><code>tls</code></em> gesetzt ist, so gibt dieser |
|
66 |
Parameter an, ob das Serverzertifikat auf Gültigkeit geprüft wird. Mögliche Werte sind <code class="literal">require</code> (Zertifikat |
|
67 |
wird überprüft und muss gültig sei; dies ist der Standard) und <code class="literal">none</code> (Zertifikat wird nicht |
|
68 |
überpfüft).</p></dd><dt><span class="term"> |
|
69 |
<code class="literal">attribute</code> |
|
70 |
</span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der |
|
71 |
Benutzer eingegeben hat. Für Active-Directory-Server ist dies |
|
72 |
meist ‘<code class="literal">sAMAccountName</code>’, für andere |
|
73 |
LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist |
|
74 |
zwingend erforderlich.</p></dd><dt><span class="term"> |
|
75 |
<code class="literal">base_dn</code> |
|
76 |
</span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. |
|
77 |
Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term"> |
|
78 |
<code class="literal">filter</code> |
|
79 |
</span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort |
|
80 |
<code class="literal"><%login%></code>, so wird dieses durch den vom |
|
81 |
Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird |
|
82 |
der LDAP-Baum nach einem Element durchsucht, bei dem das oben |
|
83 |
angegebene Attribut mit dem Benutzernamen identisch ist.</p></dd><dt><span class="term"> |
|
84 |
<code class="literal">bind_dn</code> und |
|
85 |
<code class="literal">bind_password</code> |
|
86 |
</span></dt><dd><p>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er |
|
87 |
durchsucht werden kann (z.B. ist dies bei |
|
88 |
Active-Directory-Servern der Fall), so kann diese hier angegeben |
|
89 |
werden. Für Active-Directory-Server kann als |
|
90 |
‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie |
|
91 |
z.B. ‘<code class="literal">cn=Martin |
|
92 |
Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der |
|
93 |
volle Name des Benutzers eingegeben werden; in diesem Beispiel |
|
94 |
also ‘<code class="literal">Martin Mustermann</code>’.</p></dd><dt><span class="term"> |
|
95 |
<code class="literal">timeout</code> |
|
96 |
</span></dt><dd><p>Timeout beim Verbindungsversuch, bevor der Server als nicht erreichbar gilt; Standardwert: 10</p></dd></dl></div></div><div class="sect2" title="2.9.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.9.5. Name des Session-Cookies</h3></div></div></div><p>Sollen auf einem Server mehrere kivitendo-Installationen |
|
97 |
aufgesetzt werden, so müssen die Namen der Session-Cookies für alle |
|
98 |
Installationen unterschiedlich sein. Der Name des Cookies wird mit dem |
|
99 |
Parameter <code class="varname">cookie_name</code> im Abschnitt |
|
100 |
<code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem |
|
101 |
Server existiert.</p></div><div class="sect2" title="2.9.6. Anlegen der Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Anlegen-der-Authentifizierungsdatenbank"></a>2.9.6. Anlegen der Authentifizierungsdatenbank</h3></div></div></div><p>Nachdem alle Einstellungen in |
|
102 |
<code class="filename">config/kivitendo.conf</code> vorgenommen wurden, muss |
|
103 |
kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht |
|
104 |
automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter |
|
105 |
der folgenden URL erreichbar sein sollte:</p><p> |
|
106 |
<a class="ulink" href="http://localhost/kivitendo-erp/controller.pl?action=Admin/login" target="_top">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</a> |
|
107 |
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Der Task-Server </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.10. Mandanten-, Benutzer- und Gruppenverwaltung</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. Drucker- und Systemverwaltung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. Mandanten-, Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s11.html" title="2.11. 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.10. Drucker- und Systemverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Drucker- und Systemverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucker--Systemverwaltung"></a>2.10. Drucker- und Systemverwaltung</h2></div></div></div><p>Im Administrationsmenü gibt es ferner noch die beiden Menüpunkte |
|
4 |
Druckeradministration und System.</p><div class="sect2" title="2.10.1. Druckeradministration"><div class="titlepage"><div><div><h3 class="title"><a name="Druckeradministration"></a>2.10.1. Druckeradministration</h3></div></div></div><p>Unter dem Menüpunkt Druckeradministration lassen sich beliebig |
|
5 |
viele "Druckbefehle" im System verwalten. Diese Befehle werden |
|
6 |
mandantenweise zugeordnet. Unter Druckerbeschreibung wird der Namen |
|
7 |
des Druckbefehls festgelegt, der dann in der Druckerauswahl des Belegs |
|
8 |
angezeigt wird.</p><p>Unter Druckbefehl definiert man den eigentlichen Druckbefehl, |
|
9 |
der direkt auf dem Webserver ausgeführt wird, bspw. 'lpr -P |
|
10 |
meinDrucker' oder ein kompletter Pfad zu einem Skript |
|
11 |
(/usr/local/src/kivitendo/scripts/pdf_druck_in_verzeichnis.sh). Wird |
|
12 |
ferner noch ein optionales Vorlagenkürzel verwendet, wird dieses |
|
13 |
Kürzel bei der Auswahl der Druckvorlagendatei mit einem Unterstrich |
|
14 |
ergänzt, ist bspw. das Kürzel 'epson_drucker' definiert, so wird beim |
|
15 |
Ausdruck eines Angebots folgende Vorlage geparst: |
|
16 |
sales_quotation_epson_drucker.tex.</p></div><div class="sect2" title="2.10.2. System sperren / entsperren"><div class="titlepage"><div><div><h3 class="title"><a name="System"></a>2.10.2. System sperren / entsperren</h3></div></div></div><p>Unter dem Menüpunkt System gibt es den Eintrag 'Installation |
|
17 |
sperren/entsperren'. Setzt man diese Sperre so ist der Zugang zu der |
|
18 |
gesamten kivitendo Installation gesperrt.</p><p>Falls die Sperre gesetzt ist, erscheint anstelle der |
|
19 |
Anmeldemaske die Information: 'kivitendo ist momentan zwecks |
|
20 |
Wartungsarbeiten nicht zugänglich.'.</p><p>Wichtig zu erwähnen ist hierbei noch, dass sich kivitendo |
|
21 |
automatisch 'sperrt', falls es bei einem Versionsupdate zu einem |
|
22 |
Datenbankfehler kam. Somit kann hier nicht aus Versehen mit einem |
|
23 |
inkonsistenten Datenbestand weitergearbeitet werden.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Mandanten-, Benutzer- und Gruppenverwaltung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. E-Mail-Versand aus kivitendo heraus</td></tr></table></div></body></html> |
|
3 |
<title>2.10. Mandanten-, 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 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s11.html" title="2.11. Drucker- und Systemverwaltung"></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. Mandanten-, Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Mandanten-, Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.10. Mandanten-, Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Mandanten, Benutzer, Gruppen und |
|
4 |
Datenbanken angelegt werden. Dieses geschieht im Administrationsmenü, |
|
5 |
das Sie unter folgender URL finden:</p><p> |
|
6 |
<a class="ulink" href="http://localhost/kivitendo-erp/controller.pl?action=Admin/login" target="_top">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</a> |
|
7 |
</p><p>Verwenden Sie zur Anmeldung das Passwort, das Sie in der Datei |
|
8 |
<code class="filename">config/kivitendo.conf</code> eingetragen haben.</p><div class="sect2" title="2.10.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.10.1. Zusammenhänge</h3></div></div></div><p>kivitendo verwaltet zwei Sets von Daten, die je nach Einrichtung |
|
9 |
in einer oder zwei Datenbanken gespeichert werden.</p><p>Das erste Set besteht aus Anmeldeinformationen: welche Benutzer |
|
10 |
und Mandanten gibt es, welche Gruppen, welche BenutzerIn hat Zugriff |
|
11 |
auf welche Mandanten, und welche Gruppe verfügt über welche Rechte. |
|
12 |
Diese Informationen werden in der Authentifizierungsdatenbank |
|
13 |
gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter |
|
14 |
in der Konfigurationsdatei <code class="filename">config/kivitendo.conf</code> |
|
15 |
gespeichert werden.</p><p>Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines |
|
16 |
Mandanten, wie beispielsweise die Stammdaten (Kunden, Lieferanten, |
|
17 |
Waren) und Belege (Angebote, Lieferscheine, Rechnungen). Diese werden |
|
18 |
in einer Mandantendatenbank gespeichert. Die Verbindungsinformationen |
|
19 |
einer solchen Mandantendatenbank werden im Administrationsbereich |
|
20 |
konfiguriert, indem man einen Mandanten anlegt und dort die Parameter |
|
21 |
einträgt. Dabei hat jeder Mandant eine eigene Datenbank.</p><p>Aufgrund des Datenbankdesigns ist es für einfache Fälle möglich, |
|
22 |
die Authentifizierungsdatenbank und eine der Mandantendatenbanken in |
|
23 |
ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit |
|
24 |
mehr als einem Mandanten, wird empfohlen, für die |
|
25 |
Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die |
|
26 |
nicht gleichzeitig für einen Mandanten verwendet wird.</p></div><div class="sect2" title="2.10.2. Mandanten, Benutzer und Gruppen"><div class="titlepage"><div><div><h3 class="title"><a name="Mandanten-Benutzer-Gruppen"></a>2.10.2. Mandanten, Benutzer und Gruppen</h3></div></div></div><p>kivitendos Administration kennt Mandanten, Benutzer und Gruppen, |
|
27 |
die sich frei zueinander zuordnen lassen.</p><p>kivitendo kann mehrere Mandaten aus einer Installation heraus |
|
28 |
verwalten. Welcher Mandant benutzt wird, kann direkt beim Login |
|
29 |
ausgewählt werden. Für jeden Mandanten wird ein eindeutiger Name |
|
30 |
vergeben, der beim Login angezeigt wird. Weiterhin benötigt der |
Auch abrufbar als: Unified diff
Anleitung für installation mit Ansible hinzugefüegt