6ac96eb51b8fed88df2ae0f4a702f5be8d8d7f11
[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.6.0: 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>Mitte 2020 (ab Version 3.5.6) empfehlen wir:</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>10.0 "Buster"</p></li><li class="listitem"><p>11.0 "Bullseye"</p></li></ul></div></li><li class="listitem"><p>20.04 "Focal Fossa" LTS
9           </p></li><li class="listitem"><p>openSUSE Leap 15.x und SUSE Linux Enterprise Server 15 GA</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
10         Apache) und ein Datenbankserver (PostgreSQL) in einer aktuellen
11         Version (s.a. Liste der unterstützten Betriebssysteme)
12         benötigt.</p><p>Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht
13         Bestandteil einer Standard-Perl-Installation sind. Um zu überprüfen,
14         ob die erforderlichen Pakete installiert und aktuell genug sind, wird
15         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>
16                      <code class="literal">Algorithm::CheckDigits</code>
17                   </p></li><li class="listitem"><p>
18                      <code class="literal">Archive::Zip</code>
19                   </p></li><li class="listitem"><p>
20                      <code class="literal">CAM::PDF</code>
21                   </p></li><li class="listitem"><p>
22                      <code class="literal">CGI</code>
23                   </p></li><li class="listitem"><p>
24                      <code class="literal">Clone</code>
25                   </p></li><li class="listitem"><p>
26                      <code class="literal">Config::Std</code>
27                   </p></li><li class="listitem"><p>
28                      <code class="literal">Daemon::Generic</code>
29                   </p></li><li class="listitem"><p>
30                      <code class="literal">DateTime</code>
31                   </p></li><li class="listitem"><p>
32                      <code class="literal">DateTime::Event::Cron</code>
33                   </p></li><li class="listitem"><p>
34                      <code class="literal">DateTime::Format::Strptime</code>
35                   </p></li><li class="listitem"><p>
36                      <code class="literal">DateTime::Set</code>
37                   </p></li><li class="listitem"><p>
38                      <code class="literal">DBI</code>
39                   </p></li><li class="listitem"><p>
40                      <code class="literal">DBD::Pg</code>
41                   </p></li><li class="listitem"><p>
42                      <code class="literal">Digest::SHA</code>
43                   </p></li><li class="listitem"><p>
44                      <code class="literal">Email::Address</code>
45                   </p></li><li class="listitem"><p>
46                      <code class="literal">Email::MIME</code>
47                   </p></li><li class="listitem"><p>
48                      <code class="literal">Exception::Class</code>
49                   </p></li><li class="listitem"><p>
50                      <code class="literal">FCGI</code> (nicht Versionen 0.68 bis 0.71
51             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>
52                      <code class="literal">File::Copy::Recursive</code>
53                   </p></li><li class="listitem"><p>
54                      <code class="literal">File::Flock</code>
55                   </p></li><li class="listitem"><p>
56                      <code class="literal">File::MimeInfo</code>
57                   </p></li><li class="listitem"><p>
58                      <code class="literal">File::Slurp</code>
59                   </p></li><li class="listitem"><p>
60                      <code class="literal">GD</code>
61                   </p></li><li class="listitem"><p>
62                      <code class="literal">HTML::Parser</code>
63                   </p></li><li class="listitem"><p>
64                      <code class="literal">HTML::Restrict</code>
65                   </p></li><li class="listitem"><p>
66                      <code class="literal">Image::Info</code>
67                   </p></li><li class="listitem"><p>
68                      <code class="literal">Imager</code>
69                   </p></li><li class="listitem"><p>
70                      <code class="literal">Imager::QRCode</code>
71                   </p></li><li class="listitem"><p>
72                      <code class="literal">IPC::Run</code>
73                   </p></li><li class="listitem"><p>
74                      <code class="literal">JSON</code>
75                   </p></li><li class="listitem"><p>
76                      <code class="literal">List::MoreUtils</code>
77                   </p></li><li class="listitem"><p>
78                      <code class="literal">List::UtilsBy</code>
79                   </p></li><li class="listitem"><p>LWP::Authen::Digest</p></li><li class="listitem"><p>LWP::UserAgent</p></li><li class="listitem"><p>
80                      <code class="literal">Net::SMTP::SSL</code> (optional, bei
81             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>
82                      <code class="literal">Net::SSLGlue</code> (optional, bei
83             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>
84                      <code class="literal">Math::Round</code>
85                   </p></li><li class="listitem"><p>
86                      <code class="literal">Params::Validate</code>
87                   </p></li><li class="listitem"><p>
88                      <code class="literal">PBKDF2::Tiny</code>
89                   </p></li><li class="listitem"><p>
90                      <code class="literal">PDF::API2</code>
91                   </p></li><li class="listitem"><p>
92                      <code class="literal">Regexp::IPv6</code>
93                   </p></li><li class="listitem"><p>
94                      <code class="literal">Rest::Client</code>
95                   </p></li><li class="listitem"><p>
96                      <code class="literal">Rose::Object</code>
97                   </p></li><li class="listitem"><p>
98                      <code class="literal">Rose::DB</code>
99                   </p></li><li class="listitem"><p>
100                      <code class="literal">Rose::DB::Object</code> Version 0.788 oder
101             neuer</p></li><li class="listitem"><p>
102                      <code class="literal">Set::Infinite</code>
103                   </p></li><li class="listitem"><p>
104                      <code class="literal">String::ShellQuote</code>
105                   </p></li><li class="listitem"><p>
106                      <code class="literal">Sort::Naturally</code>
107                   </p></li><li class="listitem"><p>
108                      <code class="literal">Template</code>
109                   </p></li><li class="listitem"><p>
110                      <code class="literal">Text::CSV_XS</code>
111                   </p></li><li class="listitem"><p>
112                      <code class="literal">Text::Iconv</code>
113                   </p></li><li class="listitem"><p>
114                      <code class="literal">Text::Unidecode</code>
115                   </p></li><li class="listitem"><p>
116                      <code class="literal">Try::Tiny</code>
117                   </p></li><li class="listitem"><p>
118                      <code class="literal">URI</code>
119                   </p></li><li class="listitem"><p>
120                      <code class="literal">XML::Writer</code>
121                   </p></li><li class="listitem"><p>
122                      <code class="literal">XML::LibXML</code>
123                   </p></li><li class="listitem"><p>
124                      <code class="literal">YAML::XS</code> oder <code class="literal">YAML</code>
125                   </p></li></ul></div><p>Seit Version größer v3.6.0 sind die folgenden Pakete hinzugekommen: <code class="literal">IPC::Run</code>
126             </p><p>Seit Version größer v3.5.8 sind die folgenden Pakete hinzugekommen: <code class="literal">Imager</code>, <code class="literal">Imager::QRCode</code>
127
128                <code class="literal">Rest::Client</code>
129                <code class="literal">Term::ReadLine::Gnu</code>
130             </p><p>Seit Version größer v3.5.6 sind die folgenden Pakete hinzugekommen: <code class="literal">Try::Tiny</code>, <code class="literal">Math::Round</code>
131             </p><p>Seit Version größer v3.5.6 sind die folgenden Pakete hinzugekommen: <code class="literal">XML::LibXML</code>, <code class="literal">CAM::PDF</code>
132             </p><p>Seit Version größer v3.5.3 sind die folgenden Pakete hinzugekommen: <code class="literal">Exception::Class</code>
133             </p><p>Seit Version größer v3.5.1 sind die folgenden Pakete hinzugekommen: <code class="literal">Set::Infinite</code>,
134         <code class="literal">List::UtilsBy</code>, <code class="literal">DateTime::Set</code>, <code class="literal">DateTime::Event::Cron</code>
135         
136                <code class="literal">Daemon::Generic</code>, <code class="literal">DateTime::Event::Cron</code>, <code class="literal">File::Flock</code>,
137         <code class="literal">File::Slurp</code>
138             </p><p>Seit Version größer v3.5.0 sind die folgenden Pakete
139         hinzugekommen: <code class="literal">Text::Unidecode</code>,
140         <code class="literal">LWP::Authen::Digest</code>,
141         <code class="literal">LWP::UserAgent</code>
142             </p><p>Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen:
143         <code class="literal">Algorithm::CheckDigits</code>,
144         <code class="literal">PBKDF2::Tiny</code>
145             </p><p>Seit Version v3.2.0 sind die folgenden Pakete hinzugekommen:
146         <code class="literal">GD</code>, <code class="literal">HTML::Restrict</code>,
147         <code class="literal">Image::Info</code>
148             </p><p>Seit v3.0.0 sind die folgenden Pakete hinzugekommen:
149         <code class="literal">File::Copy::Recursive</code>.</p><p>Seit v2.7.0 sind die folgenden Pakete hinzugekommen:
150         <code class="literal">Email::MIME</code>, <code class="literal">Net::SMTP::SSL</code>,
151         <code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
152         hinzugekommen, <code class="literal">URI</code> und
153         <code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
154         nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
155         <code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
156         <code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
157         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
158         hinzugekommen.</p><p>
159                <code class="literal">Email::Address</code> und
160         <code class="literal">List::MoreUtils</code> sind schon länger feste
161         Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
162         sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
163         zukünftigen Version aber aus dem Paket entfernt werden. Es wird
164         empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
165         installieren.</p><div class="sect3" title="2.2.2.1. Debian und Ubuntu"><div class="titlepage"><div><div><h4 class="title"><a name="d0e634"></a>2.2.2.1. Debian und Ubuntu</h4></div></div></div><p>Für Debian und Ubuntu stehen die meisten der benötigten
166           Pakete als Debian-Pakete zur Verfügung. Sie können mit
167           folgendem Befehl installiert werden:</p><pre class="programlisting">apt install  apache2 libarchive-zip-perl libclone-perl \
168   libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-perl \
169   libemail-address-perl  libemail-mime-perl libfcgi-perl libjson-perl \
170   liblist-moreutils-perl libnet-smtp-ssl-perl libnet-sslglue-perl \
171   libparams-validate-perl libpdf-api2-perl librose-db-object-perl \
172   librose-db-perl librose-object-perl libsort-naturally-perl \
173   libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \
174   libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \
175   libimage-info-perl libgd-gd2-perl libapache2-mod-fcgid \
176   libfile-copy-recursive-perl postgresql libalgorithm-checkdigits-perl \
177   libcrypt-pbkdf2-perl git libcgi-pm-perl libtext-unidecode-perl libwww-perl \
178   postgresql-contrib poppler-utils libhtml-restrict-perl \
179   libdatetime-set-perl libset-infinite-perl liblist-utilsby-perl \
180   libdaemon-generic-perl libfile-flock-perl libfile-slurp-perl \
181   libfile-mimeinfo-perl libpbkdf2-tiny-perl libregexp-ipv6-perl \
182   libdatetime-event-cron-perl libexception-class-perl libcam-pdf-perl \
183   libxml-libxml-perl libtry-tiny-perl libmath-round-perl \
184   libimager-perl libimager-qrcode-perl librest-client-perl libipc-run-perl
185           </pre><p>Sollten Pakete nicht zu Verfügung stehen, so können diese auch mittels CPAN installiert werden. Ferner muss für Ubuntu das Repository "Universe" aktiv sein (s.a. Anmerkungen).</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left"><a name="ubuntu-universe"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Die Perl Pakete für Ubuntu befinden sich im "Universe" Repository. Falls dies nicht aktiv ist, kann dies mit folgendem Aufruf aktiviert werden:
186 </p><pre class="programlisting">add-apt-repository universe</pre><p>
187                   </p></td></tr></table></div></div><div class="sect3" title="2.2.2.2. Fedora"><div class="titlepage"><div><div><h4 class="title"><a name="d0e649"></a>2.2.2.2. Fedora</h4></div></div></div><p>Für Fedora stehen die meisten der benötigten Perl-Pakete als
188           RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
189           installiert werden:</p><pre class="programlisting">dnf install httpd mod_fcgid postgresql-server postgresql-contrib\
190   perl-Algorithm-CheckDigits perl-Archive-Zip perl-CPAN perl-Class-XSAccessor \
191   perl-Clone perl-Config-Std perl-DBD-Pg perl-DBI perl-Daemon-Generic \
192   perl-DateTime perl-DateTime-Set perl-Email-Address perl-Email-MIME perl-FCGI \
193   perl-File-Copy-Recursive perl-File-Flock perl-File-MimeInfo perl-File-Slurp \
194   perl-GD perl-HTML-Restrict perl-JSON perl-List-MoreUtils perl-List-UtilsBy \
195   perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PBKDF2-Tiny perl-PDF-API2 \
196   perl-Params-Validate perl-Regexp-IPv6 perl-Rose-DB perl-Rose-DB-Object \
197   perl-Rose-Object perl-Sort-Naturally perl-String-ShellQuote \
198   perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer \
199   perl-YAML perl-libwww-perl</pre></div><div class="sect3" title="2.2.2.3. openSUSE Leap 15.x und SUSE Linux Enterprise Server 15 GA"><div class="titlepage"><div><div><h4 class="title"><a name="d0e656"></a>2.2.2.3. openSUSE Leap 15.x und SUSE Linux Enterprise Server 15 GA</h4></div></div></div><p>Für openSUSE Leap 15.x stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung.</p><p>Damit diese installiert werden können, muß das System die erforderlichen Repositories kennen und Zugriff über das Internet darauf haben.</p><p>Daher machen wir die Repositories dem System bekannt.</p><p>Um die zusätzlichen Repositories für die Installation zur Verfügung zu stellen, kann man diese mit YaST oder auch in einem Terminal auf der Konsole bekannt geben. Wir beschränken uns hier mit der Eingabe auf der Konsole. In den allermeisten Fällen verwenden die Administratoren eine sichere SSH-Verbindung zum zu administrierenden Server.</p><p>Dazu geben wir folgenden Befehl ein:</p><pre class="programlisting">zypper addrepo -f \
200   http://download.opensuse.org/repositories/devel:languages:perl/openSUSE_Leap_15.2/ \
201   "devel:languages:perl"
202           </pre><pre class="programlisting">zypper addrepo -f \
203   https://download.opensuse.org/repositories/devel:languages:haskell:lts:13/\
204   openSUSE_Leap_15.0/ "devel:languages:haskell:lts:13"
205           </pre><pre class="programlisting">zypper addrepo -f \
206   https://download.opensuse.org/repositories/devel:languages:haskell:lts:13/\
207   openSUSE_Leap_15.0/ "devel:languages:haskell:lts:13"
208           </pre><p>Danach geben wir noch die beiden folgenden Befehle ein:</p><pre class="programlisting">zypper clean</pre><pre class="programlisting">zypper refresh</pre><p>Sollte zypper eine Meldung ausgeben, ob der Repositorie Key abgelehnt, nicht vertraut oder für immer akzeptiert werden soll, ist die Beantwortung durch drücken der "i" Taste am besten geeignet. Wer noch mehr über zypper erfahren möchte, kann sich einmal die zypper Hilfe anschauen.</p><pre class="programlisting">zypper --help</pre><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Offiziell wird von openSUSE nur noch Versionen ab 15.2 unterstützt. Die SuSE Macher haben ab Version 15.x einen großen Umbau in der Verwaltung der Pakete vorgenommen, das heißt, der Paketumfang ist der SLES 15 als Programmunterbau angepasst. Dies gilt besonders der openSUSE Distribution. Es gibt ja einmal die openSUSE Distri und die Professionelle SLES Version. Dadurch sind viele Pakete aus dem ursprünglich nur für die openSUSE geltenen Repositorie enfernt worden, aber auch viele auf aktuellem Stand gehalten.</p></td></tr></table></div><p>Ab openSUSE Leap 15.x kann man die Distribution auch als reine Text Version, also ohne KDE Oberfläche aufsetzen. Vorteil hierbei ist, dass weniger Balast und unnötige Pakte installiert werden.</p><p>Bei openSUSE Versionen bis 15.x, also 10.x, 11.x, 12.x, 13.x hatte der Administrator die Möglichkeit, bei der Installation der Distribution die KDE Oberfläche zu aktivieren. In dieser Konstellation hat man die Möglichkeit, eine VNC Verbindung vom administrativen Client zu verwenden. Ist das nicht eingerichtet, arbeitet der Admin dann direkt am Bildschirm des Servers. Nun loggen wir uns am Server direkt ein, starten Yast2 in einer Konsole wie folgt:</p><p>yast2 return.</p><p>Oder über die Menüführung wie folgt: Ein Klick auf das runde Icon, ganz links unten in der Menüleiste, dann die Maus verfahren auf System und YaST.</p><p>Im weiteren Verlauf der Installation, beschränken wir uns mit dem Installations Werkzeug zypper. Zypper ist ein Komandozeilen basiertes Installations Tool, welches bei openSUSE Standard ist. Zypper weist ein etwas eigenartiges Verhalten auf, dass sich in etwa wie folgt darstellt. Hat man die Repositories eingerichtet, kann man diese mit Yast als auch mit Zypper benutzen, setzt man einen Befehl wie etwa: zypper up ab, so findet zypper mehr neuere Programmversionen als Yast. Ich habe im allgemeinen noch keine Nachteile damit erlebt.</p><p>Programmpakete können mit folgendem Befehl installiert werden:</p><p>zypper install Paketname</p><p>Es wird empfohlen zusätzliche Pakete nicht direkt mit CPAN zu installieren, da man diese auch über andere Repositories beziehen kann, die bei openSUSE zur Verfügung stehen. Dadurch hat man den Vorteil, dass die Pakete mit YaST verwaltet werden, also wieder deinstalliert oder durch neuere ersetzt werden können. Zudem kann man auch noch eventuelle Bugs an openSUSE senden und diese dem Maintainer melden.</p><pre class="programlisting">zypper install perl-threads-shared ghc-pdfinfo apache2-mod_fcgid \
209   yast2-http-server postgresql-server postgresql-contrib perl-Algorithm-CheckDigits \
210   perl-Archive-Zip perl-CGI perl-CGI-Ajax perl-Clone \
211   perl-Config-Std perl-Class-XSAccessor perl-Daemon-Generic perl-DateTime \
212   perl-DateTime-Event-Cron perl-DateTime-Format-Strptime perl-DateTime-Set \
213   perl-DBI perl-DBD-Pg perl-Devel-REPL perl-FastCGI perl-Email-Address \
214   perl-Email-MIME perl-Email-MIME-ContentType perl-Email-MIME-Encodings \
215   perl-FCGI perl-File-Copy-Recursive perl-File-Flock perl-File-MimeInfo \
216   perl-File-Slurp perl-GD perl-HTML-Restrict perl-Image-Info \
217   perl-JSON perl-List-MoreUtils perl-List-UtilsBy perl-Log-Log4perl perl-Net-LDAP-Server \
218   perl-Net-SSLGlue perl-Net-SMTP-SSL perl-PBKDF2-Tiny perl-PDF-API2 \
219   perl-Params-Validate perl-Regexp-IPv6 perl-Rose-DB perl-Rose-Object \
220   perl-Rose-DB-Object perl-MooseX-Role-Cmd perl-Set-Crontab perl-Set-Infinite \
221   perl-Sort-Naturally perl-String-ShellQuote perl-Sys-CPU perl-Template-Toolkit \
222   perl-Text-CSV_XS perl-Test-Deep perl-Test-Output perl-Text-Iconv \
223   perl-Text-Unidecode perl-URI perl-URI-Find perl-XML-Writer \
224   perl-YAML perl-libwww-perl
225           </pre><p>Für die Entwickler installiert man noch die folgenden Pakete:</p><pre class="programlisting">zypper install ghc-mtl-devel ghc-old-locale-devel \
226   ghc-process-extras-devel ghc-rpm-macros ghc-text-devel ghc-time-devel \
227   ghc-Cabal-devel ghc-time-locale-compat-devel perl-Log-Log4perl ghc-pdfinfo \
228   ghc-pdfinfo-devel perl-Devel-REPL perl-URI-Find perl-Class-Utils \
229   perl-Error-Pure perl-File-Object perl-Readonly perl-Test-Warnings \
230   perl-Test-NoWarnings perl-Test-Deep perl-Test-Output perl-Test-Strict \
231   perl-Test-LongString perl-File-Find-Rule
232           </pre><p>Zusätzlich müssen einige Pakete für den Umgang mit Latex installiert werden. Die Latex Module barcodes sind nützliche Helfer um auch Barcodes im Dokument zu platzieren, der Vollständigkeit halber hier für die Installation mit angegeben.
233               Dazu können Sie die folgenden Befehle nutzen:</p><pre class="programlisting">zypper install texlive-wallpaper texlive-colortbl \
234   texlive-scrlttr2copy texlive-eurosym \
235   texlive-geometry texlive-german texlive-graphbox texlive-hyperref \
236   texlive-xifthen texlive-luainputenc texlive-lastpage texlive-ltabptch \
237   texlive-nomentbl texlive-threeparttablex texlive-substr texlive-tabulary \
238   texlive-ulem texlive-wallpaper texlive-xcolor texlive-xstring \
239   texlive-xypic texlive-mwe texlive-mweights texlive-barcodes \
240   texlive-GS1 texlive-ean texlive-makebarcode texlive-pst-barcode \
241   texlive-upca
242           </pre><p>Zusätzlich müssen einige Pakete aus dem CPAN installiert
243           werden. Dazu können Sie die folgenden Befehle anwenden:</p><pre class="programlisting">cpan DateTime::event::Cron DateTime::Set FCGI \
244   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="d0e718"></a>2.2.3. Andere Pakete installieren</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
245                      <code class="literal">poppler-utils</code> 'pdfinfo' zum Erkennen der Seitenanzahl bei der PDF-Generierung</p></li><li class="listitem"><p>
246                      <code class="literal">Postgres Trigram-Index</code> Für datenbankoptimierte Suchanfragen. Bspw. im Paket <code class="literal">postgresql-contrib</code> enthalten</p></li></ul></div><p>Debian und Ubuntu: </p><pre class="programlisting">apt install postgresql-contrib poppler-utils</pre><p>
247             </p><p>Fedora: </p><pre class="programlisting">dnf install poppler-utils postgresql-contrib</pre><p>
248             </p><p>openSUSE: </p><pre class="programlisting">zypper install poppler-tools</pre><p>
249             </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>