Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a19c4575

Von Jan Büren vor mehr als 1 Jahr hinzugefügt

  • ID a19c4575fead9a132dad241f6dda619442266f31
  • Vorgänger 18ad9bd4
  • Nachfolger 84ea0924

Anleitung für installation mit Ansible hinzugefüegt

Unterschiede anzeigen:

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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.5. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><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>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. 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&nbsp;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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. kivitendo-Konfigurationsdatei&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.6. Webserver-Konfiguration</td></tr></table></div></body></html>
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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Manuelle Installation des Programmpaketes&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.6. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>

Auch abrufbar als: Unified diff