Datenbank Installation

Wir empfehlen die Verwendung einer Postgres-Datenbank. Es werden aber auch andere Datenbank-Typen unterstützt (MS SQL, MySQL, Oracle).

1 Postgres

1.2 Installation (Linux)

Zur Installation der Datenbank muss diese erst heruntergeladen werden. Dies kann sich je nach Betriebssystem unterscheiden. Im Folgenden ist dies für Linux-Distributionen dargestellt.

Postgres-Datenbank installieren und starten:

apt-get update
apt-get install postgresql
service postgresql start

Die PostgreSQL Konfigurationsdatei /var/lib/pgsql/data/pg_hba.conf sollte wie folgt abgeändert werden.

IPs freischalten:

host all all 127.0.0.1/32 md5
host all all ::1/128 md5

Neustart PostgreSQL Server:

service postgresql restart

1.2 Datenbankschemata erstellen

Für das WiM Backend wird ein leeres Datenbankschemata benötigt. Beim ersten Starten werden von der WiM automatisch die notwendigen Tabellen, Indices usw. angelegt. Zukünftige Schemaänderungen wird die WiM selbstständig durchführen, solange die notwendigen Berechtigung auf dem Schema vorhanden sind.

Wenn noch keine B2B installiert ist, muss zusätzlich ein Schemata für die B2B, gemäß B2B Installationsanleitung, angelegt werden.

In der Postgres-Shell müssen folgende Befehle ausgegeben werden (jede Zeile einzeln mit Enter abschicken):

Zu Postgres-User wechseln:

su – postgres
psql template1

Datenbankschemata erstellen und Rechte vergeben:

CREATE DATABASE b2b WITH ENCODING 'UNICODE';
CREATE DATABASE fastlane WITH ENCODING 'UNICODE';
CREATE USER admin WITH PASSWORD 'b2bbp';
GRANT ALL PRIVILEGES ON DATABASE b2b to admin;
GRANT ALL PRIVILEGES ON DATABASE fastlane to admin;
\q

Zurück zum root-User wechseln:

exit

1.3 Datenbankressourcen anpassen

Datenbankressourcen anpassen in /opt/tomcat/conf/Catalina/localhost/fastlane-backend.xml. Wichtig ist, dass die “fastlane”-Resource auf jeden Knoten kopiert wird! Dies ist wegen der Aperakaussteuerung absolut notwendig! Natürlich müssen IPs und Ports gegebenenfalls an die Datenbankinstallation angepasst werden.

Achtung: Damit das neue Aufgabenmodul korrekt arbeiten kann, ist es notwendig, dass die Schemata “fastlane” und “bpm” sich auf der gleichen Datenbank befinden und der Benutzer des Schemas “fastlane” Zugriff auf das Schema “bpm” hat.

<Context path="/fastlane-backend" reloadable="true" crossContext="true">
       <Resource name="jdbc/fastlane"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="org.postgresql.Driver"
              url="jdbc:postgresql://localhost:5432/fastlane"
              username="postgres"
              password="postgres"
              maxTotal="80"
              maxIdle="20"
              maxWaitMillis="30000"/>
       <Resource name="jdbc/bpm"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="org.postgresql.Driver"
              url="jdbc:postgresql://localhost:5432/fastlane"
              username="postgres"
              password="postgres"
              maxTotal="80"
              maxIdle="20"
              maxWaitMillis="30000"/>                                                         
      <Resource name="jdbc/b2bbp"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="org.postgresql.Driver"
              url="jdbc:postgresql://localhost:5432/b2b"
              username="postgres"
              password="postgres"
              maxTotal="80"
              maxIdle="20"
              maxWaitMillis="30000"/>
</Context>

1.4 JDBC Treiber

Platzieren des JDBC-Treibers im lib-Verzeichnis des Tomcats:

wget https://jdbc.postgresql.org/download/postgresql-42.2.18.jar
mv postgresql-42.2.18.jar /opt/tomcat/lib/

2 Oracle

2.1 Datenbankschemata erstellen

Befehle um Schemata (=User) anzulegen und den Usern entsprechende Rechte zuzuordnen.

Datenbankschemata erstellen und Rechte vergeben:

CREATE USER b2b IDENTIFIED BY b2bbp DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
CREATE USER fastlane IDENTIFIED BY b2bbp DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT ALL PRIVILEGES TO b2b;
GRANT ALL PRIVILEGES TO fastlane;