From 8abaa19bd355cb702b0d78fe3656cb97c96a8389 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Jan=20B=C3=BCren?=
Anfang 2019 sind das folgende Systeme, von denen bekannt ist, - dass kivitendo auf ihnen läuft:
Debian
7.0 "Wheezy"
8.0 "Jessie"
9.0 "Stretch"
Ubuntu 14.04 "Trusty Tahr" LTS, 15.10 "Wily Werewolf", 16.04 "Xenial Xerus" LTS - und 18.04 "Bionic Beaver" LTS -
openSUSE LEAP 42.1
Fedora 22
Zum Betrieb von kivitendo werden zwingend ein Webserver (meist + dass kivitendo auf ihnen läuft:
Debian
8.0 "Jessie"
9.0 "Stretch"
16.04 "Xenial Xerus" LTS und 18.04 "Bionic Beaver" LTS +
openSUSE 15.0
Fedora 29
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, 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:
- parent
(nur bei Perl vor 5.10.1)
- Archive::Zip
-
Algorithm::CheckDigits
+
+ Archive::Zip
CGI
Clone
Config::Std
+
+ Daemon::Generic
DateTime
+
+ DateTime::Event::Cron
DateTime::Format::Strptime
+
+ DateTime::Set
DBI
@@ -41,8 +45,12 @@
FCGI
(nicht Versionen 0.68 bis 0.71
inklusive; siehe Abschnitt 2.6.2.3, âGetestete Kombinationen aus Webservern und Pluginâ)
File::Copy::Recursive
+
+ File::Flock
File::MimeInfo
+
+ File::Slurp
GD
@@ -67,6 +75,8 @@
PBKDF2::Tiny
PDF::API2
+
+ Regexp::IPv6
Rose::Object
@@ -74,6 +84,10 @@
Rose::DB::Object
Version 0.788 oder
neuer
+ Set::Infinite
+
+ Set::Crontab
+
String::ShellQuote
Sort::Naturally
@@ -91,29 +105,18 @@
XML::Writer
YAML
-
Seit Version gröÃer v3.5.1 sind die folgenden Pakete
- hinzugekommen:
- Set::Infinite
,
- List::UtilsBy
,
- DateTime::Set
,
- DateTime::Event::Cron
-
- Daemon::Generic
-
- DateTime::Event::Cron
+
Seit Version gröÃer v3.5.1 sind die folgenden Pakete hinzugekommen: Set::Infinite
,
+ List::UtilsBy
, DateTime::Set
, DateTime::Event::Cron
+ Daemon::Generic
+ DateTime::Event::Cron
File::Flock
- File::Slurp
-
- Set::Crontab
-
- Exception::Lite
-
-
Seit Version gröÃer v3.5.0 sind die folgenden Pakete
+ File::Slurp
+ Set::Crontab
+ Exception::Lite
. Für die letzten beiden Module
+ liefert kivitendo fallback-Module aus, da diese überhaupt nicht in debian oder in der benötigten Version zu Verfügung stehen (Stand
+ Anfang 2019).
Seit Version gröÃer v3.5.0 sind die folgenden Pakete
hinzugekommen: Text::Unidecode
,
LWP::Authen::Digest
,
LWP::UserAgent
@@ -140,7 +143,7 @@ diese überhaupt nicht in debian oder in der benötigten Version zu Verfügung s
sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
zukünftigen Version aber aus dem Paket entfernt werden. 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.
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 \ @@ -159,26 +162,34 @@ diese überhaupt nicht in debian oder in der benötigten Version zu Verfügung s
Ab Ubuntu Version 18.04 LTS sind alle benötigten Pakete in der Distributions verfügbar.
Für ältere Ubuntu/Debians müÃen einige Pakete per CPAN installiert werden. Das geht bspw. für das benötige Paket HTML::Restrict mit:
apt-get install build-essential -cpan HTML::Restrict
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 perl-Archive-Zip perl-Clone perl-DBD-Pg \ - perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FCGI \ - perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue \ - perl-PDF-API2 perl-Params-Validate perl-Rose-DB perl-Rose-DB-Object \ + installiert werden:dnf install httpd mod_fcgid postgresql-server \ + 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-parent postgresql-server perl-CPAN \ - perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor perl-Text-Balanced perl-libwww-perlZusätzlich müssen einige Pakete aus dem CPAN installiert - werden. Dazu können Sie die folgenden Befehle nutzen:
cpan Config::Std HTML::Restrict
Für openSUSE stehen die meisten der benötigten Perl-Pakete als + perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer \ + perl-YAML perl-libwww-perl
Für openSUSE stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl - installiert werden:
zypper install apache2 apache2-mod_fcgid perl-Archive-Zip perl-Clone \ - perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address \ - perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils \ - perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PDF-API2 perl-Params-Validate \ - perl-Sort-Naturally perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \ - perl-URI perl-XML-Writer perl-YAML perl-CPAN \ - perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor postgresql-server perl-libwwww-perl
Zusätzlich müssen einige Pakete aus dem CPAN installiert - werden. Dazu können Sie die folgenden Befehle nutzen:
cpan Rose::Db::Object
Seit Version v3.4.0 wird für den Bankimport optional das Paket + installiert werden:
zypper install apache2 apache2-mod_fcgid postgresql-server \ + perl-Algorithm-CheckDigits perl-Archive-Zip perl-CGI perl-Class-XSAccessor \ + perl-Clone perl-Config-Std perl-DBD-Pg perl-DBI perl-Daemon-Generic \ + perl-DateTime perl-DateTime-Format-Strptime perl-Email-Address \ + perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-File-Flock \ + perl-File-MimeInfo perl-File-Slurp perl-GD perl-Image-Info perl-JSON \ + perl-List-MoreUtils perl-List-UtilsBy perl-Net-SMTP-SSL perl-Net-SSLGlue \ + perl-PDF-API2 perl-Params-Validate perl-Regexp-IPv6 perl-Set-Crontab \ + perl-Sort-Naturally perl-String-ShellQuote perl-Template-Toolkit \ + perl-Text-CSV_XS perl-Text-Iconv perl-Text-Unidecode perl-URI \ + perl-XML-Writer perl-YAML perl-libwww-perl +
Zusätzlich müssen einige Pakete aus dem CPAN installiert + werden. Dazu können Sie die folgenden Befehle nutzen:
cpan DateTime::event::Cron DateTime::Set FCGI \ + HTML::Restrict PBKDF2::Tiny Rose::Db::Object Set::Infinite
Seit Version v3.4.0 wird für den Bankimport optional das Paket 'aqbanking-tools' benötigt.
Debian und Ubuntu:
apt install aqbanking-tools
Fedora:
dnf install aqbanking
diff --git a/doc/html/ch02s06.html b/doc/html/ch02s06.html index f652a7c9d..76384fbac 100644 --- a/doc/html/ch02s06.html +++ b/doc/html/ch02s06.html @@ -1,6 +1,6 @@
-Anmerkung | ||||||
---|---|---|---|---|---|---|
Für einen deutlichen Performanceschub sorgt die Ausführung +
Der Zugriff auf das Programmverzeichnis muss in der Apache
Webserverkonfigurationsdatei Dann ist unter Für einen deutlichen Sicherheitsmehrwert sorgt die Ausführung + FastCGI-Version. Für einen deutlichen Sicherheitsmehrwert sorgt die Ausführung von kivitendo nur über https-verschlüsselten Verbindungen, sowie weiteren Zusatzmassnahmen, wie beispielsweise Basic Authenticate. Die Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser diff --git a/doc/html/ch02s07.html b/doc/html/ch02s07.html index 4b9545193..2daec0b78 100644 --- a/doc/html/ch02s07.html +++ b/doc/html/ch02s07.html @@ -39,7 +39,7 @@ Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess einzubinden. Da das bei neueren Linux-Distributionen aber nicht zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die - anstelle eines symbolischen Links verwendet werden können. 2.7.3.1. SystemV-basierende Systeme (z.B. ältere Debian, ältere
+ anstelle eines symbolischen Links verwendet werden können.Kopieren Sie die Datei
Danach kann der Task-Server mit dem folgenden Befehl gestartet - werden: /etc/init.d/kivitendo-task-server start Kopieren Sie die Datei + werden: /etc/init.d/kivitendo-task-server start Kopieren Sie die Datei
Danach kann der Task-Server mit dem folgenden Befehl gestartet - werden: service kivitendo-task-server start 2.7.3.3. systemd-basierende Systeme (z.B. neure openSUSE, neuere
+ werden: |
Warnung | |
---|---|
Zugriff auf die Konfiguration erfolgt im Moment über - Hashkeys, sind also nicht gegen Tippfehler abgesichert. |
Objekt der Klasse
"SL::InstanceConfiguration
"
wird pro Request neu erstellt
Funktioniert wie $::lx_office_conf
,
speichert aber Daten die von der Instanz abhängig sind. Eine Instanz
ist hier eine Mandantendatenbank. Beispielsweise überprüft
$::instance_conf->get_inventory_system eq 'perpetual'
- ob die berüchtigte Bestandsmethode zur Anwendung kommt.
Objekt der Klasse + ob die berüchtigte Bestandsmethode zur Anwendung kommt.
Objekt der Klasse
"SL::Dispatcher
"
wird pro Serverprozess erstellt.
enthält Informationen über die technische Verbindung zum Server
Der dritte Punkt ist auch der einzige Grund warum das Objekt global gespeichert wird. Wird vermutlich irgendwann in einem anderen - Objekt untergebracht.
Hashref (evtl später Objekt)
Wird pro Request neu initialisiert.
Keine Unterstruktur garantiert.
+ Objekt untergebracht.
Hashref (evtl später Objekt)
Wird pro Request neu initialisiert.
Keine Unterstruktur garantiert.
$::request
ist ein generischer Platz um
Daten "für den aktuellen Request" abzulegen. Sollte nicht für action
at a distance benutzt werden, sondern um lokales memoizing zu
@@ -176,20 +176,20 @@ file_name = /tmp/kivitendo-debug.log
ist der Key f
$::request
Muss ich von anderen Teilen des Programms lesend drauf
zugreifen? Dann $::request
, aber Zugriff über
- Wrappermethode
Die folgenden Variablen waren einmal im Programm, und wurden - entfernt.
Die folgenden Variablen waren einmal im Programm, und wurden + entfernt.
war nötig, weil cookie Methoden nicht als Klassenfunktionen funktionieren
Aufruf als Klasse erzeugt Dummyobjekt was im Klassennamespace gehalten wird und über Requestgrenzen leaked
liegt jetzt unter
$::request->{cgi}
-
war nötig, weil einige Funktionen in Schleifen zum Teil ein paar hundert mal pro Request eine Liste der Einheiten brauchen, und de als Parameter durch einen Riesenstack von Funktionen geschleift werden müssten.
Liegt jetzt unter
$::request->{cache}{all_units}
Wird nur in
AM->retrieve_all_units()
gesetzt oder
- gelesen.
Inhaltsverzeichnis
Inhaltsverzeichnis
2}>`|MM=Q
z?avx<#VS#WSkpjX