Dokumentation: Update Instruktionen für openSUSE, Fedora
[kivitendo-erp.git] / doc / dokumentation.xml
index 5120aeb..ab677c9 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
 <book id="kivitendo-documentation" lang="de">
-  <title>kivitendo 3.3.0: Installation, Konfiguration, Entwicklung</title>
+  <title>kivitendo 3.4.0: Installation, Konfiguration, Entwicklung</title>
 
   <chapter id="Aktuelle-Hinweise">
     <title>Aktuelle Hinweise</title>
@@ -12,7 +12,7 @@
     <itemizedlist>
       <listitem>
         <para>im Community-Forum: <ulink
-        url="https://forum.kivitendo.org:32443">https://forum.kivitendo.org:32443</ulink></para>
+        url="https://forum.kivitendo.de:32443">https://forum.kivitendo.de:32443</ulink></para>
       </listitem>
       <listitem>
         <para>im Kunden-Forum: <ulink
@@ -82,7 +82,7 @@
         ohne große Probleme auf den derzeit aktuellen verbreiteten
         Distributionen läuft.</para>
 
-        <para>Anfang 2014 sind das folgende Systeme, von denen bekannt ist,
+        <para>Anfang 2016 sind das folgende Systeme, von denen bekannt ist,
         dass kivitendo auf ihnen läuft:</para>
 
         <itemizedlist>
             <para>Debian</para>
             <itemizedlist>
                <listitem>
-                 <para>6.0 "Squeeze" (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden, und <literal>Rose::DB::Object</literal> ist zu alt)</para>
+                 <para>7.0 "Wheezy"</para>
                </listitem>
                <listitem>
-                 <para>7.0 "Wheezy"</para>
+                 <para>8.0 "Jessie"</para>
                </listitem>
             </itemizedlist>
           </listitem>
 
           <listitem>
-            <para>Ubuntu 12.04 LTS "Precise Pangolin", 12.10 "Quantal Quetzal", 13.04 "Precise Pangolin" und 14.04 "Trusty Tahr" LTS Alpha</para>
-          </listitem>
-
-          <listitem>
-            <para>openSUSE 12.2, 12.3 und 13.1</para>
+            <para>Ubuntu 12.04 LTS "Precise Pangolin", 14.04 "Trusty Tahr" LTS, 15.10 "Wily Werewolf" und 16.04 "Xenial Xerus" LTS Alpha </para>
           </listitem>
 
           <listitem>
-            <para>SuSE Linux Enterprice Server 11</para>
+            <para>openSUSE LEAP 42.1</para>
           </listitem>
 
           <listitem>
-            <para>Fedora 16 bis 19</para>
+            <para>Fedora 22</para>
           </listitem>
         </itemizedlist>
       </sect2>
 
           <listitem><para><literal>Archive::Zip</literal></para></listitem>
 
+          <listitem><para><literal>Algorithm::CheckDigits</literal></para></listitem>
+
+          <listitem><para><literal>CGI</literal></para></listitem>
+
+          <listitem><para><literal>Clone</literal></para></listitem>
+
           <listitem><para><literal>Config::Std</literal></para></listitem>
 
           <listitem><para><literal>DateTime</literal></para></listitem>
 
+          <listitem><para><literal>DateTime::Format::Strptime</literal></para></listitem>
+
           <listitem><para><literal>DBI</literal></para></listitem>
 
           <listitem><para><literal>DBD::Pg</literal></para></listitem>
 
           <listitem><para><literal>File::Copy::Recursive</literal></para></listitem>
 
+          <listitem><para><literal>GD</literal></para></listitem>
+
+          <listitem><para><literal>HTML::Parser</literal></para></listitem>
+
+          <listitem><para><literal>HTML::Restrict</literal></para></listitem>
+
+          <listitem><para><literal>Image::Info</literal></para></listitem>
+
           <listitem><para><literal>JSON</literal></para></listitem>
 
           <listitem><para><literal>List::MoreUtils</literal></para></listitem>
 
+          <listitem><para><literal>List::UtilsBy</literal></para></listitem>
+
           <listitem><para><literal>Net::SMTP::SSL</literal> (optional, bei E-Mail-Versand über SSL; siehe Abschnitt "<xref
           linkend="config.sending-email.smtp"/>")</para></listitem>
 
 
           <listitem><para><literal>Params::Validate</literal></para></listitem>
 
+          <listitem><para><literal>PBKDF2::Tiny</literal></para></listitem>
+
           <listitem><para><literal>PDF::API2</literal></para></listitem>
 
           <listitem><para><literal>Rose::Object</literal></para></listitem>
 
           <listitem><para><literal>Rose::DB::Object</literal> Version 0.788 oder neuer</para></listitem>
 
+          <listitem><para><literal>String::ShellQuote</literal></para></listitem>
+
+          <listitem><para><literal>Sort::Naturally</literal></para></listitem>
+
           <listitem><para><literal>Template</literal></para></listitem>
 
           <listitem><para><literal>Text::CSV_XS</literal></para></listitem>
           <listitem><para><literal>YAML</literal></para></listitem>
         </itemizedlist>
 
+        <para>Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen: <literal>Algorithm::CheckDigits</literal><literal>PBKDF2::Tiny</literal></para>
         <para>Seit Version v3.2.0 sind die folgenden Pakete hinzugekommen: <literal>GD</literal>, <literal>HTML::Restrict</literal>, <literal>Image::Info</literal></para>
         <para>Seit v3.0.0 sind die folgenden Pakete hinzugekommen: <literal>File::Copy::Recursive</literal>.</para>
 
   librose-db-perl librose-object-perl libsort-naturally-perl \
   libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \
   libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \
-  libimage-info-perl libgd-gd2-perl \
-  libfile-copy-recursive-perl postgresql</programlisting>
+  libimage-info-perl libgd-gd2-perl libapache2-mod-fcgid \
+  libfile-copy-recursive-perl postgresql libalgorithm-checkdigits-perl \
+  libcrypt-pbkdf2-perl git
+</programlisting>
 
           <para>Für das Paket HTML::Restrict gibt es kein Debian-Paket, dies muß per CPAN installiert werden. Unter Ubuntu funktioniert das mit:</para>
           <programlisting>apt-get install build-essential
@@ -235,22 +258,22 @@ cpan HTML::Restrict</programlisting>
         </sect3>
 
         <sect3>
-          <title>Fedora Core</title>
+          <title>Fedora</title>
 
-          <para>Für Fedora Core stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl installiert werden:</para>
+          <para>Für Fedora stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl installiert werden:</para>
 
-          <programlisting>yum install httpd perl-Archive-Zip perl-Clone perl-DBD-Pg \
+          <programlisting>dnf install httpd mod_fcgid perl-Archive-Zip perl-Clone perl-DBD-Pg \
   perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FCGI \
   perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue \
   perl-PDF-API2 perl-Params-Validate perl-Rose-DB perl-Rose-DB-Object \
   perl-Rose-Object perl-Sort-Naturally perl-String-ShellQuote \
   perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
-  perl-XML-Writer perl-YAML perl-parent postgresql-server</programlisting>
+  perl-XML-Writer perl-YAML perl-parent postgresql-server perl-CPAN \
+  perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor perl-Text-Balanced</programlisting>
 
           <para>Zusätzlich müssen einige Pakete aus dem CPAN installiert werden. Dazu können Sie die folgenden Befehle nutzen:</para>
 
-          <programlisting>yum install perl-CPAN
-cpan Config::Std</programlisting>
+          <programlisting>cpan Config::Std HTML::Restrict</programlisting>
 
         </sect3>
 
@@ -260,17 +283,17 @@ cpan Config::Std</programlisting>
           <para>Für openSUSE stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
           installiert werden:</para>
 
-          <programlisting>zypper install apache2 perl-Archive-Zip perl-Clone \
+          <programlisting>zypper install apache2 apache2-mod_fcgid perl-Archive-Zip perl-Clone \
   perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address \
   perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils \
   perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PDF-API2 perl-Params-Validate \
   perl-Sort-Naturally perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
-  perl-URI perl-XML-Writer perl-YAML postgresql-server</programlisting>
+  perl-URI perl-XML-Writer perl-YAML perl-CPAN \
+  perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor postgresql-server</programlisting>
 
           <para>Zusätzlich müssen einige Pakete aus dem CPAN installiert werden. Dazu können Sie die folgenden Befehle nutzen:</para>
 
-          <programlisting>yum install perl-CPAN
-cpan Rose::Db::Object</programlisting>
+          <programlisting>cpan Rose::Db::Object</programlisting>
 
         </sect3>
       </sect2>
@@ -281,11 +304,11 @@ cpan Rose::Db::Object</programlisting>
       <title>Manuelle Installation des Programmpaketes</title>
       <para>Der aktuelle Stable-Release, bzw. beta Release wird bei github gehostet und kann
  <ulink url="https://github.com/kivitendo/kivitendo-erp/releases">hier</ulink> heruntergeladen werden.</para>
-      <para>Die kivitendo ERP Installationsdatei (<filename>kivitendo-erp-3.3.0.tgz</filename>) wird im Dokumentenverzeichnis des Webservers
+     <para>Die kivitendo ERP Installationsdatei (<filename>kivitendo-erp-3.4.0.tgz</filename>) wird im Dokumentenverzeichnis des Webservers
       (z.B.  <filename>/var/www/html/</filename>, <filename>/srv/www/htdocs</filename> oder <filename>/var/www/</filename>) entpackt:</para>
 
       <programlisting>cd /var/www
-tar xvzf kivitendo-erp-3.3.0.tgz</programlisting>
+tar xvzf kivitendo-erp-3.4.0.tgz</programlisting>
 
       <para>Wechseln Sie in das entpackte Verzeichnis:</para>
 
@@ -302,7 +325,7 @@ tar xvzf kivitendo-erp-3.3.0.tgz</programlisting>
       <para>Die Verzeichnisse <filename>users</filename>, <filename>spool</filename> und <filename>webdav</filename> müssen für den Benutzer
       beschreibbar sein, unter dem der Webserver läuft. Die restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- und
       Gruppennamen sind bei verschiedenen Distributionen unterschiedlich (z.B. bei Debian/Ubuntu <constant>www-data</constant>, bei Fedora
-      core <constant>apache</constant> oder bei OpenSUSE <constant>wwwrun</constant>).</para>
+      <constant>apache</constant> oder bei OpenSUSE <constant>wwwrun</constant>).</para>
 
       <para>Der folgende Befehl ändert den Besitzer für die oben genannten
       Verzeichnisse auf einem Debian/Ubuntu-System:</para>
@@ -313,6 +336,21 @@ tar xvzf kivitendo-erp-3.3.0.tgz</programlisting>
       Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in kivitendo angelegt wird:</para>
 
       <programlisting>chown www-data templates users</programlisting>
+        <note>
+         <para>Wir empfehlen eine Installation mittels des Versionsmanagager git. Hierfür muss ein git-Client installiert sein.
+          Damit ist man sehr viel flexibler für zukünftige Upgrades.
+          Installations-Anleitung (bitte die Pfade anpassen) bspw. wie folgt:
+          <programlisting>cd /usr/local/src/
+git clone https://github.com/kivitendo/kivitendo-erp.git
+cd kivitendo-erp/
+git checkout `git tag -l | egrep -ve "(beta|rc)" | tail -1`</programlisting>
+          Sehr sinnvoll ist es, direkt im Anschluss einen eigenen Branch zu erzeugen, um bspw. seine eigenen Druckvorlagen-Anpassungen
+          damit zu verwalten. Hierfür reicht ein simples
+          <programlisting>  git checkout -b meine_eigenen_änderungen</programlisting>
+          nach dem letzten Kommando (weiterführende Informationen
+<ulink          url="http://git-scm.com/book/en/v2/Getting-Started-Git-Basics">getting started with git</ulink>).
+         </para>
+        </note>
     </sect1>
 
     <sect1 id="config.config-file">
@@ -419,10 +457,8 @@ password =</programlisting>
         <para>kivitendo bringt eine eigene Komponente zur zeitgesteuerten Ausführung bestimmter Aufgaben mit, den <link
         linkend="config.task-server">Taskserver</link>. Er wird u.a. für Features wie die <link
         linkend="features.periodic-invoices">wiederkehrenden Rechnungen</link> benötigt, erledigt aber auch andere erforderliche Aufgaben
-        und muss daher in Betrieb genommen werden. Der Taskserver benötigt zwei Konfigurationseinstellungen, die unter
-        <varname>[task_server]</varname> anzugeben sind: ein Mandant (entweder der Mandantenname oder eine Datenbank-ID, Variable
-        <varname>client</varname>), aus dem die Datenbankkonfiguration entnommen wird, sowie ein Login (Variable <varname>login</varname>)
-        eines Benutzers, der für gewisse Dinge wie die Rechnungserstellung als Verkäufer eingetragen wird.</para>
+        und muss daher in Betrieb genommen werden. Seine Einrichtung wird im Abschnitt <link linkend="config.task-server">Task-Server</link>
+        genauer beschrieben.</para>
 
         <para>Für Entwickler finden sich unter <varname>[debug]</varname>
         wichtige Funktionen, um die Fehlersuche zu erleichtern.</para>
@@ -517,8 +553,15 @@ psql template1</programlisting>
 
         führen Sie die folgenden Kommandos aus:</para>
 
-        <programlisting>create language 'plpgsql';
+        <programlisting>CREATE EXTENSION IF NOT EXISTS plpgsql;
 \q</programlisting>
+
+       <note>
+        <para><literal>CREATE EXTENSION</literal> ist seit Version 9.1 die bevorzugte Syntax um die Sprache <literal>plpgsql</literal> 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.</para>
+        <programlisting>CREATE LANGUAGE 'plpgsql';
+\q</programlisting>
+       </note>
+
       </sect2>
 
       <sect2 id="Datenbankbenutzer-anlegen">
@@ -560,10 +603,11 @@ exit</programlisting>
         anderen Datei hinzu, die beim Starten des Webservers eingelesen
         wird:</para>
 
-        <programlisting>AddHandler cgi-script .pl
+        <programlisting>AliasMatch ^/kivitendo-erp/[^/]+\.pl /var/www/kivitendo-erp/dispatcher.pl
 Alias /kivitendo-erp/ /var/www/kivitendo-erp/
 
 &lt;Directory /var/www/kivitendo-erp&gt;
+ AddHandler cgi-script .pl
  Options ExecCGI Includes FollowSymlinks
 &lt;/Directory&gt;
 
@@ -697,22 +741,20 @@ Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
 &lt;Directory /path/to/kivitendo-erp&gt;
   AllowOverride All
   Options ExecCGI Includes FollowSymlinks
-  Order Allow,Deny
-  Allow from All
+  Require all granted
 &lt;/Directory&gt;
 
 &lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
-  Order Deny,Allow
-  Deny from All
+Require all granted
 &lt;/DirectoryMatch&gt;</programlisting>
 
           <warning>
-            <para>Im Vergleich zu Apache 2.2 hat sich in Apache 2.4 die Syntax der Directorydirektiven verändert. Statt</para>
+            <para>Wer einen älteren Apache als Version 2.4 im Einsatz hat, muss entsprechend die Syntax der Directorydirektiven verändert. Statt</para>
+              <programlisting>Require all granted</programlisting>
+            <para> muß man Folgendes einstellen:</para>
               <programlisting>
   Order Allow,Deny
   Allow from All </programlisting>
-            <para> muß man jetzt Folgendes einstellen:</para>
-              <programlisting>Require all granted</programlisting>
           </warning>
 
           <para>Seit mod_fcgid-Version 2.3.6 gelten sehr kleine Grenzen für
@@ -781,6 +823,12 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
       diese zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess wird u.a. für die Erzeugung der wiederkehrenden
       Rechnungen und weitere essenzielle Aufgaben benutzt.</para>
 
+      <para>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.</para>
+
+      <para>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.</para>
+
       <sect2 id="Konfiguration-des-Task-Servers">
         <title>Verfügbare und notwendige Konfigurationsoptionen</title>
 
@@ -790,28 +838,6 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
         Optionen sind:</para>
 
         <variablelist>
-          <varlistentry>
-            <term><varname>client</varname></term>
-
-            <listitem>
-              <para>Name oder Datenbank-ID eines vorhandenen kivitendo-Mandanten, der benutzt wird, um die zu verwendende
-              Datenbankverbindung auszulesen. Der Mandant muss in der Administration angelegt werden. Diese Option muss angegeben
-              werden.</para>
-
-              <para>Diese Option kam mit Release v3.x.0 hinzu und muss daher in Konfigurationen, die von älteren Versionen aktualisiert
-              wurden, ergänzt werden.</para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><varname>login</varname></term>
-
-            <listitem>
-              <para>gültiger kivitendo-Benutzername, der z.B. als Verkäufer beim Erzeugen wiederkehrender Rechnungen benötigt wird. Der
-              Benutzer muss in der Administration angelegt werden. Diese Option muss angegeben werden.</para>
-            </listitem>
-          </varlistentry>
-
           <varlistentry>
             <term><varname>run_as</varname></term>
 
@@ -822,7 +848,7 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
               Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
               (siehe see <xref
               linkend="Manuelle-Installation-des-Programmpaketes" />). Daher
-              ist es sinnvoll, hier denselben Systembenutzer einzutragen,
+              ist es erforderlich, hier denselben Systembenutzer einzutragen,
               unter dem auch der Webserver läuft.</para>
             </listitem>
           </varlistentry>
@@ -837,6 +863,17 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
         </variablelist>
       </sect2>
 
+      <sect2 id="Konfiguration-der-Mandanten-fuer-den-Task-Servers">
+        <title>Konfiguration der Mandanten für den Task-Server</title>
+
+        <para>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.</para>
+
+        <para>Ist in dieser Einstellung keine Benutzerkennung ausgewählt, so wird der Task-Server für diesen Mandanten keine Aufgaben
+        ausführen.</para>
+      </sect2>
+
       <sect2 id="Einbinden-in-den-Boot-Prozess">
         <title>Automatisches Starten des Task-Servers beim Booten</title>
 
@@ -851,7 +888,7 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
         anstelle eines symbolischen Links verwendet werden können.</para>
 
         <sect3>
-          <title>SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora Core)</title>
+          <title>SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora)</title>
 
           <para>Kopieren Sie die Datei
           <filename>scripts/boot/system-v/kivitendo-task-server</filename>
@@ -870,7 +907,7 @@ insserv kivitendo-task-server</programlisting>
             </listitem>
 
             <listitem>
-              <para>Ältere OpenSUSE und ältere Fedora Core:</para>
+              <para>Ältere OpenSUSE und ältere Fedora:</para>
 
               <programlisting>chkconfig --add kivitendo-task-server</programlisting>
             </listitem>
@@ -883,7 +920,7 @@ insserv kivitendo-task-server</programlisting>
         </sect3>
 
         <sect3>
-          <title>Upstart-basierende Systeme (z.B. Ubuntu)</title>
+          <title>Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)</title>
 
           <para>Kopieren Sie die Datei
           <filename>scripts/boot/upstart/kivitendo-task-server.conf</filename>
@@ -898,7 +935,7 @@ insserv kivitendo-task-server</programlisting>
         </sect3>
 
         <sect3>
-          <title>systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora Core)</title>
+          <title>systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora, neuere Ubuntu)</title>
 
           <para>Verlinken Sie die Datei <filename>scripts/boot/systemd/kivitendo-task-server.service</filename> nach
           <filename>/etc/systemd/system/</filename>. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
@@ -956,20 +993,6 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
         <para>Dieselben Optionen können auch für die SystemV-basierenden
         Runlevel-Scripte benutzt werden (siehe oben).</para>
       </sect2>
-      <sect2 id="Prozesskontrolle2">
-        <title>Task-Server mit mehreren Mandanten</title>
-
-        <para>Beim Task-Server werden der zu verwendende Mandant und Login-Name des Benutzers, unter dem der Task-Server laufen soll, in die
-        Konfigurationsdatei geschrieben. Hat man mehrere Mandanten, muss man auch mehrere Konfigurationsdateien anlegen.</para>
-
-        <para>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf, wo in der Kategorie <varname>[task_server]</varname> die
-        gewünschten Werte für <varname>client</varname> und <varname>login</varname> eingetragen werden.</para>
-
-        <para>Der alternative Task-Server wird dann mit folgendem Befehl
-        gestartet:</para>
-
-        <programlisting>./scripts/task_server.pl -c config/DATEINAME.conf</programlisting>
-      </sect2>
     </sect1>
 
     <sect1 id="Benutzerauthentifizierung-und-Administratorpasswort">
@@ -1083,7 +1106,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
         <para>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
         gespeichert werden, so muss der Parameter <varname>module</varname>
         den Wert <literal>DB</literal> enthalten. In diesem Fall können sowohl
-        der Administrator als auch die Benutzer selber ihre Psaswörter in
+        der Administrator als auch die Benutzer selber ihre Passwörter in
         kivitendo ändern.</para>
 
         <para>Soll hingegen ein externer LDAP- oder Active-Directory-Server
@@ -1424,18 +1447,6 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
             Verschlüsselung aktiviert werden.</para></listitem>
           </varlistentry>
         </variablelist>
-
-        <para>Wird Verschlüsselung über TLS oder SSL aktiviert, so werden zusätzliche Perl-Module benötigt. Diese sind:</para>
-
-        <itemizedlist>
-          <listitem><para>TLS-Verschlüsselung: Modul <literal>Net::SSLGlue</literal> (Debian-Paketname
-          <literal>libnet-sslglue-perl</literal>, Fedora Core: <literal>perl-Net-SSLGlue</literal>, openSUSE:
-          <literal>perl-Net-SSLGlue</literal></para></listitem>
-
-          <listitem><para>SSL-Verschlüsselung: Modul <literal>Net::SMTP::SSL</literal> (Debian-Paketname
-          <literal>libnet-smtp-ssl-perl</literal>, Fedora Core: <literal>perl-Net-SMTP-SSL</literal>, openSUSE:
-          <literal>perl-Net-SMTP-SSL</literal></para></listitem>
-        </itemizedlist>
       </sect2>
     </sect1>
 
@@ -1446,10 +1457,20 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
       LaTeX System. Am einfachsten ist dazu eine <literal>texlive</literal> Installation. Unter debianoiden Betriebssystemen installiert man
       die Pakete mit:</para>
 
-      <para><programlisting>aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
-  texlive-latex-extra texlive-lang-german texlive-generic-extra</programlisting></para>
+      <para><programlisting>apt-get install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
+  exlive-latex-extra texlive-lang-german texlive-generic-extra</programlisting></para>
 
-      <para>TODO: RPM-Pakete.</para>
+      <para>Für Fedora benötigen Sie die folgenden Pakete:</para>
+
+      <para><programlisting>dnf install texlive-collection-latex texlive-collection-latexextra \
+  texlive-collection-latexrecommended texlive-collection-langgerman \
+  texlive-collection-langenglish</programlisting></para>
+
+      <para>Für openSUSE benötigen Sie die folgenden Pakete:</para>
+
+      <para><programlisting>zypper install texlive-collection-latex texlive-collection-latexextra \
+  texlive-collection-latexrecommended texlive-collection-langgerman \
+  texlive-collection-langenglish</programlisting></para>
 
       <para>kivitendo bringt drei alternative Vorlagensätze mit:</para>
       <itemizedlist>
@@ -2925,7 +2946,7 @@ empfang@revamp-it.ch
               <term><varname>template_meta.language.template_code</varname></term>
 
               <listitem>
-                <para>Vorlagenürzel der verwendeten Sprache, identisch mit dem
+                <para>Vorlagenkürzel der verwendeten Sprache, identisch mit dem
                 Kürzel das im Dateinamen verwendetet wird.</para>
               </listitem>
             </varlistentry>
@@ -3226,6 +3247,15 @@ empfang@revamp-it.ch
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term><varname>gln</varname></term>
+
+              <listitem>
+                <para>GLN (Globale Lokationsnummer)</para>
+              </listitem>
+            </varlistentry>
+
+
             <varlistentry>
               <term><varname>greeting</varname></term>
 
@@ -3319,7 +3349,7 @@ empfang@revamp-it.ch
             </varlistentry>
 
             <varlistentry>
-              <term><varname>shiptodepartment1</varname></term>
+              <term><varname>shiptodepartment_1</varname></term>
 
               <listitem>
                 <para>Abteilung 1 (Lieferadresse) <link
@@ -3328,7 +3358,7 @@ empfang@revamp-it.ch
             </varlistentry>
 
             <varlistentry>
-              <term><varname>shiptodepartment2</varname></term>
+              <term><varname>shiptodepartment_2</varname></term>
 
               <listitem>
                 <para>Abteilung 2 (Lieferadresse) <link
@@ -3354,6 +3384,15 @@ empfang@revamp-it.ch
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term><varname>shiptogln</varname></term>
+
+              <listitem>
+                <para>GLN (Globale Lokationsnummer) (Lieferadresse) <link
+                linkend="dokumentenvorlagen-und-variablen.anmerkung-shipto">*</link></para>
+              </listitem>
+            </varlistentry>
+
             <varlistentry>
               <term><varname>shiptoname</varname></term>
 
@@ -5197,18 +5236,18 @@ Beschreibung: &lt;%description%&gt;
             </para>
           </listitem>
           <listitem>
-            <para><option>Auslagern ohne Bestandsprüfung</option>Das obige Auslagern schlägt fehl, wenn die entsprechende Menge für
+            <para><option>Auslagern ohne Bestandsprüfung</option> Das obige Auslagern schlägt fehl, wenn die entsprechende Menge für
             die Lagerbewegung nicht vorhanden ist, möchte man dies auch ignorieren und ggf. dann nachpflegen, so kann man eine Negativ-Warenmenge mit dieser Option
             erlauben. Hierfür muss ein entsprechender Lagerplatz (Fehlbestand, o.ä.) konfiguriert sein.</para>
           </listitem>
        </itemizedlist>
         Zusätzliche Funktionshinweise:
          <itemizedlist>
-          <listitem><para><option>Standard-Lagerplatz</option>Ist dieser konfiguriert, wird dies auch als Standard-Voreinstellung bei der Neuerfassung von
+          <listitem><para><option>Standard-Lagerplatz</option> Ist dieser konfiguriert, wird dies auch als Standard-Voreinstellung bei der Neuerfassung von
           Stammdaten-> Waren / Dienstleistung / Erzeugnis verwendet.
           </para>
           </listitem>
-          <listitem><para><option>Standard-Lagerplatz verwenden, falls keiner in Stammdaten definiert</option>Wird beim 'Auslagern über Standardlagerplatz'
+          <listitem><para><option>Standard-Lagerplatz verwenden, falls keiner in Stammdaten definiert</option> Wird beim 'Auslagern über Standardlagerplatz'
           keine Standardlagerplatz zu der Ware gefunden, so wird mit dieser Option einfach der Standardlagerplatz verwendet.
           </para>
           </listitem>
@@ -6162,9 +6201,6 @@ sub run {
         are built. Currently the only language fully supported is German, and
         since most of the internal messages are held in English the English
         version is usable too.</para>
-
-        <para>A stub version of French is included but not functunal at this
-        point.</para>
       </sect2>
 
       <sect2 id="translations-languages.character-set"
@@ -6338,6 +6374,43 @@ filenames</programlisting>
               want to keep this safe somewhere.</para>
             </listitem>
           </varlistentry>
+          <varlistentry>
+            <term>more/all</term>
+
+            <listitem>
+              <para>This subdir and file is not a part of the language package
+              itself.</para>
+
+              <para>If the directory more exists and contains a file called all
+              it will be parsed in addition to the mandatory all (see above).
+              The file is useful if you want to change some translations for
+              the current installation without conflicting further upgrades.
+              The file is not autogenerated and has the same format as the all,
+              but needs another key (more_texts). See the german translation
+              for an example or copy the following code:
+              <programlisting>
+#!/usr/bin/perl
+# -*- coding: utf-8; -*-
+# vim: fenc=utf-8
+
+use utf8;
+
+# These are additional texts for custom translations.
+# The format is the same as for the normal file all, only
+# with another key (more_texts instead of texts).
+# The file has the form of 'english text'  => 'foreign text',
+
+$self->{more_texts} = {
+
+  'Ship via'                    => 'Terms of delivery',
+  'Shipping Point'              => 'Delivery time',
+}
+              </programlisting>
+              </para>
+            </listitem>
+          </varlistentry>
+
+
         </variablelist>
       </sect2>
     </sect1>
@@ -6370,19 +6443,19 @@ filenames</programlisting>
         <para>Für die Ausführung werden neben den für kivitendo eh schon benötigten Module noch weitere Perl-Module benötigt. Diese sind:</para>
 
         <itemizedlist>
-          <listitem><para><literal>Test::Deep</literal> (Debian-Paketname: <literal>libtest-deep-perl</literal>; Fedora Core:
+          <listitem><para><literal>Test::Deep</literal> (Debian-Paketname: <literal>libtest-deep-perl</literal>; Fedora:
           <literal>perl-Test-Deep</literal>; openSUSE: <literal>perl-Test-Deep</literal>)</para></listitem>
-          <listitem><para><literal>Test::Exception</literal> (Debian-Paketname: <literal>libtest-exception-perl</literal>; Fedora Core:
+          <listitem><para><literal>Test::Exception</literal> (Debian-Paketname: <literal>libtest-exception-perl</literal>; Fedora:
           <literal>perl-Test-Exception</literal>; openSUSE: <literal>perl-Test-Exception</literal>)</para></listitem>
-          <listitem><para><literal>Test::Output</literal> (Debian-Paketname: <literal>libtest-output-perl</literal>; Fedora Core:
+          <listitem><para><literal>Test::Output</literal> (Debian-Paketname: <literal>libtest-output-perl</literal>; Fedora:
           <literal>perl-Test-Output</literal>; openSUSE: <literal>perl-Test-Output</literal>)</para></listitem>
           <listitem><para><literal>Test::Harness</literal> 3.0.0 oder höher. Dieses Modul ist ab Perl 5.10.1 Bestandteil der
           Perl-Distribution und kann für frühere Versionen aus dem <ulink url="http://www.cpan.org">CPAN</ulink> bezogen
           werden.</para></listitem>
           <listitem><para><literal>LWP::Simple</literal> aus dem Paket <literal>libwww-perl</literal> (Debian-Panetname:
-          <literal>libwww-perl</literal>; Fedora Core: <literal>perl-libwww-perl</literal>; openSUSE:
+          <literal>libwww-perl</literal>; Fedora: <literal>perl-libwww-perl</literal>; openSUSE:
           <literal>perl-libwww-perl</literal>)</para></listitem>
-          <listitem><para><literal>URI::Find</literal> (Debian-Panetname: <literal>liburi-find-perl</literal>; Fedora Core:
+          <listitem><para><literal>URI::Find</literal> (Debian-Panetname: <literal>liburi-find-perl</literal>; Fedora:
           <literal>perl-URI-Find</literal>; openSUSE: <literal>perl-URI-Find</literal>)</para></listitem>
         </itemizedlist>