Kapitel 2. Installation und Grundkonfiguration

2.1. Benötigte Software und Pakete

2.1.1. Betriebssystem

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 2012 sind das folgende Systeme, von denen bekannt ist, dass kivitendo auf ihnen läuft:

  • Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot

  • Debian 5.0 Lenny und 6.0 Squeeze

  • openSUSE 11.2 und 11.3

  • SuSE Linux Enterprice Server 11

  • Fedora 13 bis 16

2.1.2. Pakete

Zum Betrieb von kivitendo werden zwingend ein Webserver (meist Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2) benötigt.

Zusätzlich benötigt kivitendo die folgenden Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind:

  • parent

  • Archive::Zip

  • Config::Std

  • DateTime

  • DBI

  • DBD::Pg

  • Email::Address

  • Email::MIME

  • JSON

  • List::MoreUtils

  • Net::SMTP::SSL (optional, bei 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")

  • Params::Validate

  • PDF::API2

  • Rose::Object

  • Rose::DB

  • Rose::DB::Object

  • Template

  • Text::CSV_XS

  • Text::Iconv

  • URI

  • XML::Writer

  • YAML

Seit v2.7.0 sind die folgenden Pakete hinzugekommen: Email::MIME, Net::SMTP::SSL, 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 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 empfohlen diese Module zusammen mit den anderen als Bibliotheken zu installieren.

Die zu installierenden Pakete können in den verschiedenen Distributionen unterschiedlich heißen.

Für Debian oder Ubuntu benötigen Sie diese Pakete:

apt-get install apache2 postgresql libparent-perl libarchive-zip-perl \
  libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
  libemail-address-perl libemail-mime-perl liblist-moreutils-perl libpdf-api2-perl \
  librose-object-perl librose-db-perl librose-db-object-perl \
  libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl \
  libxml-writer-perl libyaml-perl libconfig-std-perl \
  libparams-validate-perl libjson-perl libclass-accessor-perl \
  libnet-sslglue-perl libnet-smtp-ssl-perl

Für Fedora Core benötigen Sie diese Pakete:

yum install httpd postgresql-server perl-parent perl-DateTime \
  perl-DBI perl-DBD-Pg perl-Email-Address perl-Email-MIME perl-List-MoreUtils \
  perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object \
  perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
  perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL

Für OpenSuSE benötigen Sie diese Pakete:

zypper install apache2 postgresql-server perl-Archive-Zip \
  perl-DateTime perl-DBI perl-DBD-Pg perl-Email-MIME perl-MailTools perl-List-MoreUtils \
  perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
  perl-URI perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL

kivitendo enthält ein Script, mit dem überprüft werden kann, ob alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie folgt:

./scripts/installation_check.pl