Projekt

Allgemein

Profil

Herunterladen (24,8 KB) Statistiken
| Zweig: | Markierung: | Revision:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<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.9.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. Installation mittels Ansible auf Ubuntu 22.04"></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
unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
ohne große Probleme auf den derzeit aktuellen verbreiteten
Distributionen läuft.</p><p>Mitte 2024 (ab Version 3.9) 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>11.0 "Bullseye"</p></li><li class="listitem"><p>12.0 "Bookworm"</p></li></ul></div></li><li class="listitem"><p>Ubuntu</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>20.04 "Focal Fossa" LTS</p></li><li class="listitem"><p>22.04 "Jammy Jellyfish" LTS</p></li></ul></div></li><li class="listitem"><p>openSUSE Leap 15.5 und SUSE Linux Enterprise Server 15 SP4</p></li><li class="listitem"><p>Fedora 39</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
Apache) und ein Datenbankserver (PostgreSQL) in einer aktuellen
Version (s.a. Liste der unterstützten Betriebssysteme)
benötigt.</p><p>Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht
Bestandteil einer Standard-Perl-Installation sind. Um nach der
Installation von Kivitendo zu überprüfen,
ob die erforderlichen Pakete installiert und aktuell genug sind, wird
ein Script mitgeliefert, das wie folgt aufgerufen wird:</p><pre class="programlisting">./scripts/installation_check.pl</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"><a name="List-Moreutils"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Das Paket <code class="literal">List::MoreUtils</code> wird benötigt um das Script ausführen zu können!</p></td></tr></table></div><p>Die vollständige Liste der benötigten Perl-Module lautet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">Algorithm::CheckDigits</code>
</p></li><li class="listitem"><p>
<code class="literal">Archive::Zip</code>
</p></li><li class="listitem"><p>
<code class="literal">CGI</code>
</p></li><li class="listitem"><p>
<code class="literal">Clone</code>
</p></li><li class="listitem"><p>
<code class="literal">Config::Std</code>
</p></li><li class="listitem"><p>
<code class="literal">Daemon::Generic</code>
</p></li><li class="listitem"><p>
<code class="literal">DateTime</code>
</p></li><li class="listitem"><p>
<code class="literal">DateTime::Event::Cron</code>
</p></li><li class="listitem"><p>
<code class="literal">DateTime::Format::Strptime</code>
</p></li><li class="listitem"><p>
<code class="literal">DateTime::Set</code>
</p></li><li class="listitem"><p>
<code class="literal">DBI</code>
</p></li><li class="listitem"><p>
<code class="literal">DBD::Pg</code>
</p></li><li class="listitem"><p>
<code class="literal">Digest::SHA</code>
</p></li><li class="listitem"><p>
<code class="literal">Email::Address</code>
</p></li><li class="listitem"><p>
<code class="literal">Email::MIME</code>
</p></li><li class="listitem"><p>
<code class="literal">Encode::IMAPUTF7</code>
</p></li><li class="listitem"><p>
<code class="literal">Exception::Class</code>
</p></li><li class="listitem"><p>
<code class="literal">FCGI</code>
</p></li><li class="listitem"><p>
<code class="literal">File::Copy::Recursive</code>
</p></li><li class="listitem"><p>
<code class="literal">File::Flock</code>
</p></li><li class="listitem"><p>
<code class="literal">File::MimeInfo</code>
</p></li><li class="listitem"><p>
<code class="literal">File::Slurp</code>
</p></li><li class="listitem"><p>
<code class="literal">GD</code>
</p></li><li class="listitem"><p>
<code class="literal">HTML::Parser</code>
</p></li><li class="listitem"><p>
<code class="literal">HTML::Restrict</code>
</p></li><li class="listitem"><p>
<code class="literal">Image::Info</code>
</p></li><li class="listitem"><p>
<code class="literal">Imager</code>
</p></li><li class="listitem"><p>
<code class="literal">Imager::QRCode</code>
</p></li><li class="listitem"><p>
<code class="literal">IPC::Run</code>
</p></li><li class="listitem"><p>
<code class="literal">JSON</code>
</p></li><li class="listitem"><p>
<code class="literal">List::MoreUtils</code>
</p></li><li class="listitem"><p>
<code class="literal">List::UtilsBy</code>
</p></li><li class="listitem"><p>LWP::Authen::Digest</p></li><li class="listitem"><p>LWP::UserAgent</p></li><li class="listitem"><p>
<code class="literal">Mail::IMAPClient</code>
</p></li><li class="listitem"><p>
<code class="literal">Net::SMTP::SSL</code> (optional, bei
E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s13.html#config.sending-email.smtp" title="2.13.1.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
<code class="literal">Net::SSLGlue</code> (optional, bei
E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s13.html#config.sending-email.smtp" title="2.13.1.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
<code class="literal">Math::Round</code>
</p></li><li class="listitem"><p>
<code class="literal">Params::Validate</code>
</p></li><li class="listitem"><p>
<code class="literal">PBKDF2::Tiny</code>
</p></li><li class="listitem"><p>
<code class="literal">PDF::API2</code>
</p></li><li class="listitem"><p>
<code class="literal">Regexp::IPv6</code>
</p></li><li class="listitem"><p>
<code class="literal">Rest::Client</code>
</p></li><li class="listitem"><p>
<code class="literal">Rose::Object</code>
</p></li><li class="listitem"><p>
<code class="literal">Rose::DB</code>
</p></li><li class="listitem"><p>
<code class="literal">Rose::DB::Object</code> Version 0.788 oder
neuer</p></li><li class="listitem"><p>
<code class="literal">Set::Infinite</code>
</p></li><li class="listitem"><p>
<code class="literal">String::ShellQuote</code>
</p></li><li class="listitem"><p>
<code class="literal">Sort::Naturally</code>
</p></li><li class="listitem"><p>
<code class="literal">Template</code>
</p></li><li class="listitem"><p>
<code class="literal">Text::CSV_XS</code>
</p></li><li class="listitem"><p>
<code class="literal">Text::Iconv</code>
</p></li><li class="listitem"><p>
<code class="literal">Text::Unidecode</code>
</p></li><li class="listitem"><p>
<code class="literal">Try::Tiny</code>
</p></li><li class="listitem"><p>
<code class="literal">URI</code>
</p></li><li class="listitem"><p>
<code class="literal">XML::Writer</code>
</p></li><li class="listitem"><p>
<code class="literal">XML::LibXML</code>
</p></li><li class="listitem"><p>
<code class="literal">YAML::XS</code> oder <code class="literal">YAML</code>
</p></li><li class="listitem"><p>
<code class="literal">UUID::Tiny</code>
</p></li></ul></div><p>In der Version v3.9.1 sind keine neuen Pakete hinzugekommen.</p><p>In der Version v3.9.0 sind die folgenden Pakete hinzugekommen:
<code class="literal">Mail::IMAPClient</code>, <code class="literal">Encode::IMAPUTF7</code>.
Nicht mehr benötigt wird <code class="literal">CAM::PDF</code>.
</p><p>In der Version v3.8.0 sind keine neuen Pakete hinzugekommen.</p><p>In der Version v3.7.0 sind keine neuen Pakete hinzugekommen.</p><p>Seit Version größer v3.6.0 sind die folgenden Pakete hinzugekommen: <code class="literal">IPC::Run</code>
</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>

<code class="literal">Rest::Client</code>
<code class="literal">Term::ReadLine::Gnu</code>
</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>
</p><p>Seit Version größer v3.5.6 sind die folgenden Pakete hinzugekommen: <code class="literal">XML::LibXML</code>
</p><p>Seit Version größer v3.5.3 sind die folgenden Pakete hinzugekommen: <code class="literal">Exception::Class</code>
</p><p>Seit Version größer v3.5.1 sind die folgenden Pakete hinzugekommen: <code class="literal">Set::Infinite</code>,
<code class="literal">List::UtilsBy</code>, <code class="literal">DateTime::Set</code>, <code class="literal">DateTime::Event::Cron</code>
<code class="literal">Daemon::Generic</code>, <code class="literal">DateTime::Event::Cron</code>, <code class="literal">File::Flock</code>,
<code class="literal">File::Slurp</code>
</p><p>Seit Version größer v3.5.0 sind die folgenden Pakete
hinzugekommen: <code class="literal">Text::Unidecode</code>,
<code class="literal">LWP::Authen::Digest</code>,
<code class="literal">LWP::UserAgent</code>
</p><p>Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen:
<code class="literal">Algorithm::CheckDigits</code>,
<code class="literal">PBKDF2::Tiny</code>
</p><p>Seit Version v3.2.0 sind die folgenden Pakete hinzugekommen:
<code class="literal">GD</code>, <code class="literal">HTML::Restrict</code>,
<code class="literal">Image::Info</code>
</p><p>Seit v3.0.0 sind die folgenden Pakete hinzugekommen:
<code class="literal">File::Copy::Recursive</code>.</p><p>Seit v2.7.0 sind die folgenden Pakete hinzugekommen:
<code class="literal">Email::MIME</code>, <code class="literal">Net::SMTP::SSL</code>,
<code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
hinzugekommen, <code class="literal">URI</code> und
<code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
nicht.</p><p>Gegenüber Version 2.6.3 ist <code class="literal">JSON</code> neu
hinzugekommen.</p><p>
<code class="literal">Email::Address</code> und
<code class="literal">List::MoreUtils</code> wurden aus dem Lieferumfang entfernt. Es wird
empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
installieren.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
<code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
<code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
neu hinzugekommen. <code class="literal">IO::Wrap</code> wurde entfernt.</p><div class="sect3" title="2.2.2.1. Debian und Ubuntu"><div class="titlepage"><div><div><h4 class="title"><a name="d0e671"></a>2.2.2.1. Debian und Ubuntu</h4></div></div></div><p>Für Debian und Ubuntu stehen die meisten der benötigten
Pakete als Debian-Pakete zur Verfügung. Sie können mit
folgendem Befehl installiert werden:</p><pre class="programlisting">apt install apache2 libarchive-zip-perl libclone-perl \
libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-perl \
libemail-address-perl libemail-mime-perl libfcgi-perl libjson-perl \
liblist-moreutils-perl libnet-smtp-ssl-perl libnet-sslglue-perl \
libparams-validate-perl libpdf-api2-perl librose-db-object-perl \
librose-db-perl librose-object-perl libsort-naturally-perl \
libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \
libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \
libimage-info-perl libgd-gd2-perl libapache2-mod-fcgid \
libfile-copy-recursive-perl postgresql libalgorithm-checkdigits-perl \
libcrypt-pbkdf2-perl git libcgi-pm-perl libtext-unidecode-perl libwww-perl \
postgresql-contrib poppler-utils libhtml-restrict-perl \
libdatetime-set-perl libset-infinite-perl liblist-utilsby-perl \
libdaemon-generic-perl libfile-flock-perl libfile-slurp-perl \
libfile-mimeinfo-perl libpbkdf2-tiny-perl libregexp-ipv6-perl \
libdatetime-event-cron-perl libexception-class-perl \
libxml-libxml-perl libtry-tiny-perl libmath-round-perl \
libimager-perl libimager-qrcode-perl librest-client-perl libipc-run-perl \
libencode-imaputf7-perl libmail-imapclient-perl libuuid-tiny-perl
</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:
</p><pre class="programlisting">add-apt-repository universe</pre><p>
</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="d0e686"></a>2.2.2.2. Fedora</h4></div></div></div><p>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:</p><pre class="programlisting">dnf install httpd mod_fcgid postgresql-server postgresql-contrib\
perl-Algorithm-CheckDigits perl-Archive-Zip perl-CPAN perl-Class-XSAccessor \
perl-Clone perl-Config-Std perl-DBD-Pg perl-DBI perl-Daemon-Generic \
perl-DateTime perl-DateTime-Set perl-Email-Address perl-Email-MIME perl-FCGI \
perl-File-Copy-Recursive perl-File-Flock perl-File-MimeInfo perl-File-Slurp \
perl-GD perl-HTML-Restrict perl-JSON perl-List-MoreUtils perl-List-UtilsBy \
perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PBKDF2-Tiny perl-PDF-API2 \
perl-Params-Validate perl-Regexp-IPv6 perl-Rose-DB perl-Rose-DB-Object \
perl-Rose-Object perl-Sort-Naturally perl-String-ShellQuote \
perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer \
perl-YAML perl-libwww-perl</pre></div><div class="sect3" title="2.2.2.3. openSUSE Leap 15.4 und SUSE Linux Enterprise Server 15"><div class="titlepage"><div><div><h4 class="title"><a name="d0e693"></a>2.2.2.3. openSUSE Leap 15.4 und SUSE Linux Enterprise Server 15</h4></div></div></div><p>Für openSUSE Leap 15.4, sowie SLES 15 stehen alle 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><p>Das ERP kivitendo Repository:</p><pre class="programlisting">zypper addrepo -f -p 90 \
http://download.opensuse.org/repositories/Application:/ERP:/kivitendo/15.4/ \
"OSS-15.4-App_ERP_kivitendo"</pre><p>Das ERP kivitendo Evaluation Repository:</p><pre class="programlisting">zypper addrepo -f -p 90 \
http://download.opensuse.org/repositories/Application:/ERP:/kivitendo:/eval/15.4/ \
"OSS-15.4-App_ERP_kivitendo_eval"</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 Repository 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.4 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 SLE 15 als Programmunterbau angepasst. Dies gilt besonders der openSUSE Distribution. Es gibt ja einmal die openSUSE Distri und die professionelle SLE (SUSE Linux Enterprise) Version. Dadurch sind viele Pakete aus dem ursprünglich nur für die openSUSE geltenen Repository enfernt worden, aber auch viele auf aktuellem Stand gehalten. Mit der openSUSE Leap 15.4 ist es dem Benutzer ganz einfach gemacht worden zur professionellen SUSE Linux Enterprise zu wechseln, da die RPM Paketbasis identisch ist.</p></td></tr></table></div><p>Ob openSUSE Leap oder SLE, man kann 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. Diese Variante wird gerne auch als 'Server', 'minimale Server' oder auch 'minmal X' Variante bezeichnet.</p><p>Als Administrator hatte man jedoch auch immer die Möglichkeit, bei der Installation der Distribution die KDE (graphische) 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 kivitendo-erp</pre><p>Für Entwickler installiert man noch das folgende Paket:</p><pre class="programlisting">zypper install kivitendo-erp-devel</pre></div></div><div class="sect2" title="2.2.3. Andere Pakete installieren"><div class="titlepage"><div><div><h3 class="title"><a name="d0e749"></a>2.2.3. Andere Pakete installieren</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">poppler-utils</code> 'pdfinfo' zum Erkennen der Seitenanzahl bei der PDF-Generierung</p></li><li class="listitem"><p>
<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>
</p><p>Fedora: </p><pre class="programlisting">dnf install poppler-utils postgresql-contrib</pre><p>
</p><p>openSUSE:</p><pre class="programlisting">Nicht notwendig, da poppler-utils bereits i.v.m. kivitendo-erp installiert wird</pre><p>
</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. Installation mittels Ansible auf Ubuntu 22.04</td></tr></table></div></body></html>
(3-3/48)