Diese Installationsanleitung wurde an Hand eines neu aufgesetzten Ubuntu 15.10 Desktop (Wily Werewolf) verfasst. Folgende Konfigurationsvarianten der TreeDB werden in dieser Anleitung erörtert:

  • verschiedene Persistenz-Frameworks: Hibernate, JPA/EclipseLink und JPA/ObjectDB
  •  folgende Datenbanken: MySQL, PostgreSQL oder H2

 

Der Beitrag beschreibt die Installation der TreeDB mit MySQL als Datenbank und JPA/Eclipselink als Persistenz-Framework. Die alternativen Konfigurationen werden im Anhang beschrieben.

Zuerst müssen alle notwendigen Softwarepakete installiert werden:

sudo apt-get install openjdk-8-jdk tomcat8 mysql-server

Während der Installation werden Sie seitens der MySQL-Datenbank aufgefordert, ein root-Passwort zu vergeben. Dies ist nicht verpflichtend, wird aber empfohlen.

Nach der Installation ändern Sie bitte die Datei mysql.conf.

sudo nano /etc/mysql/conf.d/mysql.cnf

Fügen Sie bitte folgenden Parameter hinzu:

Dann starten Sie bitte den mysql-Server neu:

sudo service mysql restart

In dieser Beispielkonfiguration werden die grundlegenden Datenbankparameter wie folgt festgelegt:

Datenbankname: treedb
Benutzer: tree
Passwort: db

Melden Sie sich an der MySQL-Datenbank an:

mysql -uroot -p

und setzen Sie folgende Befehlssequenz ab, um die Datenbank und den dazugehörigen Benutzer anzulegen:

CREATE DATABASE treedb  CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'tree'@'localhost' IDENTIFIED BY 'db';
GRANT ALL PRIVILEGES ON treedb.* TO 'tree'@'localhost' IDENTIFIED BY 'db' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Mit quit; verlassen Sie die SQL-Konsole wieder.

 

Nun erhöhen Sie das Speicherlimit der Tomcat-Umgebung auf mindestens 1GB.

sudo nano /etc/default/tomcat8

Als letzten Schritt installieren Sie die TreeDB in der Tomcat-Umgebung. Wechseln Sie zuerst in das Applikationsverzeichnis des Tomcat-Servers:

cd /var/lib/tomcat8/webapps

und laden Sie per

sudo wget -O TreeDB.war http://treedb.at/data/db/TreeDBeclipseLink.war

die JPA/EclipseLink Version der TreeDB unter gleichzeitiger Umbenennung der Zieldatei auf TreeDB.war herunter.

Dann warten Sie bitte einige Sekunden ab; der als Hintergrund-Dienst laufende Tomcat-Server entpackt automatisch die Datei TreeDB.war in ein gleichnamiges Verzeichnis TreeDB.

Nun konfigurieren Sie die TreeDB bezüglich der mysql-Datenbank Anbindung, indem Sie

sudo nano /var/lib/tomcat8/webapps/TreeDB/WEB-INF/web.xml

den Parameter database wie folgt festlegen:

Nun vergeben Sie dem admin Benutzer ein Password, um die TreeDB später über die Weboberfläche konfigurieren zu können.

Als letzten Schritt starten Sie den Tomact-Server neu, um alle Änderungen zu übernehmen.

sudo service tomcat8 restart

Mit http://localhost:8080/TreedDB sollte sich nach erfolgreicher Konfiguration die Weboberfläche der TreeDB wie folgt präsentieren:

Unter folgenden Links finden Sie weiterführende Informationen, wie Sie Datenbanken und JavaScript-Bibliotheken nachinstallieren können.

Als Abschluss installieren wir noch das Paket wkhtmltopdf, um Datensätze seitens der TreeDB in ein PDF-Dokument umwandeln zu können.

sudo apt-get install wkhtmltopdf

In den Einstellungen der TreeDB muss noch der Dateipfad des Konvertierungstools eingetragen werden, um dieses nutzen zu können.

 

Anhang: Alternative Installationsvarianten

Alle Änderungen beziehen sich entweder auf das Persistenz-Framework oder die Datenbank/Tomcat.

Hibernate

Mit Hibernate als Persistenz-Framework ändert sich der Parameter database der web.xml Datei des Tomcat-Servers wie folgt:

ObjectDB

Legen Sie ein Verzeichnis für die Daten mit der entsprechenden Berechtigung an:

sudo mkdir /var/lib/treedb
sudo chown tomcat8:tomcat8 /var/lib/treedb

Der Parameter database der web.xml Datei des Tomcat-Servers ändert sich für die ObjectDB wie folgt:

Hinweis: Da die ObjectDB keine SQL-Datenbank ist, ist die Datenbank URL eine Pfadangabe und kein JDBC-String!

Postgres

Installation der postgres-Datenbank:

sudo apt-get install postgresql
sudo -u postgres psql
postgres=# CREATE USER tree WITH PASSWORD 'db';
postgres=# CREATE DATABASE treedb OWNER tree;
 \q

Entfernen Sie in der Konfigurationsdatei das Kommentarzeichen # vor dem Eintrag listen_addresses

sudo nano /etc/postgresql/9.4/main/postgres.conf

und starten Sie die postgres-Datenbank neu:

sudo service postgresql restart

Der Parameter database der web.xml Datei des Tomcat-Servers ändert sich für die postgres-Datenbank wie folgt:

H2-Datenbank

Legen Sie ein Verzeichnis für die Datenbank mit der entsprechenden Berechtigung an:

sudo mkdir /var/lib/treedb
sudo chown tomcat8:tomcat8 /var/lib/treedb

Der Parameter database der web.xml Datei des Tomcat-Servers ändert sich für die H2-Datenbank wie folgt: