Doku: Installations-Anmerkungen für Debian/Ubuntu ergänzt
[kivitendo-erp.git] / doc / html / ch02s07.html
index beed7c7..2ec4657 100644 (file)
@@ -1,53 +1,69 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.7. Der Task-Server</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Webserver-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.7. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
+   <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.5.3: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Webserver-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.7. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
       regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
       festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
       regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
       festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
-      wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
-      benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
-      bekommen.</p><div class="sect2" title="2.7.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.7.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt
+      wird u.a. für die Erzeugung der wiederkehrenden Rechnungen und weitere
+      essenzielle Aufgaben benutzt.</p><p>Der Task-Server muss einmalig global in der Konfigurationsdatei
+      konfiguriert werden. Danach wird er für jeden Mandanten, für den er
+      laufen soll, in der Adminsitrationsmaske eingeschaltet.</p><p>Beachten Sie, dass der Task-Server in den Boot-Vorgang Ihres
+      Servers integriert werden muss, damit er automatisch gestartet wird.
+      Dies kann kivitendo nicht für Sie erledigen.</p><p>Da der Taskserver als Perlscript läuft, wird Arbeitsspeicher, der
+      einmal benötigt wurde, nicht mehr an das Betriebssystem zurückgegeben,
+      solange der Taskserver läuft. Dies kann dazu führen, dass ein länger
+      laufender Taskserver mit der Zeit immer mehr Arbeitsspeicher für sich
+      beansprucht. Es ist deshalb sinnvoll, dass der Taskserver in
+      regelmässigen Abständen neu gestartet wird.</p><div class="sect2" title="2.7.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.7.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt
         <code class="literal">[task_server]</code> in der Datei
         <code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren
         Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
         <code class="literal">[task_server]</code> in der Datei
         <code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren
         Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
-                     <code class="varname">login</code>
-                  </span></dt><dd><p>gültiger kivitendo-Benutzername, der benutzt wird, um die
-              zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
-              in der Administration angelegt werden. Diese Option muss
-              angegeben werden.</p></dd><dt><span class="term">
                      <code class="varname">run_as</code>
                   </span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code>
               gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
               angegebenen Systembenutzer. Der Systembenutzer muss dieselben
               Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
               (siehe see <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
                      <code class="varname">run_as</code>
                   </span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code>
               gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
               angegebenen Systembenutzer. Der Systembenutzer muss dieselben
               Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
               (siehe see <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
-              ist es sinnvoll, hier denselben Systembenutzer einzutragen,
+              ist es erforderlich, hier denselben Systembenutzer einzutragen,
               unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
                      <code class="varname">debug</code>
               unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
                      <code class="varname">debug</code>
-                  </span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.7.2. Automatisches Starten des Task-Servers beim Booten"><div class="titlepage"><div><div><h3 class="title"><a name="Einbinden-in-den-Boot-Prozess"></a>2.7.2. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>Der Task-Server verhält sich von seinen Optionen her wie ein
+                  </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
+        anschließend jeder Mandant, für den der Task-Server laufen soll,
+        einmalig konfiguriert werden. Dazu kann in der Maske zum Bearbeiten
+        von Mandanten im Administrationsbereich eine kivitendo-Benutzerkennung
+        ausgewählt werden, unter der der Task-Server seine Arbeit
+        verrichtet.</p><p>Ist in dieser Einstellung keine Benutzerkennung ausgewählt, so
+        wird der Task-Server für diesen Mandanten keine Aufgaben
+        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
         reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim
         Starten automatisch in das kivitendo-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen
         Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
         einzubinden. Da das bei neueren Linux-Distributionen aber nicht
         zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
         reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim
         Starten automatisch in das kivitendo-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen
         Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
         einzubinden. Da das bei neueren Linux-Distributionen aber nicht
         zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
-        anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.7.2.1. SystemV-basierende Systeme (z.B. Debian, ältere OpenSuSE, ältere Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e839"></a>2.7.2.1. SystemV-basierende Systeme (z.B. Debian, ältere OpenSuSE, ältere Fedora Core)</h4></div></div></div><p>Kopieren Sie die Datei
-          <code class="filename">scripts/boot/system-v/kivitendo-server</code>
-          nach <code class="filename">/etc/init.d/kivitendo-server</code>. Passen
+        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="d0e1304"></a>2.7.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere
+          openSUSE, ältere Fedora)</h4></div></div></div><p>Kopieren Sie die Datei
+          <code class="filename">scripts/boot/system-v/kivitendo-task-server</code>
+          nach <code class="filename">/etc/init.d/kivitendo-task-server</code>. Passen
           Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
           <code class="literal">DAEMON=....</code>). Binden Sie das Script in den
           Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d kivitendo-task-server defaults
           Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
           <code class="literal">DAEMON=....</code>). Binden Sie das Script in den
           Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d kivitendo-task-server defaults
-# Nur bei Debian Squeeze und neuer:
-insserv kivitendo-task-server</pre></li><li class="listitem"><p>Ältere OpenSuSE und ältere Fedora Core:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
-          werden:</p><pre class="programlisting">/etc/init.d/kivitendo-task-server start</pre></div><div class="sect3" title="2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e868"></a>2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)</h4></div></div></div><p>Kopieren Sie die Datei
+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
+          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="d0e1333"></a>2.7.3.2. Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)</h4></div></div></div><p>Kopieren Sie die Datei
           <code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
           nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
           Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
           <code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
           <code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
           nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
           Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
           <code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
-          werden:</p><pre class="programlisting">service kivitendo-task-server start</pre></div><div class="sect3" title="2.7.2.3. systemd-basierende Systeme (z.B. neure OpenSuSE, neuere Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e886"></a>2.7.2.3. systemd-basierende Systeme (z.B. neure OpenSuSE, neuere Fedora Core)</h4></div></div></div><p>Verlinken Sie die Datei <code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code> nach
-          <code class="filename">/etc/systemd/system/</code>. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
-          <code class="literal">ExecStart=....</code> und <code class="literal">ExecStop=...</code>). Binden Sie das Script in den Boot-Prozess ein.
-          </p><p>Alle hierzu benötigten Befehle sehen so aus:</p><pre class="programlisting">cd /var/www/kivitendo-erp/scripts/boot/systemd
-ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</pre><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
-          werden:</p><pre class="programlisting">systemctl start kivitendo-task-server.service</pre></div></div><div class="sect2" title="2.7.3. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.7.3. Wie der Task-Server gestartet und beendet wird</h3></div></div></div><p>Der Task-Server wird wie folgt kontrolliert:</p><pre class="programlisting">./scripts/task_server.pl Befehl</pre><p>
+          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="d0e1351"></a>2.7.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere
+          Fedora, neuere Ubuntu und neuere Debians)</h4></div></div></div><p>Kopieren Sie die Datei
+          <code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code>
+          nach <code class="filename">/etc/systemd/system/</code>. Passen Sie in der
+          kopierten Datei den Pfad zum Task-Server an (Zeilen
+          <code class="literal">ExecStart=....</code> und
+          <code class="literal">ExecStop=...</code>).</p><p>Machen Sie anschließend das Script systemd bekannt, und binden
+          Sie es in den Boot-Prozess ein. Dazu führen Sie die folgenden Befehl
+          aus:</p><pre class="programlisting">systemctl daemon-reload
+systemctl enable kivitendo-task-server.service</pre><p>Wenn Sie den Task-Server jetzt sofort starten möchten, anstatt
+          den Server neu zu starten, so können Sie das mit dem folgenden
+          Befehl tun:</p><pre class="programlisting">systemctl start 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>
                <code class="literal">Befehl</code> ist dabei eine der folgenden
         Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                      <code class="literal">start</code> startet eine neue Instanz des
                <code class="literal">Befehl</code> ist dabei eine der folgenden
         Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                      <code class="literal">start</code> startet eine neue Instanz des
@@ -60,9 +76,4 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</pre><p>Danach k
                      <code class="literal">status</code> berichtet, ob der Task-Server
             läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
         kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
                      <code class="literal">status</code> berichtet, ob der Task-Server
             läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
         kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
-        Runlevel-Scripte benutzt werden (siehe oben).</p></div><div class="sect2" title="2.7.4. Task-Server mit mehreren Mandanten"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle2"></a>2.7.4. Task-Server mit mehreren Mandanten</h3></div></div></div><p>Beim Task-Server wird der Login-Name des Benutzers, unter dem der
-        Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat
-        man mehrere Mandanten muß man auch mehrere Konfigurationsdateien
-        anlegen.</p><p>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf,
-        wo in der Kategorie [task_server] der gewünschte "login" steht.</p><p>Der alternative Task-Server wird dann mit folgendem Befehl
-        gestartet:</p><pre class="programlisting">./scripts/task_server.pl -c config/DATEINAME.conf</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Webserver-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.8. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
\ No newline at end of file
+        Runlevel-Scripte benutzt werden (siehe oben).</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Webserver-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.8. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
\ No newline at end of file