X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/270368abc58123fae1025ae4532f0b2a981d09eb..f217d072d76183bc07723dcc29503b732bd2022d:/doc/html/ch02s02.html diff --git a/doc/html/ch02s02.html b/doc/html/ch02s02.html index c72cdb59b..d6a4a88f1 100644 --- a/doc/html/ch02s02.html +++ b/doc/html/ch02s02.html @@ -1,23 +1,21 @@
-kivitendo ist für Linux konzipiert, und sollte auf jedem +
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.
Mitte 2020 (ab Version 3.5.6) empfehlen wir:
Debian
10.0 "Buster"
11.0 "Bullseye"
20.04 "Focal Fossa" LTS -
openSUSE Leap 15.x und SUSE Linux Enterprise Server 15 GA
Fedora 29
Zum Betrieb von kivitendo werden zwingend ein Webserver (meist + Distributionen läuft.
Mitte 2024 (ab Version 3.9) empfehlen wir:
Debian
11.0 "Bullseye"
12.0 "Bookworm"
Ubuntu
20.04 "Focal Fossa" LTS
22.04 "Jammy Jellyfish" LTS
openSUSE Leap 15.5 und SUSE Linux Enterprise Server 15 SP4
Fedora 39
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.
Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht - Bestandteil einer Standard-Perl-Installation sind. Um zu überprüfen, + 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:
./scripts/installation_check.pl
Die vollständige Liste der benötigten Perl-Module lautet:
+ ein Script mitgeliefert, das wie folgt aufgerufen wird:
./scripts/installation_check.pl
Die vollständige Liste der benötigten Perl-Module lautet:
Algorithm::CheckDigits
Archive::Zip
-
- CAM::PDF
CGI
@@ -38,15 +36,19 @@
DBI
DBD::Pg
+
+ Digest::SHA
Email::Address
Email::MIME
+
+ Encode::IMAPUTF7
Exception::Class
- FCGI (nicht Versionen 0.68 bis 0.71
- inklusive; siehe Abschnitt 2.6.2.3, âGetestete Kombinationen aus Webservern und Pluginâ)
+ FCGI
+
File::Copy::Recursive
File::Flock
@@ -62,6 +64,12 @@
HTML::Restrict
Image::Info
+
+ Imager
+
+ Imager::QRCode
+
+ IPC::Run
JSON
@@ -69,10 +77,14 @@
List::UtilsBy
LWP::Authen::Digest
LWP::UserAgent
+ Mail::IMAPClient
+
Net::SMTP::SSL (optional, bei
- E-Mail-Versand über SSL; siehe Abschnitt "E-Mail-Versand über einen SMTP-Server")
+ E-Mail-Versand über SSL; siehe Abschnitt "E-Mail-Versand über einen SMTP-Server")
Net::SSLGlue (optional, bei
- E-Mail-Versand über TLS; siehe Abschnitt "E-Mail-Versand über einen SMTP-Server")
+ E-Mail-Versand über TLS; siehe Abschnitt "E-Mail-Versand über einen SMTP-Server")
+ Math::Round
+
Params::Validate
PBKDF2::Tiny
@@ -80,6 +92,8 @@
PDF::API2
Regexp::IPv6
+
+ Rest::Client
Rose::Object
@@ -110,7 +124,18 @@
XML::LibXML
YAML::XS oder YAML
-
Seit Version gröÃer v3.5.6 sind die folgenden Pakete hinzugekommen: XML::LibXML, CAM::PDF
+
+ UUID::Tiny
+
In der Version v3.9.1 sind keine neuen Pakete hinzugekommen.
In der Version v3.9.0 sind die folgenden Pakete hinzugekommen:
+ Mail::IMAPClient, Encode::IMAPUTF7.
+ Nicht mehr benötigt wird CAM::PDF.
+
In der Version v3.8.0 sind keine neuen Pakete hinzugekommen.
In der Version v3.7.0 sind keine neuen Pakete hinzugekommen.
Seit Version gröÃer v3.6.0 sind die folgenden Pakete hinzugekommen: IPC::Run
+
Seit Version gröÃer v3.5.8 sind die folgenden Pakete hinzugekommen: Imager, Imager::QRCode
+
+ Rest::Client
+ Term::ReadLine::Gnu
+
Seit Version gröÃer v3.5.6 sind die folgenden Pakete hinzugekommen: Try::Tiny, Math::Round
+
Seit Version gröÃer v3.5.6 sind die folgenden Pakete hinzugekommen: XML::LibXML
Seit Version gröÃer v3.5.3 sind die folgenden Pakete hinzugekommen: Exception::Class
Seit Version gröÃer v3.5.1 sind die folgenden Pakete hinzugekommen: Set::Infinite,
List::UtilsBy, DateTime::Set, DateTime::Event::Cron
@@ -133,18 +158,15 @@
Net::SSLGlue.
Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
hinzugekommen, URI und
XML::Writer sind notwendig. Ohne startet kivitendo
- nicht.
Gegenüber Version 2.6.1 sind parent,
- DateTime, Rose::Object,
- Rose::DB und Rose::DB::Object
- neu hinzugekommen. IO::Wrap wurde entfernt.
Gegenüber Version 2.6.3 ist JSON neu
+ nicht.
Gegenüber Version 2.6.3 ist JSON neu
hinzugekommen.
Email::Address und
- List::MoreUtils sind schon länger feste
- Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
- sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
- zukünftigen Version aber aus dem Paket entfernt werden. Es wird
+ List::MoreUtils wurden aus dem Lieferumfang entfernt. Es wird
empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
- installieren.
Für Debian und Ubuntu stehen die meisten der benötigten + installieren.
Gegenüber Version 2.6.1 sind parent,
+ DateTime, Rose::Object,
+ Rose::DB und Rose::DB::Object
+ neu hinzugekommen. IO::Wrap wurde entfernt.
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:
apt install apache2 libarchive-zip-perl libclone-perl \ libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-perl \ @@ -156,16 +178,18 @@ 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\ + 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 libcam-pdf-perl \ - libxml-libxml-perl libtry-tiny-perl -
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).
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:
dnf install httpd mod_fcgid postgresql-server postgresql-contrib\ perl-Algorithm-CheckDigits perl-Archive-Zip perl-CPAN perl-Class-XSAccessor \ @@ -177,54 +201,13 @@ 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
Für openSUSE Leap 15.x stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung.
Damit diese installiert werden können, muà das System die erforderlichen Repositories kennen und Zugriff über das Internet darauf haben.
Daher machen wir die Repositories dem System bekannt.
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.
Dazu geben wir folgenden Befehl ein:
zypper addrepo -f \ - http://download.opensuse.org/repositories/devel:languages:perl/openSUSE_Leap_15.2/ \ - "devel:languages:perl" -
zypper addrepo -f \ - https://download.opensuse.org/repositories/devel:languages:haskell:lts:13/\ - openSUSE_Leap_15.0/ "devel:languages:haskell:lts:13" -
zypper addrepo -f \ - https://download.opensuse.org/repositories/devel:languages:haskell:lts:13/\ - openSUSE_Leap_15.0/ "devel:languages:haskell:lts:13" -
Danach geben wir noch die beiden folgenden Befehle ein:
zypper clean
zypper refresh
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.
zypper --help
![]() | Anmerkung |
|---|---|
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. |
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.
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:
yast2 return.
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.
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.
Programmpakete können mit folgendem Befehl installiert werden:
zypper install Paketname
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.
zypper install perl-threads-shared ghc-pdfinfo apache2-mod_fcgid \ - yast2-http-server postgresql-server postgresql-contrib perl-Algorithm-CheckDigits \ - perl-Archive-Zip perl-CGI perl-CGI-Ajax perl-Clone \ - perl-Config-Std perl-Class-XSAccessor perl-Daemon-Generic perl-DateTime \ - perl-DateTime-Event-Cron perl-DateTime-Format-Strptime perl-DateTime-Set \ - perl-DBI perl-DBD-Pg perl-Devel-REPL perl-FastCGI perl-Email-Address \ - perl-Email-MIME perl-Email-MIME-ContentType perl-Email-MIME-Encodings \ - perl-FCGI perl-File-Copy-Recursive perl-File-Flock perl-File-MimeInfo \ - perl-File-Slurp perl-GD perl-HTML-Restrict perl-Image-Info \ - perl-JSON perl-List-MoreUtils perl-List-UtilsBy perl-Log-Log4perl perl-Net-LDAP-Server \ - perl-Net-SSLGlue perl-Net-SMTP-SSL perl-PBKDF2-Tiny perl-PDF-API2 \ - perl-Params-Validate perl-Regexp-IPv6 perl-Rose-DB perl-Rose-Object \ - perl-Rose-DB-Object perl-MooseX-Role-Cmd perl-Set-Crontab perl-Set-Infinite \ - perl-Sort-Naturally perl-String-ShellQuote perl-Sys-CPU perl-Template-Toolkit \ - perl-Text-CSV_XS perl-Test-Deep perl-Test-Output perl-Text-Iconv \ - perl-Text-Unidecode perl-URI perl-URI-Find perl-XML-Writer \ - perl-YAML perl-libwww-perl -
Für die Entwickler installiert man noch die folgenden Pakete:
zypper install ghc-mtl-devel ghc-old-locale-devel \ - ghc-process-extras-devel ghc-rpm-macros ghc-text-devel ghc-time-devel \ - ghc-Cabal-devel ghc-time-locale-compat-devel perl-Log-Log4perl ghc-pdfinfo \ - ghc-pdfinfo-devel perl-Devel-REPL perl-URI-Find perl-Class-Utils \ - perl-Error-Pure perl-File-Object perl-Readonly perl-Test-Warnings \ - perl-Test-NoWarnings perl-Test-Deep perl-Test-Output perl-Test-Strict \ - perl-Test-LongString perl-File-Find-Rule -
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. - Dazu können Sie die folgenden Befehle nutzen:
zypper install texlive-wallpaper texlive-colortbl \ - texlive-scrlttr2copy texlive-eurosym \ - texlive-geometry texlive-german texlive-graphbox texlive-hyperref \ - texlive-xifthen texlive-luainputenc texlive-lastpage texlive-ltabptch \ - texlive-nomentbl texlive-threeparttablex texlive-substr texlive-tabulary \ - texlive-ulem texlive-wallpaper texlive-xcolor texlive-xstring \ - texlive-xypic texlive-mwe texlive-mweights texlive-barcodes \ - texlive-GS1 texlive-ean texlive-makebarcode texlive-pst-barcode \ - texlive-upca -
Zusätzlich müssen einige Pakete aus dem CPAN installiert - werden. Dazu können Sie die folgenden Befehle anwenden:
cpan DateTime::event::Cron DateTime::Set FCGI \ - HTML::Restrict PBKDF2::Tiny Rose::Db::Object Set::Infinite
+ perl-YAML perl-libwww-perl
Für openSUSE Leap 15.4, sowie SLES 15 stehen alle benötigten Perl-Pakete als RPM-Pakete zur Verfügung.
Damit diese installiert werden können, muà das System die erforderlichen Repositories kennen und Zugriff über das Internet darauf haben.
Daher machen wir die Repositories dem System bekannt.
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.
Dazu geben wir folgenden Befehl ein:
Das ERP kivitendo Repository:
zypper addrepo -f -p 90 \ + http://download.opensuse.org/repositories/Application:/ERP:/kivitendo/15.4/ \ + "OSS-15.4-App_ERP_kivitendo"
Das ERP kivitendo Evaluation Repository:
zypper addrepo -f -p 90 \ + http://download.opensuse.org/repositories/Application:/ERP:/kivitendo:/eval/15.4/ \ + "OSS-15.4-App_ERP_kivitendo_eval"
Danach geben wir noch die beiden folgenden Befehle ein:
zypper clean
zypper refresh
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.
zypper --help
![]() | Anmerkung |
|---|---|
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. |
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.
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:
yast2 return.
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.
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.
Programmpakete können mit folgendem Befehl installiert werden:
zypper install Paketname
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.
zypper install kivitendo-erp
Für Entwickler installiert man noch das folgende Paket:
zypper install kivitendo-erp-devel
poppler-utils 'pdfinfo' zum Erkennen der Seitenanzahl bei der PDF-Generierung
Postgres Trigram-Index Für datenbankoptimierte Suchanfragen. Bspw. im Paket postgresql-contrib enthalten
Debian und Ubuntu:
apt install postgresql-contrib poppler-utils
Fedora:
dnf install poppler-utils postgresql-contrib
-
openSUSE:
zypper install poppler-tools
-
openSUSE:
Nicht notwendig, da poppler-utils bereits i.v.m. kivitendo-erp installiert wird
+