Die folgende Anleitung beschreibt die Installation der Urlaubsverwaltung auf einem Tomcat Server.
Ab Version 2.12.0 läuft die Urlaubsverwaltung als Spring Boot Anwendung. Die folgende Anleitung gilt nur für Versionen < 2.12.0.
- Apache Tomcat Version 7
- JDK 8
- MySQL Datenbank
Die Anwendung steht auf Github bereits als deploybare WAR-Datei zum Download zur Verfügung. Einfach die WAR-Datei der letzten Version hier downloaden.
Die heruntergeladene WAR-Datei kann nun im installierten Tomcat Server deployed werden.
Dazu kopiert man die WAR-Datei in das Tomcat Verzeichnis /webapps
und benennt sie in urlaubsverwaltung.war
um
(weiterführende Informationen zum Tomcat Deployment).
Damit man die Anwendung möglichst schnell ausprobieren kann, bietet es sich an die Anwendung in der Umgebung
Entwicklung (env=dev
) zu starten.
Zusätzlich wird die standardmäßige Authentifizierung (auth=default
) angegeben.
Hierzu wird CATALINA_OPTS
folgendermaßen gesetzt:
export CATALINA_OPTS="-Denv=dev -Dauth=default"
Wenn die Anwendung im Tomcat Verzeichnis webapps/
mit dem Dateinamen urlaubsverwaltung.war
deployed wurde,
ist sie nach dem Starten des Tomcat unter
<servername>:8080/urlaubsverwaltung
erreichbar.
Der erste Benutzer, der sich erfolgreich im System einloggt, wird in der Urlaubsverwaltung mit der Rolle Office angelegt. Dies ermöglicht Benutzer- und Rechteverwaltung innerhalb der Anwendung und das Pflegen der Einstellungen für die Anwendung.
Die Anwendung verfügt über drei verschiedene Umgebungsmöglichkeiten:
dev
- zum lokalen Entwickeln
- nutzt eine H2-Datenbank
- legt Testdaten an
test
- zum Testen der Anwendung
- nutzt eine MySQL-Datenbank
- legt keine Testdaten an
prod
- zum Ausführen der produktiven Anwendung
- nutzt eine MySQL-Datenbank
- legt keine Testdaten an
Damit die Anwendung in einer Umgebung gestartet wird, muss man in den CATALINA_OPTS
die System-Property env
auf
dev
, test
oder prod
setzen:
export CATALINA_OPTS="$CATALINA_OPTS -Denv=UMGEBUNG"
Die Anwendung verfügt über drei verschiedene Authentifizierungsmöglichkeiten:
default
- für lokale Entwicklungsumgebung
ldap
- Authentifizierung via LDAP
- Es müssen die LDAP URL, die LDAP Base und LDAP User DN Patterns konfiguriert sein, damit eine Authentifizierung via LDAP möglich ist.
activeDirectory
- Authentifizierung via Active Directory
- Es müssen die Active Directory Domain und LDAP URL konfiguriert sein, damit eine Authentifizierung via Active Directory möglich ist.
Die Anwendung besitzt im Verzeichnis src/main/resources
jeweils eine .properties
Datei zur Konfiguration der
jeweiligen Umgebung.
- eine standardmäßige
application.properties
application-test.properties
application-prod.properties
Diese beinhalten gewisse Grundeinstellungen und Standardwerte. Diese allein reichen für die Produktivnahme der Anwendung
allerdings noch nicht aus. Spezifische Konfigurationen wie z.B. die Datenbank Einstellungen müssen durch eine eigene
Properties-Datei hinterlegt werden. Welche Konfigurationen überschrieben werden können/müssen, sind in der
standardmäßigen application.properties
des Projekts einsehbar.
Damit die eigene Konfigurationsdatei benutzt wird, gibt es zwei Möglichkeiten:
-
Eine eigene Properties-Datei erstellen und diese unter dem Namen
urlaubsverwaltung.properties
in das/conf
Verzeichnis unterhalb vonCATALINA_BASE
ablegen, z.B.tomcat/conf/urlaubsverwaltung.properties
. Danach den Tomcat neu starten. -
Die erstellte Properties-Datei an einem beliebigen Ort ablegen und mithilfe der System Property
config
innerhalb derCATALINA_OPTS
den absoluten Pfad der Konfigurationsdatei angeben:
export CATALINA_OPTS="$CATALINA_OPTS -Dconfig=/home/urlaub/config/my.properties"
Die Anwendung mit dem Parameter -Denv=prod
starten:
export CATALINA_OPTS="$CATALINA_OPTS -Denv=prod"
Um LDAP zur Authentifizierung zu nutzen, zusätzlich den Parameter -Dauth=ldap
angeben:
export CATALINA_OPTS="$CATALINA_OPTS -Denv=prod -Dauth=ldap"
Um Active Directory zur Authentifizierung zu nutzen, zusätzlich den Parameter -Dauth=activeDirectory
angeben:
export CATALINA_OPTS="$CATALINA_OPTS -Denv=prod -Dauth=activeDirectory"
Die Anwendung besitzt im Verzeichnis src/main/resources
mehrere Properties Dateien, die zur Konfiguration genutzt
werden.
config.properties
u.a. Konfiguration von LDAPdb.properties
Konfiguration der Datenbank (improd
Environment wird die Dateidb.prod.properties
herangezogen)mail.properties
Konfiguration zum Mailversand (improd
Environment wird die Dateimail.prod.properties
herangezogen)business.properties
Individuelle Regelungen wie bspw. maximal möglicher Jahresurlaub
Die vorhandenen Properties können entweder vor dem Erstellen der WAR-Datei direkt innerhalb der oben genannten Dateien angepasst werden oder aber über durch Setzen der dort definierten globalen Variablen.
export UV_DB_URL=jdbc:mysql://127.0.0.1:3306/urlaub
Die Anwendung mit dem Parameter -Denv=prod
starten:
export CATALINA_OPTS="$CATALINA_OPTS -Denv=prod"
Die Anwendung mit dem Parameter -Dspring.profiles.active=ldap
starten:
export CATALINA_OPTS="$CATALINA_OPTS -Dspring.profiles.active=ldap"
Die Anwendung mit dem Parameter -Dspring.profiles.active=activeDirectory
starten:
export CATALINA_OPTS="$CATALINA_OPTS -Dspring.profiles.active=activeDirectory"