Dokumentation/Modulabhängigkeiten ergänzt (s.a. #344)
[kivitendo-erp.git] / doc / html / ch02s02.html
1 <html><head>
2       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3    <title>2.2. Benötigte Software und Pakete</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.5.1: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. Benötigte Software und Pakete</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.2. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.2.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.2.1. Betriebssystem</h3></div></div></div><p>kivitendo ist für Linux konzipiert, und sollte auf jedem
4         unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
5         diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
6         bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
7         ohne große Probleme auf den derzeit aktuellen verbreiteten
8         Distributionen läuft.</p><p>Anfang 2019 sind das folgende Systeme, von denen bekannt ist,
9         dass kivitendo auf ihnen läuft:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>7.0 "Wheezy"</p></li><li class="listitem"><p>8.0 "Jessie"</p></li><li class="listitem"><p>9.0 "Stretch"</p></li></ul></div></li><li class="listitem"><p>Ubuntu 14.04 "Trusty Tahr" LTS, 15.10 "Wily Werewolf", 16.04 "Xenial Xerus" LTS
10                 und 18.04 "Bionic Beaver" LTS
11           </p></li><li class="listitem"><p>openSUSE LEAP 42.1</p></li><li class="listitem"><p>Fedora 22</p></li></ul></div></div><div class="sect2" title="2.2.2. Benötigte Perl-Pakete installieren"><div class="titlepage"><div><div><h3 class="title"><a name="Pakete"></a>2.2.2. Benötigte Perl-Pakete installieren</h3></div></div></div><p>Zum Betrieb von kivitendo werden zwingend ein Webserver (meist
12         Apache) und ein Datenbankserver (PostgreSQL) in einer aktuellen
13         Version (s.a. Liste der unterstützten Betriebssysteme)
14         benötigt.</p><p>Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht
15         Bestandteil einer Standard-Perl-Installation sind. Um zu überprüfen,
16         ob die erforderlichen Pakete installiert und aktuell genug sind, wird
17         ein Script mitgeliefert, das wie folgt aufgerufen wird:</p><pre class="programlisting">./scripts/installation_check.pl</pre><p>Die vollständige Liste der benötigten Perl-Module lautet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
18                      <code class="literal">parent</code> (nur bei Perl vor 5.10.1)</p></li><li class="listitem"><p>
19                      <code class="literal">Archive::Zip</code>
20                   </p></li><li class="listitem"><p>
21                      <code class="literal">Algorithm::CheckDigits</code>
22                   </p></li><li class="listitem"><p>
23                      <code class="literal">CGI</code>
24                   </p></li><li class="listitem"><p>
25                      <code class="literal">Clone</code>
26                   </p></li><li class="listitem"><p>
27                      <code class="literal">Config::Std</code>
28                   </p></li><li class="listitem"><p>
29                      <code class="literal">DateTime</code>
30                   </p></li><li class="listitem"><p>
31                      <code class="literal">DateTime::Format::Strptime</code>
32                   </p></li><li class="listitem"><p>
33                      <code class="literal">DBI</code>
34                   </p></li><li class="listitem"><p>
35                      <code class="literal">DBD::Pg</code>
36                   </p></li><li class="listitem"><p>
37                      <code class="literal">Email::Address</code>
38                   </p></li><li class="listitem"><p>
39                      <code class="literal">Email::MIME</code>
40                   </p></li><li class="listitem"><p>
41                      <code class="literal">FCGI</code> (nicht Versionen 0.68 bis 0.71
42             inklusive; siehe <a class="xref" href="ch02s06.html#Apache-Konfiguration.FCGI.WebserverUndPlugin" title="2.6.2.3. Getestete Kombinationen aus Webservern und Plugin">Abschnitt&nbsp;2.6.2.3, „Getestete Kombinationen aus Webservern und Plugin“</a>)</p></li><li class="listitem"><p>
43                      <code class="literal">File::Copy::Recursive</code>
44                   </p></li><li class="listitem"><p>
45                      <code class="literal">File::MimeInfo</code>
46                   </p></li><li class="listitem"><p>
47                      <code class="literal">GD</code>
48                   </p></li><li class="listitem"><p>
49                      <code class="literal">HTML::Parser</code>
50                   </p></li><li class="listitem"><p>
51                      <code class="literal">HTML::Restrict</code>
52                   </p></li><li class="listitem"><p>
53                      <code class="literal">Image::Info</code>
54                   </p></li><li class="listitem"><p>
55                      <code class="literal">JSON</code>
56                   </p></li><li class="listitem"><p>
57                      <code class="literal">List::MoreUtils</code>
58                   </p></li><li class="listitem"><p>
59                      <code class="literal">List::UtilsBy</code>
60                   </p></li><li class="listitem"><p>LWP::Authen::Digest</p></li><li class="listitem"><p>LWP::UserAgent</p></li><li class="listitem"><p>
61                      <code class="literal">Net::SMTP::SSL</code> (optional, bei
62             E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s11.html#config.sending-email.smtp" title="2.11.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
63                      <code class="literal">Net::SSLGlue</code> (optional, bei
64             E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s11.html#config.sending-email.smtp" title="2.11.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
65                      <code class="literal">Params::Validate</code>
66                   </p></li><li class="listitem"><p>
67                      <code class="literal">PBKDF2::Tiny</code>
68                   </p></li><li class="listitem"><p>
69                      <code class="literal">PDF::API2</code>
70                   </p></li><li class="listitem"><p>
71                      <code class="literal">Rose::Object</code>
72                   </p></li><li class="listitem"><p>
73                      <code class="literal">Rose::DB</code>
74                   </p></li><li class="listitem"><p>
75                      <code class="literal">Rose::DB::Object</code> Version 0.788 oder
76             neuer</p></li><li class="listitem"><p>
77                      <code class="literal">String::ShellQuote</code>
78                   </p></li><li class="listitem"><p>
79                      <code class="literal">Sort::Naturally</code>
80                   </p></li><li class="listitem"><p>
81                      <code class="literal">Template</code>
82                   </p></li><li class="listitem"><p>
83                      <code class="literal">Text::CSV_XS</code>
84                   </p></li><li class="listitem"><p>
85                      <code class="literal">Text::Iconv</code>
86                   </p></li><li class="listitem"><p>
87                      <code class="literal">Text::Unidecode</code>
88                   </p></li><li class="listitem"><p>
89                      <code class="literal">URI</code>
90                   </p></li><li class="listitem"><p>
91                      <code class="literal">XML::Writer</code>
92                   </p></li><li class="listitem"><p>
93                      <code class="literal">YAML</code>
94                   </p></li></ul></div><p>Seit Version größer v3.5.1 sind die folgenden Pakete
95         hinzugekommen:
96         <code class="literal">Set::Infinite</code>,
97         <code class="literal">List::UtilsBy</code>,
98         <code class="literal">DateTime::Set</code>,
99         <code class="literal">DateTime::Event::Cron</code>
100             </p><p>Seit Version größer v3.5.0 sind die folgenden Pakete
101         hinzugekommen: <code class="literal">Text::Unidecode</code>,
102         <code class="literal">LWP::Authen::Digest</code>,
103         <code class="literal">LWP::UserAgent</code>
104             </p><p>Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen:
105         <code class="literal">Algorithm::CheckDigits</code>,
106         <code class="literal">PBKDF2::Tiny</code>
107             </p><p>Seit Version v3.2.0 sind die folgenden Pakete hinzugekommen:
108         <code class="literal">GD</code>, <code class="literal">HTML::Restrict</code>,
109         <code class="literal">Image::Info</code>
110             </p><p>Seit v3.0.0 sind die folgenden Pakete hinzugekommen:
111         <code class="literal">File::Copy::Recursive</code>.</p><p>Seit v2.7.0 sind die folgenden Pakete hinzugekommen:
112         <code class="literal">Email::MIME</code>, <code class="literal">Net::SMTP::SSL</code>,
113         <code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
114         hinzugekommen, <code class="literal">URI</code> und
115         <code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
116         nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
117         <code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
118         <code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
119         neu hinzugekommen. <code class="literal">IO::Wrap</code> wurde entfernt.</p><p>Gegenüber Version 2.6.3 ist <code class="literal">JSON</code> neu
120         hinzugekommen.</p><p>
121                <code class="literal">Email::Address</code> und
122         <code class="literal">List::MoreUtils</code> sind schon länger feste
123         Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
124         sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
125         zukünftigen Version aber aus dem Paket entfernt werden. Es wird
126         empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
127         installieren.</p><div class="sect3" title="2.2.2.1. Debian und Ubuntu"><div class="titlepage"><div><div><h4 class="title"><a name="d0e486"></a>2.2.2.1. Debian und Ubuntu</h4></div></div></div><p>Für Debian und Ubuntu stehen die meisten der benötigten
128           Pakete als Debian-Pakete zur Verfügung. Sie können mit
129           folgendem Befehl installiert werden:</p><pre class="programlisting">apt install  apache2 libarchive-zip-perl libclone-perl \
130   libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-perl \
131   libemail-address-perl  libemail-mime-perl libfcgi-perl libjson-perl \
132   liblist-moreutils-perl libnet-smtp-ssl-perl libnet-sslglue-perl \
133   libparams-validate-perl libpdf-api2-perl librose-db-object-perl \
134   librose-db-perl librose-object-perl libsort-naturally-perl \
135   libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \
136   libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \
137   libimage-info-perl libgd-gd2-perl libapache2-mod-fcgid \
138   libfile-copy-recursive-perl postgresql libalgorithm-checkdigits-perl \
139   libcrypt-pbkdf2-perl git libcgi-pm-perl libtext-unidecode-perl libwww-perl\
140   postgresql-contrib aqbanking-tools poppler-utils libhtml-restrict-perl\
141   libdatetime-event-cron-perl libdatetime-set-perl libset-infinite-perl liblist-utilsby-perl
142 </pre><p>Ab Ubuntu Version 18.04 LTS sind alle benötigten Pakete in der Distributions verfügbar.</p><p>Für ältere Ubuntu/Debians müßen einige Pakete per CPAN installiert werden.
143           Das geht bspw. für das benötige Paket HTML::Restrict mit:</p><pre class="programlisting">apt-get install build-essential
144 cpan HTML::Restrict</pre></div><div class="sect3" title="2.2.2.2. Fedora"><div class="titlepage"><div><div><h4 class="title"><a name="d0e499"></a>2.2.2.2. Fedora</h4></div></div></div><p>Für Fedora stehen die meisten der benötigten Perl-Pakete als
145           RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
146           installiert werden:</p><pre class="programlisting">dnf install httpd mod_fcgid perl-Archive-Zip perl-Clone perl-DBD-Pg \
147   perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FCGI \
148   perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue \
149   perl-PDF-API2 perl-Params-Validate perl-Rose-DB perl-Rose-DB-Object \
150   perl-Rose-Object perl-Sort-Naturally perl-String-ShellQuote \
151   perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
152   perl-XML-Writer perl-YAML perl-parent postgresql-server perl-CPAN \
153   perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor perl-Text-Balanced perl-libwww-perl</pre><p>Zusätzlich müssen einige Pakete aus dem CPAN installiert
154           werden. Dazu können Sie die folgenden Befehle nutzen:</p><pre class="programlisting">cpan Config::Std HTML::Restrict</pre></div><div class="sect3" title="2.2.2.3. openSUSE"><div class="titlepage"><div><div><h4 class="title"><a name="d0e510"></a>2.2.2.3. openSUSE</h4></div></div></div><p>Für openSUSE stehen die meisten der benötigten Perl-Pakete als
155           RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
156           installiert werden:</p><pre class="programlisting">zypper install apache2 apache2-mod_fcgid perl-Archive-Zip perl-Clone \
157   perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address \
158   perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils \
159   perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PDF-API2 perl-Params-Validate \
160   perl-Sort-Naturally perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
161   perl-URI perl-XML-Writer perl-YAML perl-CPAN \
162   perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor postgresql-server perl-libwwww-perl</pre><p>Zusätzlich müssen einige Pakete aus dem CPAN installiert
163           werden. Dazu können Sie die folgenden Befehle nutzen:</p><pre class="programlisting">cpan Rose::Db::Object</pre></div></div><div class="sect2" title="2.2.3. Andere Pakete installieren"><div class="titlepage"><div><div><h3 class="title"><a name="d0e521"></a>2.2.3. Andere Pakete installieren</h3></div></div></div><p>Seit Version v3.4.0 wird für den Bankimport optional das Paket
164         'aqbanking-tools' benötigt.</p><p>Debian und Ubuntu: </p><pre class="programlisting">apt install aqbanking-tools
165         </pre><p>
166             </p><p>Fedora: </p><pre class="programlisting">dnf install aqbanking</pre><p>
167             </p><p>openSUSE: </p><pre class="programlisting">zypper install aqbanking-tools</pre><p>
168             </p><p>Seit Version v3.4.1 wird generell zum Feststellen der
169         Seitenanzahl von PDF_Dokumenten 'pdfinfo' benötigt was im Paket
170         'poppler-utils' enthalten ist.</p><p>Debian und Ubuntu: </p><pre class="programlisting">apt install poppler-utils
171         </pre><p>
172             </p><p>Fedora: </p><pre class="programlisting">dnf install poppler-utils</pre><p>
173             </p><p>openSUSE: </p><pre class="programlisting">zypper install poppler-tools</pre><p>
174             </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.3. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>