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
- Debian GNU/Linux - Version 11 - Bullseye
- Debian GNU/Linux - Version 10 - Buster
- Debian GNU/Linux - Version 9 - Stretch
- Debian GNU/Linux - Version 8 - Jessie
- Ubuntu Linux - Version 20.04 LTS - Focal Fossa
- Ubuntu Linux - Version 18.04 LTS - Bionic Beaver
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.