Pakete bauen

Voraussetzungen / Vorbereitungen

Zum Bau und Betrieb der Software wird ein Linux-System mit 1 GB Arbeitsspeicher, 2-4 GB freiem Festplattenplatz sowie Internetverbindung zum Download von Drittanbieter-Bibliotheken benötigt.

Es wird ausschliesslich freie Software von search.maven.org und maven.java.net geladen. Nach Download und Bau der Software werden ca. 1,2 GB auf der Festplatte belegt.

Unterstützte Betriebssysteme

Frühere Versionen sowie Derivate wie z.B. Devuan GNU+Linux, Trisquel GNU/Linux sind mit Abweichungen bei der Software- und Paketauswahl ebenso geeignet.

Die Anleitung geht davon aus, dass ein Betriebssystem aus der Liste verwendet wird und die erstellten Pakete im Anschluss mittels apt-get oder apt auf dem gleichen System installiert werden.

Erfolgt die Installation mit dpkg oder auf einem anderen System, wird das Paket dpkg-dev nicht benötigt.

Anlegen eines User-Account zum Bau der Software

Zum Bau der Software wird zunächst ein dedizidierter User-Account angelegt der im folgenden zum Bau der Software verwendet wird. Das Home-Verzeichnis des Accounts dient gleichzeitig als Paketquelle für apt.

Der Name des Accounts und das Home-Verzeichnis sind beispielhaft und können mit Ausnahme der Zeichenkette librebiz beliebig gewählt werden.

adduser --gecos 'Librebiz builds' --disabled-password --home /opt/librebiz-dev librebiz-dev

Der Name librebiz wird im Zuge der Paketinstallation als User und Gruppe für die Laufzeitumgebung der Software angelegt und sollte deshalb nicht auch zum Bau der Software verwendet werden.

Installation benötigter Pakete - Debian 10 (Buster), Debian 11 (Bullseye) und Ubuntu 20.04 LTS

~# apt update && apt upgrade
~# apt install --no-install-recommends openjdk-11-jdk maven dpkg-dev

Wenn die Pakete installiert sind geht es direkt weiter mit dem Download des Quelltext und Bau der Pakete.

Installation benötigter Pakete - Debian 9 (Stretch) und Debian 8 (Jessie)

~# apt update && apt upgrade
~# apt install --no-install-recommends dpkg-dev

Zum Bau der Software wird Apache Maven verwendet. In Debian Jessie und Stretch ist Maven nur in einer Version < 3.6 verfügbar, so dass Maven manuell z.B. gemäß der Installationsanleitung für Apache Maven installiert werden muss.

Librebiz benötigt ab Version 5.2 zwingend OpenJDK 11, das weder in Debian Jessie noch Stretch enthalten ist. Die Software kann dennoch auch unter Jessie und Stretch kompiliert werden. Hierzu kann ein freies OpenJDK 11 z.B. aus den Paketen des AdoptOpenJDK-Projekt installiert werden.


Download des Quelltext und Bau der Pakete

Die folgenden Schritte sollten immer mit einem normalen Benutzerkonto ausgeführt werden.

Variante 1 - Download des Komplettpaket von der Webseite

Komplettpakete aller Versionen sind unter https://repo.librebiz.org/src/release veröffentlicht. Die Datei librebiz-src-latest.tar.gz verlinkt auf die jeweils aktuellste Version.

~# su - librebiz-dev
~$ tar -xvf librebiz-src-latest.tar.gz
~$ cd librebiz-ce
~$ ./build all

Variante 2 - Download über Versionsverwaltung

Wenn das Paket git installiert ist, kann die Software auch direkt aus der Versionsverwaltung geladen werden:

~$ sudo su - root
~# apt update && apt upgrade
~# apt install git

~# su - librebiz-dev
~$ git clone https://codeberg.org/librebiz/librebiz-ce.git
~$ cd librebiz-ce
~$ git checkout v6.1.0
~$ ./build all

Das Build-Skript erzeugt bei erfolgreichem Ablauf das Verzeichnis ./dist/debian, in dem sich die generierten .deb Pakete zusammen mit den zugehörigen .changes Dateien befinden.

Wenn dpkg-dev installiert wurde, befindet sich in dem Verzeichnis auch die Datei Packages.bz2. Die in diesem Fall vorhandenen Warnungen des Programms dpkg-scanpackages beim Erzeugen der Packages.bz2 Datei können ignoriert werden.

librebiz-ce$ ls -1 ./dist/debian/

librebiz_6.1.0_all.changes
librebiz_6.1.0_all.deb
librebiz-common_6.1.0_all.changes
librebiz-common_6.1.0_all.deb
librebiz-tomcat8_6.1.0_all.changes
librebiz-tomcat8_6.1.0_all.deb
librebiz-tomcat9_6.1.0_all.changes
librebiz-tomcat9_6.1.0_all.deb
librebiz-webapp_6.1.0_all.changes
librebiz-webapp_6.1.0_all.deb
Packages.bz2

Pakete installieren

Die Installation der Software muss wieder als root oder per sudo erfolgen.

Installation mit apt

Diese Installation setzt voraus, das die Datei Packages.bz2 vorhanden ist, d.h. wenn zuvor dpkg-dev installiert wurde.

Zunächst wird das Verzeichnis mit den Paketen als lokales Repository in die Konfiguration von apt eingebunden und im Anschluss die Paketliste aktualisiert.

~# echo "deb [ trusted=yes ] file:/opt/librebiz-dev/librebiz-ce/dist/debian ./" > /etc/apt/sources.list.d/librebiz.list
~# apt update

Als nächstes werden die erzeugten Pakete installiert:

Debian 8, 9, 10 und 11 sowie Ubuntu 20.04:

~# apt install librebiz

Ubuntu 18.04:

~# apt install --no-install-recommends activemq postgresql librebiz librebiz-common librebiz-tomcat8 librebiz-webapp

Wenn alle vorgeschlagenen Pakete bestätigt werden, installiert apt die zuvor erstellten Pakete zusammen mit den Paketen activemq, postgresql und tomcat*-user sowie deren Abhängigkeiten.

  • ActiveMQ - Versand von systeminternen Nachrichten, Ausführen von Aufgaben
  • PostgreSQL - Datenbank zum Speichern von System- und Anwendungsdaten
  • Tomcat - Laufzeitumgebung der Webanwendung

Im nächsten Schritt werden die Pakete abschliessend konfiguriert.

Konfiguration

Variante 1 - Automatische Konfiguration via librebiz-admin

Mit der Option setup des Admin-Programm können alle benötigten Dienste einschliesslich Datenbank automatisch konfiguriert und gestartet werden.

~# librebiz-admin setup

Die Anwendung ist sodann unter http://IP-ODER-NAME:9980/osdb/ erreichbar.

Variante 2 - Manuelle Konfiguration

ActiveMQ Setup

~# systemctl stop activemq
~# ln -s /etc/activemq/instances-available/main /etc/activemq/instances-enabled/main
~# systemctl start activemq

ActiveMQ ist im Standard so konfiguriert, das 512 MB des verfügbaren Arbeitspeichers fest belegt werden. Für kleinere Installationen mit 10-20 gleichzeitig arbeitenden Anwendern reichen hier 128 MB aus. Dies gilt besonders dann, wenn ActiveMQ von keiner anderen Anwendung verwendet wird.

Sofern das System insgesamt nicht mindestens über 1,5 GB Arbeitsspeicher verfügt, sollte der von ActiveMQ allozierte Speicher in jedem Falle heruntergesetzt werden.

Der voreingestellte Wert wird wie folgt geändert:

~# cp /usr/share/activemq/activemq-options /etc/activemq/instances-available/main/options
~# sed -i 's/512M/128M/g' /etc/activemq/instances-available/main/options
~# systemctl restart activemq

PostgreSQL Setup

Hinweis: Der nachfolgend angegebene Name des Datenbankbenutzers sollte nicht geändert werden, da in der Folge unerwartete Fehler auftreten könnten.

Um spätere Probleme zu vermeiden sollten alle nachfolgenden Befehle unverändert übernommen werden. Der Datenbankname bildet eine Ausnahme von dieser Empfehlung und kann problemlos geändert werden.

Beim Anlegen des Datenbankbenutzers wird nach einem Passwort für den neuen Benutzer gefragt. Das hierbei vergebene Passwort wird im Anschluss zum Eintrag in der Konfigurationsdatei benötigt.

~# su - postgres
~$ createuser --encrypted --pwprompt osserp
~$ createdb --owner=osserp --template=template0 --encoding=UTF8 librebiz_main
~$ exit

Wenn Datenbankbenutzer und Datenbank angelegt sind, müssen sie noch in der Datei /etc/librebiz/conf/custom.properties eingetragen werden.

Das Passwort des Datenbankbenutzers muss jeweils bei dms.database.pwd sowie root.database.pwd eingetragen werden. Der Name der Datenbank bei den Einträgen dms.database.name und root.database.name.

Der anschliessende Aufruf des Programms librebiz-admin update führt administrative Aufgaben durch und aktualisiert/initialisiert die Datenbank. Das Program muss als root ausgeführt werden.

~# librebiz-admin update

Je nach Hardware und insbesondere beim ersten Aufruf kann der Aufruf etwas Zeit in Anspruch nehmen und darf auf keinen Fall unterbrochen werden.

Falls das Programm im Lauf unterbrochen wurde, muss die Datenbank mit dem Konto postgres und dem Befehl dropdb librebiz_main gelöscht und erneut wie zuvor beschrieben angelegt werden.

Das Programm sollte ohne Fehler beendet werden. Eventuelle Fehler werden in die Datei /var/log/librebiz/librebiz-cli.log oder /tmp/librebiz-cli.log wenn /var/log/librebiz zur Laufzeit nicht existiert.


Absicherung HTTP

Es wird dringend empfohlen, HTTPS für die Verbindung zum Server einzurichten. Eine Möglichkeit hierzu ist die Verwendung des Apache Webservers.

Apache Webserver Installation

~# apt install apache2

SSL aktivieren

~# a2enmod ssl
~# a2ensite default-ssl
~# systemctl restart apache2

Proxy-Modul aktivieren

~# a2enmod proxy_http

Umleitung einrichten

~# cp /usr/share/doc/librebiz-common/examples/httpd-tomcat.conf /etc/apache2/conf-available/librebiz.conf
~# ln -s /etc/apache2/conf-available/librebiz.conf /etc/apache2/conf-enabled/librebiz.conf

Abschliessend müssen Librebiz und Apache neu gestartet werden.

~# systemctl restart librebiz
~# systemctl restart apache2

Hiernach kann die Anwendung sicher über HTTPS unter https://rechnername/osdb/ aufgerufen werden.

Die Installation und systemseitige Konfiguration ist hiermit abgeschlossen.

Informationen zur Konfiguration der Firma, Benutzerkonten und Berechtigungen liefert der Setup Guide, der nach Installation auch unter /usr/share/doc/librebiz-common zu finden ist.