Bevor du teamspace installierst, lohnt sich ein Blick auf die Architektur. Wer die Bausteine und ihre Konfigurationsdateien kennt, versteht die Installationsschritte als Ganzes – statt sie nur abzutippen – und findet Fehler später schneller.
Die Bausteine
teamspace ist eine Java-Webanwendung. Sie besteht aus diesen Komponenten:
- Apache Tomcat 10 – der Anwendungsserver. Hier wird die teamspace-
.warausgeliefert (entpackt in daswebapp-Verzeichnis). Der Tomcat lauscht intern auf Port 8080. - OpenJDK 17 (Temurin) – die Java-Laufzeit, unter der der Tomcat läuft.
- MySQL 8 / MariaDB 10.5 – die Datenbank mit Benutzer und Schema
projectfacts. - Reverse Proxy (Apache 2.4 oder Nginx 1.24) – nimmt die Anfragen aus dem Internet auf Port 80/443 entgegen, terminiert das SSL/TLS-Zertifikat und leitet sie intern an den Tomcat auf
localhost:8080weiter. - userfiles-Verzeichnis – die Dateiablage des Dateimoduls. Sie liegt außerhalb der Anwendung (z. B.
/srv/projectfacts/userfilesbzw.C:\projectfacts\userfiles) und kann auf eine separate Festplatte ausgelagert werden.
Der Weg einer Anfrage
Browser/Client ──HTTPS (443)──▶ Reverse Proxy (Apache/Nginx)
│ entschlüsselt TLS,
│ setzt X-Forwarded-Proto
▼
Tomcat (8080) ──▶ teamspace-Webapp (Java)
│
▼
MySQL/MariaDB (3306) + userfiles-Verzeichnis
Der Reverse Proxy ist die einzige nach außen offene Stelle. Der Tomcat selbst ist nur für localhost erreichbar – bei Docker wird das zusätzlich per iptables abgesichert.
Die zentralen Konfigurationsdateien
Bei einer Installation arbeitest du immer wieder mit denselben vier Dateien. Es hilft, ihre Rollen auseinanderzuhalten:
| Datei | Rolle |
|---|---|
web.xml (webapp/WEB-INF/web.xml) | Anwendungsparameter (context-param): Pfade zu htdocs/Daten, Mailabruf-Intervall (timer.mailfetcher), erlaubte Mailempfänger (mail.positive_mail_list), Server-URL (server.url), OAuth-/PDF-Dienst. |
| ROOT.xml bzw. context.xml | Die Datenbankverbindung (Connection-Pool). Seit Version 2023.4 verwaltet der Tomcat den Pool über eine Resource mit username, password und url. Vorher stand das in der data-source.xml. |
| server.xml (Tomcat) | Der Tomcat selbst: Connector, Host (unpackWARs="false", autoDeploy="false"), Listener. |
deploy-war-Skript (deploy-war.sh / .bat / -docker.sh) | Entpackt eine neue .war und sichert dabei die bestehende Konfiguration. Es kennt den Installationspfad über die Variable BASEDIR. |
Wichtig: Die
ROOT.xml/context.xmlmit den Zugangsdaten zur Datenbank wird beim Update nicht überschrieben – dafür sorgt das Deploy-Skript. Bei eigenen Anpassungen am Skript ist genau darauf zu achten.
Standard, Docker und die „Teil-Containerisierung”
Es gibt zwei Betriebsformen:
- Standardinstallation (Linux/Windows): Tomcat, Java, Datenbank und Reverse Proxy laufen direkt auf dem Betriebssystem.
- Docker (nur Linux): Nur Tomcat und Java stecken in einem Container. MySQL/MariaDB, die teamspace-Anwendung und die Userfiles laufen weiterhin auf dem Host – sie werden über Volumes in den Container eingebunden, und der Tomcat erreicht die Datenbank über das Docker-Netzwerk unter 172.17.0.1. Diese „Teil-Containerisierung” ist gewollt; eine vollständige Containerisierung sowie Kubernetes werden nicht unterstützt.
Hinweise
- Zeitzonen müssen zusammenpassen: Die Zeitzone der Datenbank muss mit der des Betriebssystems übereinstimmen, auf dem der Tomcat läuft. Unter Linux prüfst du sie mit
cat /etc/timezone. - Zwei Markennamen, ein Produkt: projectfacts und teamspace sind technisch identisch. In den Anleitungen steht meist
projectfacts; bei teamspace ersetzt du den Namen.
Verwandte Themen
- Systemvoraussetzungen Installation Referenz
- teamspace unter Linux installieren Installation Konfiguration
- teamspace mit Docker installieren Installation Konfiguration