doc aktualisiert
[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>8.0 "Jessie"</p></li><li class="listitem"><p>9.0 "Stretch"</p></li></ul></div></li><li class="listitem"><p>16.04 "Xenial Xerus" LTS und 18.04 "Bionic Beaver" LTS
10           </p></li><li class="listitem"><p>openSUSE 15.0</p></li><li class="listitem"><p>Fedora 29</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
11         Apache) und ein Datenbankserver (PostgreSQL) in einer aktuellen
12         Version (s.a. Liste der unterstützten Betriebssysteme)
13         benötigt.</p><p>Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht
14         Bestandteil einer Standard-Perl-Installation sind. Um zu überprüfen,
15         ob die erforderlichen Pakete installiert und aktuell genug sind, wird
16         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>
17                      <code class="literal">Algorithm::CheckDigits</code>
18                   </p></li><li class="listitem"><p>
19                      <code class="literal">Archive::Zip</code>
20                   </p></li><li class="listitem"><p>
21                      <code class="literal">CGI</code>
22                   </p></li><li class="listitem"><p>
23                      <code class="literal">Clone</code>
24                   </p></li><li class="listitem"><p>
25                      <code class="literal">Config::Std</code>
26                   </p></li><li class="listitem"><p>
27                      <code class="literal">Daemon::Generic</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::Event::Cron</code>
32                   </p></li><li class="listitem"><p>
33                      <code class="literal">DateTime::Format::Strptime</code>
34                   </p></li><li class="listitem"><p>
35                      <code class="literal">DateTime::Set</code>
36                   </p></li><li class="listitem"><p>
37                      <code class="literal">DBI</code>
38                   </p></li><li class="listitem"><p>
39                      <code class="literal">DBD::Pg</code>
40                   </p></li><li class="listitem"><p>
41                      <code class="literal">Email::Address</code>
42                   </p></li><li class="listitem"><p>
43                      <code class="literal">Email::MIME</code>
44                   </p></li><li class="listitem"><p>
45                      <code class="literal">FCGI</code> (nicht Versionen 0.68 bis 0.71
46             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>
47                      <code class="literal">File::Copy::Recursive</code>
48                   </p></li><li class="listitem"><p>
49                      <code class="literal">File::Flock</code>
50                   </p></li><li class="listitem"><p>
51                      <code class="literal">File::MimeInfo</code>
52                   </p></li><li class="listitem"><p>
53                      <code class="literal">File::Slurp</code>
54                   </p></li><li class="listitem"><p>
55                      <code class="literal">GD</code>
56                   </p></li><li class="listitem"><p>
57                      <code class="literal">HTML::Parser</code>
58                   </p></li><li class="listitem"><p>
59                      <code class="literal">HTML::Restrict</code>
60                   </p></li><li class="listitem"><p>
61                      <code class="literal">Image::Info</code>
62                   </p></li><li class="listitem"><p>
63                      <code class="literal">JSON</code>
64                   </p></li><li class="listitem"><p>
65                      <code class="literal">List::MoreUtils</code>
66                   </p></li><li class="listitem"><p>
67                      <code class="literal">List::UtilsBy</code>
68                   </p></li><li class="listitem"><p>LWP::Authen::Digest</p></li><li class="listitem"><p>LWP::UserAgent</p></li><li class="listitem"><p>
69                      <code class="literal">Net::SMTP::SSL</code> (optional, bei
70             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>
71                      <code class="literal">Net::SSLGlue</code> (optional, bei
72             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>
73                      <code class="literal">Params::Validate</code>
74                   </p></li><li class="listitem"><p>
75                      <code class="literal">PBKDF2::Tiny</code>
76                   </p></li><li class="listitem"><p>
77                      <code class="literal">PDF::API2</code>
78                   </p></li><li class="listitem"><p>
79                      <code class="literal">Regexp::IPv6</code>
80                   </p></li><li class="listitem"><p>
81                      <code class="literal">Rose::Object</code>
82                   </p></li><li class="listitem"><p>
83                      <code class="literal">Rose::DB</code>
84                   </p></li><li class="listitem"><p>
85                      <code class="literal">Rose::DB::Object</code> Version 0.788 oder
86             neuer</p></li><li class="listitem"><p>
87                      <code class="literal">Set::Infinite</code>
88                   </p></li><li class="listitem"><p>
89                      <code class="literal">Set::Crontab</code>
90                   </p></li><li class="listitem"><p>
91                      <code class="literal">String::ShellQuote</code>
92                   </p></li><li class="listitem"><p>
93                      <code class="literal">Sort::Naturally</code>
94                   </p></li><li class="listitem"><p>
95                      <code class="literal">Template</code>
96                   </p></li><li class="listitem"><p>
97                      <code class="literal">Text::CSV_XS</code>
98                   </p></li><li class="listitem"><p>
99                      <code class="literal">Text::Iconv</code>
100                   </p></li><li class="listitem"><p>
101                      <code class="literal">Text::Unidecode</code>
102                   </p></li><li class="listitem"><p>
103                      <code class="literal">URI</code>
104                   </p></li><li class="listitem"><p>
105                      <code class="literal">XML::Writer</code>
106                   </p></li><li class="listitem"><p>
107                      <code class="literal">YAML</code>
108                   </p></li></ul></div><p>Seit Version größer v3.5.1 sind die folgenden Pakete hinzugekommen: <code class="literal">Set::Infinite</code>,
109         <code class="literal">List::UtilsBy</code>, <code class="literal">DateTime::Set</code>, <code class="literal">DateTime::Event::Cron</code>
110         
111                <code class="literal">Daemon::Generic</code> 
112                <code class="literal">DateTime::Event::Cron</code> 
113                <code class="literal">File::Flock</code>
114         
115                <code class="literal">File::Slurp</code> 
116                <code class="literal">Set::Crontab</code> 
117                <code class="literal">Exception::Lite</code>. Für die letzten beiden Module
118         liefert kivitendo fallback-Module aus, da diese überhaupt nicht in debian oder in der benötigten Version zu Verfügung stehen (Stand
119         Anfang 2019).</p><p>Seit Version größer v3.5.0 sind die folgenden Pakete
120         hinzugekommen: <code class="literal">Text::Unidecode</code>,
121         <code class="literal">LWP::Authen::Digest</code>,
122         <code class="literal">LWP::UserAgent</code>
123             </p><p>Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen:
124         <code class="literal">Algorithm::CheckDigits</code>,
125         <code class="literal">PBKDF2::Tiny</code>
126             </p><p>Seit Version v3.2.0 sind die folgenden Pakete hinzugekommen:
127         <code class="literal">GD</code>, <code class="literal">HTML::Restrict</code>,
128         <code class="literal">Image::Info</code>
129             </p><p>Seit v3.0.0 sind die folgenden Pakete hinzugekommen:
130         <code class="literal">File::Copy::Recursive</code>.</p><p>Seit v2.7.0 sind die folgenden Pakete hinzugekommen:
131         <code class="literal">Email::MIME</code>, <code class="literal">Net::SMTP::SSL</code>,
132         <code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
133         hinzugekommen, <code class="literal">URI</code> und
134         <code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
135         nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
136         <code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
137         <code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
138         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
139         hinzugekommen.</p><p>
140                <code class="literal">Email::Address</code> und
141         <code class="literal">List::MoreUtils</code> sind schon länger feste
142         Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
143         sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
144         zukünftigen Version aber aus dem Paket entfernt werden. Es wird
145         empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
146         installieren.</p><div class="sect3" title="2.2.2.1. Debian und Ubuntu"><div class="titlepage"><div><div><h4 class="title"><a name="d0e543"></a>2.2.2.1. Debian und Ubuntu</h4></div></div></div><p>Für Debian und Ubuntu stehen die meisten der benötigten
147           Pakete als Debian-Pakete zur Verfügung. Sie können mit
148           folgendem Befehl installiert werden:</p><pre class="programlisting">apt install  apache2 libarchive-zip-perl libclone-perl \
149   libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-perl \
150   libemail-address-perl  libemail-mime-perl libfcgi-perl libjson-perl \
151   liblist-moreutils-perl libnet-smtp-ssl-perl libnet-sslglue-perl \
152   libparams-validate-perl libpdf-api2-perl librose-db-object-perl \
153   librose-db-perl librose-object-perl libsort-naturally-perl \
154   libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \
155   libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \
156   libimage-info-perl libgd-gd2-perl libapache2-mod-fcgid \
157   libfile-copy-recursive-perl postgresql libalgorithm-checkdigits-perl \
158   libcrypt-pbkdf2-perl git libcgi-pm-perl libtext-unidecode-perl libwww-perl\
159   postgresql-contrib aqbanking-tools poppler-utils libhtml-restrict-perl\
160   libdatetime-set-perl libset-infinite-perl liblist-utilsby-perl\
161   libdaemon-generic-perl libfile-flock-perl libfile-slurp-perl
162
163 </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.
164           Das geht bspw. für das benötige Paket HTML::Restrict mit:</p><pre class="programlisting">apt-get install build-essential
165 cpan HTML::Restrict</pre></div><div class="sect3" title="2.2.2.2. Fedora"><div class="titlepage"><div><div><h4 class="title"><a name="d0e556"></a>2.2.2.2. Fedora</h4></div></div></div><p>Für Fedora stehen die meisten der benötigten Perl-Pakete als
166           RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
167           installiert werden:</p><pre class="programlisting">dnf install httpd mod_fcgid postgresql-server postgresql-contrib\
168   perl-Algorithm-CheckDigits perl-Archive-Zip perl-CPAN perl-Class-XSAccessor \
169   perl-Clone perl-Config-Std perl-DBD-Pg perl-DBI perl-Daemon-Generic \
170   perl-DateTime perl-DateTime-Set perl-Email-Address perl-Email-MIME perl-FCGI \
171   perl-File-Copy-Recursive perl-File-Flock perl-File-MimeInfo perl-File-Slurp \
172   perl-GD perl-HTML-Restrict perl-JSON perl-List-MoreUtils perl-List-UtilsBy \
173   perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PBKDF2-Tiny perl-PDF-API2 \
174   perl-Params-Validate perl-Regexp-IPv6 perl-Rose-DB perl-Rose-DB-Object \
175   perl-Rose-Object perl-Sort-Naturally perl-String-ShellQuote \
176   perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer \
177   perl-YAML perl-libwww-perl</pre></div><div class="sect3" title="2.2.2.3. openSUSE"><div class="titlepage"><div><div><h4 class="title"><a name="d0e563"></a>2.2.2.3. openSUSE</h4></div></div></div><p>Für openSUSE stehen die meisten der benötigten Perl-Pakete als
178           RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
179           installiert werden:</p><pre class="programlisting">zypper install apache2 apache2-mod_fcgid postgresql-server postgresql-contrib\
180   perl-Algorithm-CheckDigits perl-Archive-Zip perl-CGI perl-Class-XSAccessor \
181   perl-Clone perl-Config-Std perl-DBD-Pg perl-DBI perl-Daemon-Generic \
182   perl-DateTime perl-DateTime-Format-Strptime perl-Email-Address \
183   perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-File-Flock \
184   perl-File-MimeInfo perl-File-Slurp perl-GD perl-Image-Info perl-JSON \
185   perl-List-MoreUtils perl-List-UtilsBy perl-Net-SMTP-SSL perl-Net-SSLGlue \
186   perl-PDF-API2 perl-Params-Validate perl-Regexp-IPv6 perl-Set-Crontab \
187   perl-Sort-Naturally perl-String-ShellQuote perl-Template-Toolkit \
188   perl-Text-CSV_XS perl-Text-Iconv perl-Text-Unidecode perl-URI \
189   perl-XML-Writer perl-YAML perl-libwww-perl
190           </pre><p>Zusätzlich müssen einige Pakete aus dem CPAN installiert
191           werden. Dazu können Sie die folgenden Befehle nutzen:</p><pre class="programlisting">cpan DateTime::event::Cron DateTime::Set FCGI \
192   HTML::Restrict PBKDF2::Tiny Rose::Db::Object Set::Infinite</pre></div></div><div class="sect2" title="2.2.3. Andere Pakete installieren"><div class="titlepage"><div><div><h3 class="title"><a name="d0e574"></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
193         'aqbanking-tools' benötigt.</p><p>Debian und Ubuntu: </p><pre class="programlisting">apt install aqbanking-tools
194         </pre><p>
195             </p><p>Fedora: </p><pre class="programlisting">dnf install aqbanking</pre><p>
196             </p><p>openSUSE: </p><pre class="programlisting">zypper install aqbanking-tools</pre><p>
197             </p><p>Seit Version v3.4.1 wird generell zum Feststellen der
198         Seitenanzahl von PDF_Dokumenten 'pdfinfo' benötigt was im Paket
199         'poppler-utils' enthalten ist.</p><p>Debian und Ubuntu: </p><pre class="programlisting">apt install poppler-utils
200         </pre><p>
201             </p><p>Fedora: </p><pre class="programlisting">dnf install poppler-utils</pre><p>
202             </p><p>openSUSE: </p><pre class="programlisting">zypper install poppler-tools</pre><p>
203             </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>