Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 0e14ae06

Von Andreas Zenklusen vor fast 9 Jahren hinzugefügt

  • ID 0e14ae06e360e5560c691ddfc66068de3c0ed8f8
  • Vorgänger 450d6798
  • Nachfolger edceffec

Dokumentation zum Makroeinsatz in OpenDocument Vorlagen mit Anleitung zur Konfiguration für den Druck von CH-Einzahlungsscheinen

Unterschiede anzeigen:

doc/dokumentation.xml
<para>im Community-Forum: <ulink
url="https://forum.kivitendo.de:32443">https://forum.kivitendo.de:32443</ulink></para>
</listitem>
<listitem>
<para>im Kunden-Forum: <ulink
url="http://redmine.kivitendo-premium.de/projects/forum/boards/">http://redmine.kivitendo-premium.de/projects/forum/boards/</ulink></para>
</listitem>
<listitem>
<para>in der doc/UPGRADE Datei im doc-Verzeichnis der Installation</para>
<para>in der doc/UPGRADE Datei im doc-Verzeichnis der
Installation</para>
</listitem>
<listitem>
<para>Im Schulungs- und Dienstleistungsangebot der entsprechenden kivitendo-Partner: <ulink
<para>Im Schulungs- und Dienstleistungsangebot der entsprechenden
kivitendo-Partner: <ulink
url="http://www.kivitendo.de/partner.html">http://www.kivitendo.de/partner.html</ulink></para>
</listitem>
</itemizedlist>
......
<sect1 id="Installation-Übersicht">
<title>Übersicht</title>
<para>
Die Installation von kivitendo umfasst mehrere Schritte. Die folgende Liste kann sowohl für Neulinge als auch für alte Hasen als
Übersicht und Stichpunktliste zum Abhaken dienen, um eine Version mit minimalen Features möglichst schnell zum Laufen zu kriegen.
</para>
<para>Die Installation von kivitendo umfasst mehrere Schritte. Die
folgende Liste kann sowohl für Neulinge als auch für alte Hasen als
Übersicht und Stichpunktliste zum Abhaken dienen, um eine Version mit
minimalen Features möglichst schnell zum Laufen zu kriegen.</para>
<orderedlist>
<listitem><para><emphasis>Voraussetzungen überprüfen</emphasis>: kivitendo benötigt gewisse Ressourcen und benutzt weitere
Programme. Das Kapitel "<xref linkend="Benötigte-Software-und-Pakete"/>" erläutert diese. Auch die Liste der benötigten Perl-Module
befindet sich hier.</para></listitem>
<listitem>
<para><emphasis>Voraussetzungen überprüfen</emphasis>: kivitendo
benötigt gewisse Ressourcen und benutzt weitere Programme. Das
Kapitel "<xref linkend="Benötigte-Software-und-Pakete"/>" erläutert
diese. Auch die Liste der benötigten Perl-Module befindet sich
hier.</para>
</listitem>
<listitem><para><emphasis>Installation von kivitendo</emphasis>: Diese umfasst die "<xref
linkend="Manuelle-Installation-des-Programmpaketes"/>" sowie grundlegende Einstellungen, die der "<xref
linkend="config.config-file"/>" erläutert.</para></listitem>
<listitem>
<para><emphasis>Installation von kivitendo</emphasis>: Diese umfasst
die "<xref linkend="Manuelle-Installation-des-Programmpaketes"/>"
sowie grundlegende Einstellungen, die der "<xref
linkend="config.config-file"/>" erläutert.</para>
</listitem>
<listitem><para><emphasis>Konfiguration externer Programme</emphasis>: hierzu gehören die Datenbank ("<xref
linkend="Anpassung-der-PostgreSQL-Konfiguration"/>") und der Webserver ("<xref
linkend="Apache-Konfiguration"/>"). </para></listitem>
<listitem>
<para><emphasis>Konfiguration externer Programme</emphasis>: hierzu
gehören die Datenbank ("<xref
linkend="Anpassung-der-PostgreSQL-Konfiguration"/>") und der
Webserver ("<xref linkend="Apache-Konfiguration"/>").</para>
</listitem>
<listitem><para><emphasis>Benutzerinformationen speichern können</emphasis>: man benötigt mindestens eine Datenbank, in der
Informationen zur Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man das als Administrator macht, verrät "<xref
linkend="Benutzerauthentifizierung-und-Administratorpasswort"/>".</para></listitem>
<listitem>
<para><emphasis>Benutzerinformationen speichern können</emphasis>:
man benötigt mindestens eine Datenbank, in der Informationen zur
Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man
das als Administrator macht, verrät "<xref
linkend="Benutzerauthentifizierung-und-Administratorpasswort"/>".</para>
</listitem>
<listitem><para><emphasis>Benutzer, Gruppen und Datenbanken anlegen</emphasis>: wie dies alles zusammenspielt erläutert "<xref
linkend="Benutzer--und-Gruppenverwaltung"/>".</para></listitem>
<listitem>
<para><emphasis>Benutzer, Gruppen und Datenbanken
anlegen</emphasis>: wie dies alles zusammenspielt erläutert "<xref
linkend="Benutzer--und-Gruppenverwaltung"/>".</para>
</listitem>
<listitem><para><emphasis>Los geht's</emphasis>: alles soweit erledigt? Dann kann es losgehen: "<xref
linkend="kivitendo-ERP-verwenden"/>"</para></listitem>
<listitem>
<para><emphasis>Los geht's</emphasis>: alles soweit erledigt? Dann
kann es losgehen: "<xref linkend="kivitendo-ERP-verwenden"/>"</para>
</listitem>
</orderedlist>
<para>
Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und sollten vor einer ernsthaften Inbetriebnahme gelesen
werden.
</para>
<para>Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls
wichtig und sollten vor einer ernsthaften Inbetriebnahme gelesen
werden.</para>
</sect1>
<sect1 id="Benötigte-Software-und-Pakete">
......
dass kivitendo auf ihnen läuft:</para>
<itemizedlist>
<listitem>
<para>Debian</para>
<itemizedlist>
<listitem>
<para>7.0 "Wheezy"</para>
</listitem>
<listitem>
<para>8.0 "Jessie"</para>
</listitem>
<listitem>
<para>7.0 "Wheezy"</para>
</listitem>
<listitem>
<para>8.0 "Jessie"</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Ubuntu 12.04 LTS "Precise Pangolin", 14.04 "Trusty Tahr" LTS, 15.10 "Wily Werewolf" und 16.04 "Xenial Xerus" LTS Alpha </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>
......
Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.4)
benötigt.</para>
<para>Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind. Um zu
überprüfen, ob die erforderlichen Pakete installiert und aktuell genug sind, wird ein Script mitgeliefert, das wie folgt aufgerufen
wird:</para>
<para>Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht
Bestandteil einer Standard-Perl-Installation sind. Um zu überprüfen,
ob die erforderlichen Pakete installiert und aktuell genug sind, wird
ein Script mitgeliefert, das wie folgt aufgerufen wird:</para>
<programlisting>./scripts/installation_check.pl</programlisting>
<para>Die vollständige Liste der benötigten Perl-Module lautet:</para>
<itemizedlist>
<listitem><para><literal>parent</literal> (nur bei Perl vor 5.10.1)</para></listitem>
<listitem>
<para><literal>parent</literal> (nur bei Perl vor 5.10.1)</para>
</listitem>
<listitem><para><literal>Archive::Zip</literal></para></listitem>
<listitem>
<para><literal>Archive::Zip</literal></para>
</listitem>
<listitem><para><literal>Algorithm::CheckDigits</literal></para></listitem>
<listitem>
<para><literal>Algorithm::CheckDigits</literal></para>
</listitem>
<listitem><para><literal>CGI</literal></para></listitem>
<listitem>
<para><literal>CGI</literal></para>
</listitem>
<listitem><para><literal>Clone</literal></para></listitem>
<listitem>
<para><literal>Clone</literal></para>
</listitem>
<listitem><para><literal>Config::Std</literal></para></listitem>
<listitem>
<para><literal>Config::Std</literal></para>
</listitem>
<listitem><para><literal>DateTime</literal></para></listitem>
<listitem>
<para><literal>DateTime</literal></para>
</listitem>
<listitem><para><literal>DateTime::Format::Strptime</literal></para></listitem>
<listitem>
<para><literal>DateTime::Format::Strptime</literal></para>
</listitem>
<listitem><para><literal>DBI</literal></para></listitem>
<listitem>
<para><literal>DBI</literal></para>
</listitem>
<listitem><para><literal>DBD::Pg</literal></para></listitem>
<listitem>
<para><literal>DBD::Pg</literal></para>
</listitem>
<listitem><para><literal>Email::Address</literal></para></listitem>
<listitem>
<para><literal>Email::Address</literal></para>
</listitem>
<listitem><para><literal>Email::MIME</literal></para></listitem>
<listitem>
<para><literal>Email::MIME</literal></para>
</listitem>
<listitem><para><literal>FCGI</literal> (nicht Versionen 0.68 bis 0.71 inklusive; siehe <xref linkend="Apache-Konfiguration.FCGI.WebserverUndPlugin"/>)</para></listitem>
<listitem>
<para><literal>FCGI</literal> (nicht Versionen 0.68 bis 0.71
inklusive; siehe <xref
linkend="Apache-Konfiguration.FCGI.WebserverUndPlugin"/>)</para>
</listitem>
<listitem><para><literal>File::Copy::Recursive</literal></para></listitem>
<listitem>
<para><literal>File::Copy::Recursive</literal></para>
</listitem>
<listitem><para><literal>GD</literal></para></listitem>
<listitem>
<para><literal>GD</literal></para>
</listitem>
<listitem><para><literal>HTML::Parser</literal></para></listitem>
<listitem>
<para><literal>HTML::Parser</literal></para>
</listitem>
<listitem><para><literal>HTML::Restrict</literal></para></listitem>
<listitem>
<para><literal>HTML::Restrict</literal></para>
</listitem>
<listitem><para><literal>Image::Info</literal></para></listitem>
<listitem>
<para><literal>Image::Info</literal></para>
</listitem>
<listitem><para><literal>JSON</literal></para></listitem>
<listitem>
<para><literal>JSON</literal></para>
</listitem>
<listitem><para><literal>List::MoreUtils</literal></para></listitem>
<listitem>
<para><literal>List::MoreUtils</literal></para>
</listitem>
<listitem><para><literal>List::UtilsBy</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>Net::SMTP::SSL</literal> (optional, bei
E-Mail-Versand über SSL; siehe Abschnitt "<xref
linkend="config.sending-email.smtp"/>")</para>
</listitem>
<listitem><para><literal>Net::SSLGlue</literal> (optional, bei E-Mail-Versand über TLS; siehe Abschnitt "<xref
linkend="config.sending-email.smtp"/>")</para></listitem>
<listitem>
<para><literal>Net::SSLGlue</literal> (optional, bei
E-Mail-Versand über TLS; siehe Abschnitt "<xref
linkend="config.sending-email.smtp"/>")</para>
</listitem>
<listitem><para><literal>Params::Validate</literal></para></listitem>
<listitem>
<para><literal>Params::Validate</literal></para>
</listitem>
<listitem><para><literal>PBKDF2::Tiny</literal></para></listitem>
<listitem>
<para><literal>PBKDF2::Tiny</literal></para>
</listitem>
<listitem><para><literal>PDF::API2</literal></para></listitem>
<listitem>
<para><literal>PDF::API2</literal></para>
</listitem>
<listitem><para><literal>Rose::Object</literal></para></listitem>
<listitem>
<para><literal>Rose::Object</literal></para>
</listitem>
<listitem><para><literal>Rose::DB</literal></para></listitem>
<listitem>
<para><literal>Rose::DB</literal></para>
</listitem>
<listitem><para><literal>Rose::DB::Object</literal> Version 0.788 oder neuer</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>String::ShellQuote</literal></para>
</listitem>
<listitem><para><literal>Sort::Naturally</literal></para></listitem>
<listitem>
<para><literal>Sort::Naturally</literal></para>
</listitem>
<listitem><para><literal>Template</literal></para></listitem>
<listitem>
<para><literal>Template</literal></para>
</listitem>
<listitem><para><literal>Text::CSV_XS</literal></para></listitem>
<listitem>
<para><literal>Text::CSV_XS</literal></para>
</listitem>
<listitem><para><literal>Text::Iconv</literal></para></listitem>
<listitem>
<para><literal>Text::Iconv</literal></para>
</listitem>
<listitem><para><literal>URI</literal></para></listitem>
<listitem>
<para><literal>URI</literal></para>
</listitem>
<listitem><para><literal>XML::Writer</literal></para></listitem>
<listitem>
<para><literal>XML::Writer</literal></para>
</listitem>
<listitem><para><literal>YAML</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>
<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 v2.7.0 sind die folgenden Pakete hinzugekommen: <literal>Email::MIME</literal>, <literal>Net::SMTP::SSL</literal>,
<para>Seit v3.0.0 sind die folgenden Pakete hinzugekommen:
<literal>File::Copy::Recursive</literal>.</para>
<para>Seit v2.7.0 sind die folgenden Pakete hinzugekommen:
<literal>Email::MIME</literal>, <literal>Net::SMTP::SSL</literal>,
<literal>Net::SSLGlue</literal>.</para>
<para>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
......
<sect3>
<title>Debian und Ubuntu</title>
<para>Für Debian und Ubuntu stehen die meisten der benötigten Perl-Pakete als Debian-Pakete zur Verfügung. Sie können mit folgendem Befehl installiert werden:</para>
<para>Für Debian und Ubuntu stehen die meisten der benötigten
Perl-Pakete als Debian-Pakete zur Verfügung. Sie können mit
folgendem Befehl installiert werden:</para>
<programlisting>apt-get install apache2 libarchive-zip-perl libclone-perl \
libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-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>
<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
cpan HTML::Restrict</programlisting>
</sect3>
......
<sect3>
<title>Fedora</title>
<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>
<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>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-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>
<para>Zusätzlich müssen einige Pakete aus dem CPAN installiert
werden. Dazu können Sie die folgenden Befehle nutzen:</para>
<programlisting>cpan Config::Std HTML::Restrict</programlisting>
</sect3>
<sect3>
<title>openSUSE</title>
<para>Für openSUSE stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
<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 apache2-mod_fcgid perl-Archive-Zip perl-Clone \
......
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>
<para>Zusätzlich müssen einige Pakete aus dem CPAN installiert
werden. Dazu können Sie die folgenden Befehle nutzen:</para>
<programlisting>cpan Rose::Db::Object</programlisting>
</sect3>
</sect2>
</sect1>
......
<sect1 id="Manuelle-Installation-des-Programmpaketes"
xreflabel="Manuelle Installation des Programmpaketes">
<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.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>
<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.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.4.0.tgz</programlisting>
......
Webserverkonfiguration benutzen, um auf das tatsächliche
Installationsverzeichnis zu verweisen.</para>
<para>Bei einer Neuinstallation von Version 3.1.0 oder später muß das WebDAV Verzeichnis derzeit manuell angelegt werden:</para>
<para>Bei einer Neuinstallation von Version 3.1.0 oder später muß das
WebDAV Verzeichnis derzeit manuell angelegt werden:</para>
<programlisting>mkdir webdav</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
<constant>apache</constant> oder bei OpenSUSE <constant>wwwrun</constant>).</para>
<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
<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>
<programlisting>chown -R www-data users spool webdav</programlisting>
<para>Weiterhin muss der Webserver-Benutzer in den Verzeichnissen <filename>templates</filename> und <filename>users</filename>
Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in kivitendo angelegt wird:</para>
<para>Weiterhin muss der Webserver-Benutzer in den Verzeichnissen
<filename>templates</filename> und <filename>users</filename>
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/
<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>
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">
......
xreflabel="Einführung in die Konfigurationsdatei">
<title>Einführung</title>
<para>In kivitendo gibt es nur noch eine Konfigurationsdatei,
die benötigt wird: <filename>config/kivitendo.conf</filename> (kurz:
"die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation
von kivitendo bzw. der Migration von älteren Versionen angelegt
<para>In kivitendo gibt es nur noch eine Konfigurationsdatei, die
benötigt wird: <filename>config/kivitendo.conf</filename> (kurz: "die
Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation von
kivitendo bzw. der Migration von älteren Versionen angelegt
werden.</para>
<para>Als Vorlage dient die Datei
......
abweichen.</para>
<note>
<para>
Vor der Umbenennung in kivitendo hieß diese Datei noch <filename>config/lx_office.conf</filename>. Aus Gründen der Kompatibilität
wird diese Datei eingelesen, sofern die Datei <filename>config/kivitendo.conf</filename> nicht existiert.
</para>
<para>Vor der Umbenennung in kivitendo hieß diese Datei noch
<filename>config/lx_office.conf</filename>. Aus Gründen der
Kompatibilität wird diese Datei eingelesen, sofern die Datei
<filename>config/kivitendo.conf</filename> nicht existiert.</para>
</note>
<para>Diese Hauptkonfigurationsdatei ist dann eine
......
entsprechend kommentiert sind:</para>
<itemizedlist>
<listitem><para><literal>authentication</literal> (siehe Abschnitt "<xref
linkend="Benutzerauthentifizierung-und-Administratorpasswort"/>" in diesem Kapitel)</para></listitem>
<listitem><para><literal>authentication/database</literal></para></listitem>
<listitem>
<para><literal>authentication</literal> (siehe Abschnitt "<xref
linkend="Benutzerauthentifizierung-und-Administratorpasswort"/>"
in diesem Kapitel)</para>
</listitem>
<listitem><para><literal>authentication/ldap</literal></para></listitem>
<listitem>
<para><literal>authentication/database</literal></para>
</listitem>
<listitem><para><literal>system</literal></para></listitem>
<listitem>
<para><literal>authentication/ldap</literal></para>
</listitem>
<listitem><para><literal>paths</literal></para></listitem>
<listitem>
<para><literal>system</literal></para>
</listitem>
<listitem><para><literal>mail_delivery</literal> (siehe Abschnitt "<xref linkend="config.sending-email.smtp"/>)</para></listitem>
<listitem>
<para><literal>paths</literal></para>
</listitem>
<listitem><para><literal>applications</literal></para></listitem>
<listitem>
<para><literal>mail_delivery</literal> (siehe Abschnitt "<xref
linkend="config.sending-email.smtp"/>)</para>
</listitem>
<listitem><para><literal>environment</literal></para></listitem>
<listitem>
<para><literal>applications</literal></para>
</listitem>
<listitem>
<para><literal>environment</literal></para>
</listitem>
<listitem><para><literal>print_templates</literal></para></listitem>
<listitem>
<para><literal>print_templates</literal></para>
</listitem>
<listitem><para><literal>task_server</literal></para></listitem>
<listitem>
<para><literal>task_server</literal></para>
</listitem>
<listitem><para><literal>periodic_invoices</literal></para></listitem>
<listitem>
<para><literal>periodic_invoices</literal></para>
</listitem>
<listitem><para><literal>self_tests</literal></para></listitem>
<listitem>
<para><literal>self_tests</literal></para>
</listitem>
<listitem><para><literal>console</literal></para></listitem>
<listitem>
<para><literal>console</literal></para>
</listitem>
<listitem><para><literal>testing</literal></para></listitem>
<listitem>
<para><literal>testing</literal></para>
</listitem>
<listitem><para><literal>testing/database</literal></para></listitem>
<listitem>
<para><literal>testing/database</literal></para>
</listitem>
<listitem><para><literal>debug</literal></para></listitem>
<listitem>
<para><literal>debug</literal></para>
</listitem>
</itemizedlist>
<para>Die üblicherweise wichtigsten Parameter, die am Anfang
......
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
mit Informationen über die erstellten Rechnungen bekommt.</para>
<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. Seine Einrichtung wird im Abschnitt <link linkend="config.task-server">Task-Server</link>
genauer beschrieben.</para>
<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. 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>
......
<sect2 id="Zeichensätze-die-Verwendung-von-UTF-8">
<title>Zeichensätze/die Verwendung von Unicode/UTF-8</title>
<para>kivitendo setzt zwingend voraus, dass die Datenbank Unicode/UTF-8 als Encoding einsetzt. Bei aktuellen Serverinstallationen
braucht man hier meist nicht einzugreifen.</para>
<para>kivitendo setzt zwingend voraus, dass die Datenbank
Unicode/UTF-8 als Encoding einsetzt. Bei aktuellen
Serverinstallationen braucht man hier meist nicht einzugreifen.</para>
<para>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:</para>
<para>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:</para>
<programlisting>su postgres
echo '\l' | psql
......
<para>In der Datei <filename>pg_hba.conf</filename>, die im gleichen
Verzeichnis wie die <filename>postgresql.conf</filename> 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:</para>
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:</para>
<programlisting>local all kivitendo password
host all kivitendo 127.0.0.1 255.255.255.255 password</programlisting>
......
Unterstützung für servergespeicherte Prozeduren eingerichet werden.
Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an:
<programlisting>su - postgres
psql template1</programlisting>
führen Sie die folgenden Kommandos aus:</para>
psql template1</programlisting> führen Sie die folgenden Kommandos aus:</para>
<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>
<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">
......
anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
können:</para>
<para>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.</para>
<programlisting>su - postgres
<para>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.</para>
<programlisting>su - postgres
createuser -d -P kivitendo
exit</programlisting>
<para>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” bzw.
den hier gewählten Benutzernamen.</para>
Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo”
bzw. den hier gewählten Benutzernamen.</para>
</sect2>
</sect1>
......
<note>
<para>Für einen deutlichen Performanceschub sorgt die Ausführung
mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
<xref linkend="Apache-Konfiguration.FCGI" /> beschrieben.</para>
<xref linkend="Apache-Konfiguration.FCGI"/> beschrieben.</para>
</note>
<para>Der Zugriff auf das Programmverzeichnis muss in der Apache
......
<note>
<para>Vor den einzelnen Optionen muss bei einigen Distributionen ein
Plus ‘<literal>+</literal>’ gesetzt werden.</para>
<para>Bei einigen Distribution (Ubuntu ab 14.04, Debian ab 8.2) muss noch explizit
das cgi-Modul mittels <programlisting>a2enmod cgi</programlisting> aktiviert
werden.</para>
<para>Bei einigen Distribution (Ubuntu ab 14.04, Debian ab 8.2) muss
noch explizit das cgi-Modul mittels <programlisting>a2enmod cgi</programlisting>
aktiviert werden.</para>
</note>
<para>Auf einigen Webservern werden manchmal die Grafiken und
......
verwendet.</para>
<warning>
<para>FCGI-Versionen ab 0.69 und bis zu 0.71 inklusive sind extrem strict in der Behandlung von Unicode, und verweigern
bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrer Installation gibt, muss zwingend Version 0.68 oder
aber Version 0.72 und neuer eingesetzt werden.</para>
<para>FCGI-Versionen ab 0.69 und bis zu 0.71 inklusive sind extrem
strict in der Behandlung von Unicode, und verweigern bestimmte
Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrer
Installation gibt, muss zwingend Version 0.68 oder aber Version
0.72 und neuer eingesetzt werden.</para>
<para>Mit <ulink url="http://www.cpan.org">CPAN</ulink> lässt sie sich die Vorgängerversion wie folgt
installieren:</para>
<para>Mit <ulink url="http://www.cpan.org">CPAN</ulink> lässt sie
sich die Vorgängerversion wie folgt installieren:</para>
<programlisting>force install M/MS/MSTROUT/FCGI-0.68.tar.gz</programlisting>
</warning>
......
&lt;/DirectoryMatch&gt;</programlisting>
<warning>
<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>
<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>
</warning>
......
<programlisting>FcgidMaxRequestLen 10485760</programlisting>
<para>Das Ganze sollte dann so aussehen:</para>
<programlisting>AddHandler fcgid-script .fpl
......
FastCGI-Version.</para>
</sect3>
</sect2>
<sect2>
<title>Weitergehende Konfiguration</title>
<para>Für einen deutlichen Sicherheitsmehrwert sorgt die Ausführung von kivitendo
nur über https-verschlüsselten Verbindungen, sowie weiteren Zusatzmassnahmen,
wie beispielsweise Basic Authenticate.
Die Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser Anleitung, hier ein
Hinweis auf einen entsprechenden <ulink
url="http://redmine.kivitendo-premium.de/boards/1/topics/142">Foreneintrag (Stand Sept. 2015)</ulink></para>
<para>Für einen deutlichen Sicherheitsmehrwert sorgt die Ausführung
von kivitendo nur über https-verschlüsselten Verbindungen, sowie
weiteren Zusatzmassnahmen, wie beispielsweise Basic Authenticate. Die
Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser
Anleitung, hier ein Hinweis auf einen entsprechenden <ulink
url="http://redmine.kivitendo-premium.de/boards/1/topics/142">Foreneintrag
(Stand Sept. 2015)</ulink></para>
</sect2>
</sect1>
<sect1 id="config.task-server">
<title>Der Task-Server</title>
<para>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 u.a. für die Erzeugung der wiederkehrenden
Rechnungen und weitere essenzielle Aufgaben benutzt.</para>
<para>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 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>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>
<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>
......
angegebenen Systembenutzer. Der Systembenutzer muss dieselben
Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
(siehe see <xref
linkend="Manuelle-Installation-des-Programmpaketes" />). Daher
linkend="Manuelle-Installation-des-Programmpaketes"/>). Daher
ist es erforderlich, hier denselben Systembenutzer einzutragen,
unter dem auch der Webserver läuft.</para>
</listitem>
......
<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 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
<para>Ist in dieser Einstellung keine Benutzerkennung ausgewählt, so
wird der Task-Server für diesen Mandanten keine Aufgaben
ausführen.</para>
</sect2>
......
anstelle eines symbolischen Links verwendet werden können.</para>
<sect3>
<title>SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora)</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>
......
</sect3>
<sect3>
<title>systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora, neuere Ubuntu)</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
<literal>ExecStart=....</literal> und <literal>ExecStop=...</literal>). Binden Sie das Script in den Boot-Prozess ein.
</para>
<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
<literal>ExecStart=....</literal> und
<literal>ExecStop=...</literal>). Binden Sie das Script in den
Boot-Prozess ein.</para>
<para>Alle hierzu benötigten Befehle sehen so aus:</para>
......
<sect2 id="Administratorpasswort">
<title>Administratorpasswort</title>
<para>Das Passwort, das zum Zugriff auf das Administrationsinterface von kivitendo
benutzt wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch
nur dort und nicht mehr im Administrationsinterface selber geändert
werden. Der Parameter dazu heißt <varname>admin_password</varname> im
Abschnitt <varname>[authentication]</varname>.</para>
<para>Das Passwort, das zum Zugriff auf das Administrationsinterface
von kivitendo benutzt wird, wird ebenfalls in dieser Datei
gespeichert. Es kann auch nur dort und nicht mehr im
Administrationsinterface selber geändert werden. Der Parameter dazu
heißt <varname>admin_password</varname> im Abschnitt
<varname>[authentication]</varname>.</para>
</sect2>
<sect2 id="Authentifizierungsdatenbank">
......
<sect1 id="Benutzer--und-Gruppenverwaltung">
<title>Mandanten-, Benutzer- und Gruppenverwaltung</title>
<para>Nach der Installation müssen Mandanten, Benutzer, Gruppen und Datenbanken angelegt werden. Dieses geschieht im
Administrationsmenü, das Sie unter folgender URL finden:</para>
<para>Nach der Installation müssen Mandanten, Benutzer, Gruppen und
Datenbanken angelegt werden. Dieses geschieht im Administrationsmenü,
das Sie unter folgender URL finden:</para>
<para><ulink
url="http://localhost/kivitendo-erp/controller.pl?action=Admin/login">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</ulink></para>
......
<sect2 id="Zusammenhänge">
<title>Zusammenhänge</title>
<para>kivitendo verwaltet zwei Sets von Daten, die je nach Einrichtung in einer oder zwei Datenbanken gespeichert werden.</para>
<para>Das erste Set besteht aus Anmeldeinformationen: welche Benutzer und Mandanten gibt es, welche Gruppen, welche BenutzerIn hat
Zugriff auf welche Mandanten, und welche Gruppe verfügt über welche Rechte. Diese Informationen werden in der
Authentifizierungsdatenbank gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter in der Konfigurationsdatei
<filename>config/kivitendo.conf</filename> gespeichert werden.</para>
<para>Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines Mandanten, wie beispielsweise die Stammdaten (Kunden, Lieferanten, Waren) und Belege
(Angebote, Lieferscheine, Rechnungen). Diese werden in einer Mandantendatenbank gespeichert. Die
Verbindungsinformationen einer solchen Mandantendatenbank werden im Administrationsbereich konfiguriert, indem man einen Mandanten
anlegt und dort die Parameter einträgt. Dabei hat jeder Mandant eine eigene Datenbank.</para>
<para>Aufgrund des Datenbankdesigns ist es für einfache Fälle möglich, die Authentifizierungsdatenbank und eine der
Mandantendatenbanken in ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit mehr als einem Mandanten, wird
empfohlen, für die Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die nicht gleichzeitig für einen Mandanten
verwendet wird.</para>
</sect2>
<para>kivitendo verwaltet zwei Sets von Daten, die je nach Einrichtung
in einer oder zwei Datenbanken gespeichert werden.</para>
<para>Das erste Set besteht aus Anmeldeinformationen: welche Benutzer
und Mandanten gibt es, welche Gruppen, welche BenutzerIn hat Zugriff
auf welche Mandanten, und welche Gruppe verfügt über welche Rechte.
Diese Informationen werden in der Authentifizierungsdatenbank
gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter
in der Konfigurationsdatei <filename>config/kivitendo.conf</filename>
gespeichert werden.</para>
<para>Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines
Mandanten, wie beispielsweise die Stammdaten (Kunden, Lieferanten,
Waren) und Belege (Angebote, Lieferscheine, Rechnungen). Diese werden
in einer Mandantendatenbank gespeichert. Die Verbindungsinformationen
einer solchen Mandantendatenbank werden im Administrationsbereich
konfiguriert, indem man einen Mandanten anlegt und dort die Parameter
einträgt. Dabei hat jeder Mandant eine eigene Datenbank.</para>
<para>Aufgrund des Datenbankdesigns ist es für einfache Fälle möglich,
die Authentifizierungsdatenbank und eine der Mandantendatenbanken in
ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit
mehr als einem Mandanten, wird empfohlen, für die
Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die
nicht gleichzeitig für einen Mandanten verwendet wird.</para>
</sect2>
<sect2 id="Mandanten-Benutzer-Gruppen">
<title>Mandanten, Benutzer und Gruppen</title>
<para>kivitendos Administration kennt Mandanten, Benutzer und Gruppen, die sich frei zueinander zuordnen lassen.</para>
<para>kivitendo kann mehrere Mandaten aus einer Installation heraus verwalten. Welcher Mandant benutzt wird, kann direkt beim Login
ausgewählt werden. Für jeden Mandanten wird ein eindeutiger Name vergeben, der beim Login angezeigt wird. Weiterhin benötigt der
Mandant Datenbankverbindungsparameter für seine Mandantendatenbank. Diese sollte über die <link
linkend="Datenbanken-anlegen">Datenbankverwaltung</link> geschehen.</para>
<para>Ein Benutzer ist eine Person, die Zugriff auf kivitendo erhalten soll. Sie erhält einen Loginnamen sowie ein
Passwort. Weiterhin legt der Administrator fest, an welchen Mandanten sich ein Benutzer anmelden kann, was beim Login verifiziert
wird.</para>
<para>Gruppen dienen dazu, Benutzern innerhalb eines Mandanten Zugriff auf bestimmte Funktionen zu geben. Einer Gruppe werden dafür
vom Administrator gewisse Rechte zugeordnet. Weiterhin legt der Administrator fest, für welche Mandanten eine Gruppe gilt, und
welche Benutzer Mitglieder in dieser Gruppe sind. Meldet sich ein Benutzer dann an einem Mandanten an, so erhält er alle Rechte von
allen denjenigen Gruppen, die zum Einen dem Mandanten zugeordnet sind und in denen der Benutzer zum Anderen Mitglied ist, </para>
<para>Die Reihenfolge, in der Datenbanken, Mandanten, Gruppen und Benutzer angelegt werden, kann im Prinzip beliebig gewählt
werden. Die folgende Reihenfolge beinhaltet die wenigsten Arbeitsschritte:</para>
<para>kivitendos Administration kennt Mandanten, Benutzer und Gruppen,
die sich frei zueinander zuordnen lassen.</para>
<para>kivitendo kann mehrere Mandaten aus einer Installation heraus
verwalten. Welcher Mandant benutzt wird, kann direkt beim Login
ausgewählt werden. Für jeden Mandanten wird ein eindeutiger Name
vergeben, der beim Login angezeigt wird. Weiterhin benötigt der
Mandant Datenbankverbindungsparameter für seine Mandantendatenbank.
Diese sollte über die <link
linkend="Datenbanken-anlegen">Datenbankverwaltung</link>
geschehen.</para>
<para>Ein Benutzer ist eine Person, die Zugriff auf kivitendo erhalten
soll. Sie erhält einen Loginnamen sowie ein Passwort. Weiterhin legt
der Administrator fest, an welchen Mandanten sich ein Benutzer
anmelden kann, was beim Login verifiziert wird.</para>
<para>Gruppen dienen dazu, Benutzern innerhalb eines Mandanten Zugriff
auf bestimmte Funktionen zu geben. Einer Gruppe werden dafür vom
Administrator gewisse Rechte zugeordnet. Weiterhin legt der
Administrator fest, für welche Mandanten eine Gruppe gilt, und welche
Benutzer Mitglieder in dieser Gruppe sind. Meldet sich ein Benutzer
dann an einem Mandanten an, so erhält er alle Rechte von allen
denjenigen Gruppen, die zum Einen dem Mandanten zugeordnet sind und in
denen der Benutzer zum Anderen Mitglied ist,</para>
<para>Die Reihenfolge, in der Datenbanken, Mandanten, Gruppen und
Benutzer angelegt werden, kann im Prinzip beliebig gewählt werden. Die
folgende Reihenfolge beinhaltet die wenigsten Arbeitsschritte:</para>
<orderedlist numeration="arabic">
<listitem>
......
Anlegen können Sie die verschiedenen Bereiche wählen, auf die
Mitglieder dieser Gruppe Zugriff haben sollen.</para>
<para>Benutzergruppen werden zwar in der Authentifizierungsdatenbank gespeichert, gelten aber nicht automatisch für alle
Mandanten. Der Administrator legt vielmehr fest, für welche Mandanten eine Gruppe gültig ist. Dies kann entweder beim Bearbeiten der
Gruppe geschehen ("diese Gruppe ist gültig für Mandanten X, Y und Z"), oder aber wenn man einen Mandanten bearbeitet ("für diesen
Mandanten sind die Gruppen A, B und C gültig").</para>
<para>Wurden bereits Benutzer angelegt, so können hier die Mitglieder dieser Gruppe festgelegt werden ("in dieser Gruppe sind die
Benutzer X, Y und Z Mitglieder"). Dies kann auch nachträglich beim Bearbeiten eines Benutzers geschehen ("dieser Benutzer ist
Mitglied in den Gruppen A, B und C").</para>
<para>Benutzergruppen werden zwar in der Authentifizierungsdatenbank
gespeichert, gelten aber nicht automatisch für alle Mandanten. Der
Administrator legt vielmehr fest, für welche Mandanten eine Gruppe
gültig ist. Dies kann entweder beim Bearbeiten der Gruppe geschehen
("diese Gruppe ist gültig für Mandanten X, Y und Z"), oder aber wenn
man einen Mandanten bearbeitet ("für diesen Mandanten sind die Gruppen
A, B und C gültig").</para>
<para>Wurden bereits Benutzer angelegt, so können hier die Mitglieder
dieser Gruppe festgelegt werden ("in dieser Gruppe sind die Benutzer
X, Y und Z Mitglieder"). Dies kann auch nachträglich beim Bearbeiten
eines Benutzers geschehen ("dieser Benutzer ist Mitglied in den
Gruppen A, B und C").</para>
</sect2>
<sect2 id="Benutzer-anlegen">
<title>Benutzer anlegen</title>
<para>Beim Anlegen von Benutzern werden für viele Parameter Standardeinstellungen vorgenommen, die den Gepflogenheiten des deutschen
Raumes entsprechen.</para>
<para>Beim Anlegen von Benutzern werden für viele Parameter
Standardeinstellungen vorgenommen, die den Gepflogenheiten des
deutschen Raumes entsprechen.</para>
<para>Zwingend anzugeben ist der Loginname. Wenn die Passwortauthentifizierung über die Datenbank eingestellt ist, so kann hier auch
das Benutzerpasswort gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung aktiv, so ist das Passwort-Feld
<para>Zwingend anzugeben ist der Loginname. Wenn die
Passwortauthentifizierung über die Datenbank eingestellt ist, so kann
hier auch das Benutzerpasswort gesetzt bzw. geändert werden. Ist
hingegen die LDAP-Authentifizierung aktiv, so ist das Passwort-Feld
deaktiviert.</para>
<para>Hat man bereits Mandanten und Gruppen angelegt, so kann hier auch konfiguriert werden, auf welche Mandanten der Benutzer
Zugriff hat bzw. in welchen Gruppen er Mitglied ist. Beide Zuweisungen können sowohl beim Benutzer vorgenommen werden ("dieser
Benutzer hat Zugriff auf Mandanten X, Y, Z" bzw. "dieser Benutzer ist Mitglied in Gruppen X, Y und Z") als auch beim Mandanten ("auf
diesen Mandanten haben Benutzer A, B und C Zugriff") bzw. bei der Gruppe ("in dieser Gruppe sind Benutzer A, B und C
Mitglieder").</para>
<para>Hat man bereits Mandanten und Gruppen angelegt, so kann hier
auch konfiguriert werden, auf welche Mandanten der Benutzer Zugriff
hat bzw. in welchen Gruppen er Mitglied ist. Beide Zuweisungen können
sowohl beim Benutzer vorgenommen werden ("dieser Benutzer hat Zugriff
auf Mandanten X, Y, Z" bzw. "dieser Benutzer ist Mitglied in Gruppen
X, Y und Z") als auch beim Mandanten ("auf diesen Mandanten haben
Benutzer A, B und C Zugriff") bzw. bei der Gruppe ("in dieser Gruppe
sind Benutzer A, B und C Mitglieder").</para>
</sect2>
<sect2 id="Mandanten-anlegen">
<title>Mandanten anlegen</title>
<para>Ein Mandant besteht aus Administrationssicht primär aus einem eindeutigen Namen. Weiterhin wird hier hinterlegt, welche
Datenbank als Mandantendatenbank benutzt wird. Hier müssen die Zugriffsdaten einer der eben angelegten Datenbanken eingetragen
werden.</para>
<para>Hat man bereits Benutzer und Gruppen angelegt, so kann hier auch konfiguriert werden, welche Benutzer Zugriff auf den
Mandanten haben bzw. welche Gruppen für den Mandanten gültig sind. Beide Zuweisungen können sowohl beim Mandanten vorgenommen werden
("auf diesen Mandanten haben Benutzer X, Y und Z Zugriff" bzw. "für diesen Mandanten sind die Gruppen X, Y und Z gültig") als auch
beim Benutzer ("dieser Benutzer hat Zugriff auf Mandanten A, B und C") bzw. bei der Gruppe ("diese Gruppe ist für Mandanten A, B und
C gültig").</para>
<para>Ein Mandant besteht aus Administrationssicht primär aus einem
eindeutigen Namen. Weiterhin wird hier hinterlegt, welche Datenbank
als Mandantendatenbank benutzt wird. Hier müssen die Zugriffsdaten
einer der eben angelegten Datenbanken eingetragen werden.</para>
<para>Hat man bereits Benutzer und Gruppen angelegt, so kann hier auch
konfiguriert werden, welche Benutzer Zugriff auf den Mandanten haben
bzw. welche Gruppen für den Mandanten gültig sind. Beide Zuweisungen
können sowohl beim Mandanten vorgenommen werden ("auf diesen Mandanten
haben Benutzer X, Y und Z Zugriff" bzw. "für diesen Mandanten sind die
Gruppen X, Y und Z gültig") als auch beim Benutzer ("dieser Benutzer
hat Zugriff auf Mandanten A, B und C") bzw. bei der Gruppe ("diese
Gruppe ist für Mandanten A, B und C gültig").</para>
</sect2>
</sect1>
<sect1 id="Drucker--Systemverwaltung">
<title>Drucker- und Systemverwaltung</title>
<para>Im Administrationsmenü gibt es ferner noch die beiden Menüpunkte Druckeradministration und System.</para>
<para>Im Administrationsmenü gibt es ferner noch die beiden Menüpunkte
Druckeradministration und System.</para>
<sect2 id="Druckeradministration">
<title>Druckeradministration</title>
<para>Unter dem Menüpunkt Druckeradministration lassen sich beliebig viele "Druckbefehle" im System verwalten. Diese Befehle werden mandantenweise
zugeordnet. Unter Druckerbeschreibung wird der Namen des Druckbefehls festgelegt, der dann in der Druckerauswahl des Belegs angezeigt wird.</para>
<para>Unter Druckbefehl definiert man den eigentlichen Druckbefehl, der direkt auf dem Webserver ausgeführt wird, bspw. 'lpr -P meinDrucker' oder ein
kompletter Pfad zu einem Skript (/usr/local/src/kivitendo/scripts/pdf_druck_in_verzeichnis.sh).
Wird ferner noch ein optionales Vorlagenkürzel verwendet, wird dieses Kürzel bei der Auswahl der Druckvorlagendatei mit einem Unterstrich ergänzt, ist
bspw. das Kürzel 'epson_drucker' definiert, so wird beim Ausdruck eines Angebots folgende Vorlage geparst: sales_quotation_epson_drucker.tex.</para>
</sect2>
<para>Unter dem Menüpunkt Druckeradministration lassen sich beliebig
viele "Druckbefehle" im System verwalten. Diese Befehle werden
mandantenweise zugeordnet. Unter Druckerbeschreibung wird der Namen
des Druckbefehls festgelegt, der dann in der Druckerauswahl des Belegs
angezeigt wird.</para>
<para>Unter Druckbefehl definiert man den eigentlichen Druckbefehl,
der direkt auf dem Webserver ausgeführt wird, bspw. 'lpr -P
meinDrucker' oder ein kompletter Pfad zu einem Skript
(/usr/local/src/kivitendo/scripts/pdf_druck_in_verzeichnis.sh). Wird
ferner noch ein optionales Vorlagenkürzel verwendet, wird dieses
Kürzel bei der Auswahl der Druckvorlagendatei mit einem Unterstrich
ergänzt, ist bspw. das Kürzel 'epson_drucker' definiert, so wird beim
Ausdruck eines Angebots folgende Vorlage geparst:
sales_quotation_epson_drucker.tex.</para>
</sect2>
<sect2 id="System">
<title>System sperren / entsperren</title>
<para>Unter dem Menüpunkt System gibt es den Eintrag 'Installation sperren/entsperren'. Setzt man diese Sperre so ist der Zugang zu der gesamten kivitendo Installation gesperrt.</para>
<para>Falls die Sperre gesetzt ist, erscheint anstelle der Anmeldemaske die Information: 'kivitendo ist momentan zwecks Wartungsarbeiten nicht zugänglich.'.
</para>
<para>Wichtig zu erwähnen ist hierbei noch, dass sich kivitendo automatisch 'sperrt', falls es bei einem Versionsupdate zu einem Datenbankfehler kam. Somit kann hier nicht aus Versehen
mit einem inkonsistenten Datenbestand weitergearbeitet werden.</para>
</sect2>
</sect1>
<para>Unter dem Menüpunkt System gibt es den Eintrag 'Installation
sperren/entsperren'. Setzt man diese Sperre so ist der Zugang zu der
gesamten kivitendo Installation gesperrt.</para>
<sect1 id="config.sending-email" xreflabel="E-Mail-Versand aus kivitendo heraus">
<title>E-Mail-Versand aus kivitendo heraus</title>
<para>Falls die Sperre gesetzt ist, erscheint anstelle der
Anmeldemaske die Information: 'kivitendo ist momentan zwecks
Wartungsarbeiten nicht zugänglich.'.</para>
<para>kivitendo kann direkt aus dem Programm heraus E-Mails versenden, z.B. um ein Angebot direkt an einen Kunden zu
verschicken. Damit dies funktioniert, muss eingestellt werden, über welchen Server die E-Mails verschickt werden sollen. kivitendo
unterstützt dabei zwei Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit <productname>Postfix</productname> oder
<productname>Exim</productname>, was auch die standardmäßig aktive Methode ist) sowie Versand über einen SMTP-Server (z.B. der des
eigenen Internet-Providers).</para>
<para>Wichtig zu erwähnen ist hierbei noch, dass sich kivitendo
automatisch 'sperrt', falls es bei einem Versionsupdate zu einem
Datenbankfehler kam. Somit kann hier nicht aus Versehen mit einem
inkonsistenten Datenbestand weitergearbeitet werden.</para>
</sect2>
</sect1>
<para>Welche Methode und welcher Server verwendet werden, wird über die Konfigurationsdatei <filename>config/kivitendo.conf</filename>
festgelegt. Dort befinden sich alle Einstellungen zu diesem Thema im Abschnitt '<literal>[mail_delivery]</literal>'.</para>
<sect1 id="config.sending-email"
xreflabel="E-Mail-Versand aus kivitendo heraus">
<title>E-Mail-Versand aus kivitendo heraus</title>
<sect2 id="config.sending-email.sendmail" xreflabel="E-Mail-Versand über lokalen E-Mail-Server">
<para>kivitendo kann direkt aus dem Programm heraus E-Mails versenden,
z.B. um ein Angebot direkt an einen Kunden zu verschicken. Damit dies
funktioniert, muss eingestellt werden, über welchen Server die E-Mails
verschickt werden sollen. kivitendo unterstützt dabei zwei Mechanismen:
Versand über einen lokalen E-Mail-Server (z.B. mit
<productname>Postfix</productname> oder <productname>Exim</productname>,
was auch die standardmäßig aktive Methode ist) sowie Versand über einen
SMTP-Server (z.B. der des eigenen Internet-Providers).</para>
<para>Welche Methode und welcher Server verwendet werden, wird über die
Konfigurationsdatei <filename>config/kivitendo.conf</filename>
festgelegt. Dort befinden sich alle Einstellungen zu diesem Thema im
Abschnitt '<literal>[mail_delivery]</literal>'.</para>
<sect2 id="config.sending-email.sendmail"
xreflabel="E-Mail-Versand über lokalen E-Mail-Server">
<title>Versand über lokalen E-Mail-Server</title>
<para>Diese Methode bietet sich an, wenn auf dem Server, auf dem kivitendo läuft, bereits ein funktionsfähiger E-Mail-Server wie
z.B. <productname>Postfix</productname>, <productname>Exim</productname> oder <productname>Sendmail</productname> läuft.</para>
<para>Diese Methode bietet sich an, wenn auf dem Server, auf dem
kivitendo läuft, bereits ein funktionsfähiger E-Mail-Server wie z.B.
<productname>Postfix</productname>, <productname>Exim</productname>
oder <productname>Sendmail</productname> läuft.</para>
<para>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<literal>method = sendmail</literal>' gesetzt sein. Dies ist
<para>Um diese Methode auszuwählen, muss der Konfigurationsparameter
'<literal>method = sendmail</literal>' gesetzt sein. Dies ist
gleichzeitig der Standardwert, falls er nicht verändert wird.</para>
<para>Um zu kontrollieren, wie das Programm zum Einliefern gestartet wird, dient der Parameter '<literal>sendmail =
...</literal>'. Der Standardwert verweist auf das Programm <filename>/usr/bin/sendmail</filename>, das bei allen oben genannten
<para>Um zu kontrollieren, wie das Programm zum Einliefern gestartet
wird, dient der Parameter '<literal>sendmail = ...</literal>'. Der
Standardwert verweist auf das Programm
<filename>/usr/bin/sendmail</filename>, das bei allen oben genannten
E-Mail-Serverprodukten für diesen Zweck funktionieren sollte.</para>
<para>Die Konfiguration des E-Mail-Servers selber würde den Rahmen dieses sprengen. Hierfür sei auf die Dokumentation des
E-Mail-Servers verwiesen.</para>
<para>Die Konfiguration des E-Mail-Servers selber würde den Rahmen
dieses sprengen. Hierfür sei auf die Dokumentation des E-Mail-Servers
verwiesen.</para>
</sect2>
<sect2 id="config.sending-email.smtp" xreflabel="E-Mail-Versand über einen SMTP-Server">
<sect2 id="config.sending-email.smtp"
xreflabel="E-Mail-Versand über einen SMTP-Server">
<title>Versand über einen SMTP-Server</title>
<para>Diese Methode bietet sich an, wenn kein lokaler E-Mail-Server vorhanden oder zwar einer vorhanden, dieser aber nicht
konfiguriert ist.</para>
<para>Diese Methode bietet sich an, wenn kein lokaler E-Mail-Server
vorhanden oder zwar einer vorhanden, dieser aber nicht konfiguriert
ist.</para>
<para>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<literal>method = smtp</literal>' gesetzt sein. Die folgenden
<para>Um diese Methode auszuwählen, muss der Konfigurationsparameter
'<literal>method = smtp</literal>' gesetzt sein. Die folgenden
Parameter dienen dabei der weiteren Konfiguration:</para>
<variablelist>
<varlistentry>
<term><varname>hostname</varname></term>
<listitem><para>Name oder IP-Adresse des SMTP-Servers. Standardwert: '<literal>localhost</literal>'</para></listitem>
<listitem>
<para>Name oder IP-Adresse des SMTP-Servers. Standardwert:
'<literal>localhost</literal>'</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>port</varname></term>
<listitem><para>Portnummer. Der Standardwert hängt von der verwendeten Verschlüsselungsmethode ab. Gilt '<literal>security =
none</literal>' oder '<literal>security = tls</literal>', so ist 25 die Standardportnummer. Für '<literal>security =
ssl</literal>' ist 465 die Portnummer. Muss normalerweise nicht geändert werden.</para></listitem>
<listitem>
<para>Portnummer. Der Standardwert hängt von der verwendeten
Verschlüsselungsmethode ab. Gilt '<literal>security =
none</literal>' oder '<literal>security = tls</literal>', so ist
25 die Standardportnummer. Für '<literal>security =
ssl</literal>' ist 465 die Portnummer. Muss normalerweise nicht
geändert werden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>security</varname></term>
<listitem><para>Wahl der zu verwendenden Verschlüsselung der Verbindung mit dem Server. Standardwert ist
'<literal>none</literal>', wodurch keine Verschlüsselung verwendet wird. Mit '<literal>tls</literal>' wird TLS-Verschlüsselung
eingeschaltet, und mit '<literal>ssl</literal>' wird Verschlüsselung via SSL eingeschaltet. Achtung: Für
'<literal>tls</literal>' und '<literal>ssl</literal>' werden zusätzliche Perl-Module benötigt (siehe unten).</para></listitem>
<listitem>
<para>Wahl der zu verwendenden Verschlüsselung der Verbindung
mit dem Server. Standardwert ist '<literal>none</literal>',
wodurch keine Verschlüsselung verwendet wird. Mit
'<literal>tls</literal>' wird TLS-Verschlüsselung eingeschaltet,
und mit '<literal>ssl</literal>' wird Verschlüsselung via SSL
eingeschaltet. Achtung: Für '<literal>tls</literal>' und
'<literal>ssl</literal>' werden zusätzliche Perl-Module benötigt
(siehe unten).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>login</varname> und <varname>password</varname></term>
<term><varname>login</varname> und
<varname>password</varname></term>
<listitem><para>Falls der E-Mail-Server eine Authentifizierung verlangt, so können mit diesen zwei Parametern der Benutzername
und das Passwort angegeben werden. Wird Authentifizierung verwendet, so sollte aus Sicherheitsgründen auch eine Form von
Verschlüsselung aktiviert werden.</para></listitem>
<listitem>
<para>Falls der E-Mail-Server eine Authentifizierung verlangt,
so können mit diesen zwei Parametern der Benutzername und das
Passwort angegeben werden. Wird Authentifizierung verwendet, so
sollte aus Sicherheitsgründen auch eine Form von Verschlüsselung
aktiviert werden.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
......
<sect1 id="Drucken-mit-kivitendo">
<title>Drucken mit kivitendo</title>
<para>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen. Um drucken zu können, braucht der Server ein geeignetes
LaTeX System. Am einfachsten ist dazu eine <literal>texlive</literal> Installation. Unter debianoiden Betriebssystemen installiert man
die Pakete mit:</para>
<para>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen.
Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
einfachsten ist dazu eine <literal>texlive</literal> Installation. Unter
debianoiden Betriebssystemen installiert man die Pakete mit:</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>
......
texlive-collection-langenglish</programlisting></para>
<para>kivitendo bringt drei alternative Vorlagensätze mit:</para>
<itemizedlist>
<listitem><para>RB</para></listitem>
<listitem><para>f-tex</para></listitem>
<listitem><para>rev-odt</para></listitem>
<listitem>
<para>RB</para>
</listitem>
<listitem>
<para>f-tex</para>
</listitem>
<listitem>
<para>rev-odt</para>
</listitem>
</itemizedlist>
<para>Der ehemalige Druckvorlagensatz "Standard" wurde mit der Version 3.3 entfernt, da er nicht mehr gepflegt wurde.</para>
<para>Der ehemalige Druckvorlagensatz "Standard" wurde mit der Version
3.3 entfernt, da er nicht mehr gepflegt wurde.</para>
<sect2 id="Vorlagenverzeichnis-anlegen" xreflabel="Vorlagenverzeichnis anlegen">
<sect2 id="Vorlagenverzeichnis-anlegen"
xreflabel="Vorlagenverzeichnis anlegen">
<title>Vorlagenverzeichnis anlegen</title>
<para>Es lässt sich ein initialer Vorlagensatz erstellen. Die LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</para>
<para>Es lässt sich ein initialer Vorlagensatz erstellen. Die
LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</para>
<programlisting>./scripts/installation_check.pl -lv</programlisting>
<para>Der Angemeldete Benutzer muss in einer Gruppe sein, die über das
Recht "Konfiguration -> Mandantenverwaltung" verfügt. Siehe auch <xref linkend="Gruppen-anlegen"/>.
</para>
<para>Im Userbereich lässt sich unter:
"<guimenu>System</guimenu> -&gt;
<guisubmenu>Mandantenverwaltung</guisubmenu> -&gt; <guimenuitem>Verschiedenes</guimenuitem>" die Option
"Neue Druckvorlagen aus Vorlagensatz erstellen" auswählen.</para>
<para>Der Angemeldete Benutzer muss in einer Gruppe sein, die über das
Recht "Konfiguration -&gt; Mandantenverwaltung" verfügt. Siehe auch
<xref linkend="Gruppen-anlegen"/>.</para>
<orderedlist>
<listitem><para><option>Vorlagen auswählen</option>: Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll
(<filename>RB</filename>, <filename>f-tex</filename> oder <filename>odt-rev</filename>.)</para></listitem>
<listitem><para><option>Neuer Name</option>: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
Bedingungen für Verzeichnisnamen frei gewählt werden.</para></listitem>
</orderedlist>
<para>Im Userbereich lässt sich unter: "<guimenu>System</guimenu>
-&gt; <guisubmenu>Mandantenverwaltung</guisubmenu> -&gt;
<guimenuitem>Verschiedenes</guimenuitem>" die Option "Neue
Druckvorlagen aus Vorlagensatz erstellen" auswählen.</para>
<para>Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist für den aktuellen Mandanten ausgewählt.
Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden.
Eventuell müssen Anpassungen (Logo, Erscheinungsbild, etc) noch vorgenommen werden. Den Ordner findet man im Dateisystem unter
<filename>./templates/[Neuer Name]</filename></para>
<orderedlist>
<listitem>
<para><option>Vorlagen auswählen</option>: Wählen Sie hier den
Vorlagensatz aus, der kopiert werden soll
(<filename>RB</filename>, <filename>f-tex</filename> oder
<filename>odt-rev</filename>.)</para>
</listitem>
<listitem>
<para><option>Neuer Name</option>: Der Verzeichnisname für den
neuen Vorlagensatz. Dieser kann im Rahmen der üblichen Bedingungen
für Verzeichnisnamen frei gewählt werden.</para>
</listitem>
</orderedlist>
<para>Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist
für den aktuellen Mandanten ausgewählt. Der gleiche Vorlagensatz kann,
wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden.
Eventuell müssen Anpassungen (Logo, Erscheinungsbild, etc) noch
vorgenommen werden. Den Ordner findet man im Dateisystem unter
<filename>./templates/[Neuer Name]</filename></para>
</sect2>
<sect2 id="Vorlagen-RB">
<title>Der Druckvorlagensatz RB</title>
<para>Hierbei handelt es sich um einen vollständigen LaTeX Dokumentensatz mit alternativem Design. Die odt oder html-Varianten sind nicht gepflegt.</para>
<para>Hierbei handelt es sich um einen vollständigen LaTeX
Dokumentensatz mit alternativem Design. Die odt oder html-Varianten
sind nicht gepflegt.</para>
<para>Die konzeptionelle Idee der Vorlagen wird <ulink
url="http://www.kivitendo-support.de/vortraege/Lx-Office%20Anwendertreffen%20LaTeX-Druckvorlagen-Teil3-finale.pdf">hier</ulink>
auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die eigenen Firmendaten finden sich in der Datei Readme.tex im Vorlagenverzeichnis.</para>
url="http://www.kivitendo-support.de/vortraege/Lx-Office%20Anwendertreffen%20LaTeX-Druckvorlagen-Teil3-finale.pdf">hier</ulink>
auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die
eigenen Firmendaten finden sich in der Datei Readme.tex im
Vorlagenverzeichnis.</para>
<para>Eine kurze Übersicht der Features:</para>
<itemizedlist>
<listitem><para>Mehrsprachenfähig, mit Deutscher und Englischer Übersetzung</para></listitem>
<listitem><para>Zentrale Konfigurationsdateien, die für alle Belege benutzt werden, z.B. für Kopf- und Fußzeilen, und Infos wie Bankdaten</para></listitem>
<listitem><para>mehrere vordefinierte Varianten für Logos/Hintergrundbilder</para></listitem>
<listitem><para>Berücksichtigung für Steuerzonen "EU mit USt-ID Nummer" oder "Außerhalb EU"</para></listitem>
</itemizedlist>
<itemizedlist>
<listitem>
<para>Mehrsprachenfähig, mit Deutscher und Englischer
Übersetzung</para>
</listitem>
<listitem>
<para>Zentrale Konfigurationsdateien, die für alle Belege benutzt
werden, z.B. für Kopf- und Fußzeilen, und Infos wie
Bankdaten</para>
</listitem>
<listitem>
<para>mehrere vordefinierte Varianten für
Logos/Hintergrundbilder</para>
... Dieser Diff wurde abgeschnitten, weil er die maximale Anzahl anzuzeigender Zeilen überschreitet.

Auch abrufbar als: Unified diff