X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/b948bb619c8086b8f05aac962d44d075aea17822..HEAD:/doc/html/ch02s06.html diff --git a/doc/html/ch02s06.html b/doc/html/ch02s06.html index 0cfc2a9bb..80c32dd7e 100644 --- a/doc/html/ch02s06.html +++ b/doc/html/ch02s06.html @@ -1,63 +1,73 @@ - 2.6. Der Task-Server

2.6. Der Task-Server

Der Task-Server ist ein Prozess, der im Hintergrund läuft, in - regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu - festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess - wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen - benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen - bekommen.

2.6.1. Verfügbare und notwendige Konfigurationsoptionen

Die Konfiguration erfolgt über den Abschnitt - [task_server] in der Datei - config/lx_office.conf. Die dort verfügbaren - Optionen sind:

- login -

gültiger Lx-Office-Benutzername, der benutzt wird, um die - zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss - in der Administration angelegt werden. Diese Option muss - angegeben werden.

- run_as -

Wird der Server vom Systembenutzer root - gestartet, so wechselt er auf den mit run_as - angegebenen Systembenutzer. Der Systembenutzer muss dieselben - Lese- und Schreibrechte haben, wie auch der Webserverbenutzer - (siehe see Manuelle Installation des Programmpaketes). Daher - ist es sinnvoll, hier denselben Systembenutzer einzutragen, - unter dem auch der Webserver läuft.

- debug -

Schaltet Debug-Informationen an und aus.

2.6.2. Automatisches Starten des Task-Servers beim Booten

Der Task-Server verhält sich von seinen Optionen her wie ein - reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim - Starten automatisch in das Lx-Office-Installationsverzeichnis.

Deshalb ist es möglich, ihn durch Setzen eines symbolischen - Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess - einzubinden. Da das bei neueren Linux-Distributionen aber nicht - zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die - anstelle eines symbolischen Links verwendet werden können.

2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora - Core)

Kopieren Sie die Datei - scripts/boot/system-v/lx-office-task-server - nach /etc/init.d/lx-office-task-server. Passen - Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile - DAEMON=....). Binden Sie das Script in den - Boot-Prozess ein. Dies ist distributionsabhängig:

  • Debian-basierende Systeme:

    update-rc.d lx-office-task-server defaults
    -# Nur bei Debian Squeeze und neuer:
    -insserv lx-office-task-server
  • OpenSuSE und Fedora Core:

    chkconfig --add lx-office-task-server

Danach kann der Task-Server mit dem folgenden Befehl gestartet - werden: /etc/init.d/lx-office-task-server - start -

2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)

Kopieren Sie die Datei - scripts/boot/upstart/lx-office-task-server.conf - nach /etc/init/lx-office-task-server.conf. - Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile - exec ....).

Danach kann der Task-Server mit dem folgenden Befehl gestartet - werden: service lx-office-task-server - start -

2.6.3. Wie der Task-Server gestartet und beendet wird

Der Task-Server wird wie folgt kontrolliert:

./scripts/task_server.pl Befehl

- Befehl ist dabei eine der folgenden - Optionen:

  • - start startet eine neue Instanz des - Task-Servers. Die Prozess-ID wird innerhalb des - users-Verzeichnisses abgelegt.

  • - stop beendet einen laufenden - Task-Server.

  • - restart beendet und startet ihn - neu.

  • - status berichtet, ob der Task-Server - läuft.

Der Task-Server wechselt beim Starten automatisch in das - Lx-Office-Installationsverzeichnis.

Dieselben Optionen können auch für die SystemV-basierenden - Runlevel-Scripte benutzt werden (siehe oben).

\ No newline at end of file + 2.6. Anpassung der PostgreSQL-Konfiguration

2.6. Anpassung der PostgreSQL-Konfiguration

PostgreSQL muss auf verschiedene Weisen angepasst werden.

Dies variert je nach eingesetzter Distribution, da distributionsabhängig unterschiedliche Strategien beim Upgrade der Postgres Version eingesetzt werden. + Als Hinweis einige Links zu den drei Distribution (Stand Dezember 2018):

2.6.1. Zeichensätze/die Verwendung von Unicode/UTF-8

kivitendo setzt zwingend voraus, dass die Datenbank + Unicode/UTF-8 als Encoding einsetzt. Bei aktuellen + Serverinstallationen braucht man hier meist nicht einzugreifen.

Das Encoding des Datenbankservers kann überprüft werden. Ist das + Encoding der Datenbank "template1" "Unicode" bzw. "UTF-8", so braucht + man nichts weiteres diesbezüglich unternehmen. Zum Testen:

su postgres
+echo '\l' | psql
+exit 

Andernfalls ist es notwendig, einen neuen Datenbankcluster mit + Unicode-Encoding anzulegen und diesen zu verwenden. Unter Debian und + Ubuntu kann dies z.B. für PostgreSQL 9.3 mit dem folgenden Befehl + getan werden:

pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 9.3 clustername

Die Datenbankversionsnummer muss an die tatsächlich verwendete + Versionsnummer angepasst werden.

Unter anderen Distributionen gibt es ähnliche Methoden.

Das Encoding einer Datenbank kann in psql mit + \l geprüft werden.

2.6.2. Änderungen an Konfigurationsdateien

In der Datei postgresql.conf, die je nach + Distribution in verschiedenen Verzeichnissen liegen kann (z.B. + /var/lib/pgsql/data/ oder + /etc/postgresql/), muss sichergestellt werden, + dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den + Parameter listen_address gesteuert. Laufen + PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert + localhost verwendet werden. Andernfalls müssen + Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden, + was mit dem Wert * geschieht.

In der Datei pg_hba.conf, die im gleichen + Verzeichnis wie die postgresql.conf zu finden + sein sollte, müssen die Berechtigungen für den Zugriff geändert + werden. Hier gibt es mehrere Möglichkeiten. Sinnvoll ist es nur die + nötigen Verbindungen immer zuzulassen, für eine lokal laufende + Datenbank zum Beispiel:

local all kivitendo password
+host all kivitendo 127.0.0.1 255.255.255.255 scram-sha-256

2.6.3. Erweiterung für servergespeicherte Prozeduren

In der Datenbank template1 muss die + Unterstützung für servergespeicherte Prozeduren eingerichet werden. + Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an: +

su - postgres
+psql template1

führen Sie die folgenden Kommandos aus:

CREATE EXTENSION IF NOT EXISTS plpgsql;
+\q
[Anmerkung]Anmerkung

+ CREATE EXTENSION ist seit Version 9.1 die + bevorzugte Syntax um die Sprache plpgsql + anzulegen. In diesen Versionen ist die Extension meist auch schon + vorhanden. Sollten Sie eine ältere Version von Postgres haben, + benutzen Sie stattdessen den folgenden Befehl.

CREATE LANGUAGE 'plpgsql';
+\q

2.6.4. Erweiterung für Trigram Prozeduren

Ab Version 3.5.1 wird die Trigram-Index-Erweiterung benötigt. + Diese wird mit dem SQL-Updatescript + sql/Pg-upgrade2/trigram_extension.sql und Datenbank-Super-Benutzer + Rechten automatisch installiert. Dazu braucht der + DatenbankSuperbenutzer "postgres" ein Passwort.

su - postgres
+psql
+\password postgres
+
+Eingabe Passwort
+\q

Benutzername Postgres und Passwort können jetzt beim Anlegen + einer Datenbank bzw. bei Updatescripten, die SuperuserRechte + benötigen, eingegeben werden.

[Anmerkung]Anmerkung

+ pg_trgm ist je nach Distribution nicht im + Standard-Paket von Postgres enthalten. Ein

select * from pg_available_extensions where name ='pg_trgm';

+ in template1 sollte entsprechend erfolgreich sein. Andernfalls muss + das Paket nachinstalliert werden, bspw. bei debian/ubuntu +

apt install postgresql-contrib

+

2.6.5. Datenbankbenutzer anlegen

Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff + benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer + anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen + können:

Die Frage, ob der neue User Superuser sein soll, können Sie mit + nein beantworten, genauso ist die Berechtigung neue User (Roles) zu + generieren nicht nötig.

su - postgres
+createuser -d -P kivitendo
+exit

Wenn Sie später einen Datenbankzugriff konfigurieren, verändern + Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” + bzw. den hier gewählten Benutzernamen.

\ No newline at end of file