Linux

Pakete installieren #

Benutzen Sie diesen Befehl, um die benötigte Software für Projectfacts zu installieren. Hierfür werden Root Rechte benötigt:

				
					apt update && apt upgrade -y && apt install mariadb-server-10.5 tomcat9 openjdk-17-jdk-headless vim apache2 unzip htop libtcnative-1 bash-completion net-tools -y
				
			
  • projectfacts: /srv/projectfacts
  • userfiles: /srv/projectfacts/userfiles
  • Tomcat server.xml: /etc/tomcat9/server.xml
  • MySQL my.cnf: /etc/mysql/my.cnf
  • xml: /srv/projectfacts/webapp/WEB-INF/web.xml
  • xml: /srv/projectfacts/webapp/META-INF/context.xml
  • Apache Ports: /etc/apache2/ports.conf
  • Apache SSL: /etc/apache2/ssl/
  • Apache Sites: /etc/apache2/sites-available/
  • Nginx: /etc/nginx
Hinweis: Die jeweiligen Pfade können bei bestehenden Installationen abweichen!

Installation #

1. Legen sie folgende Ordner an:

  • /srv/projectfacts
  • /srv/projectfacts/logs
  • /srv/projectfacts/webapp
  • /srv/projectfacts/userfiles
  • /srv/projectfacts/jasper-font

2. Kopieren Sie die deploy-war.sh sowie die projectfacts.war Datei in das /srv/projectfacts Verzeichnis.

3. Führen Sie chmod +x deploy-war.sh aus, um das Script ausführbar zu machen. Führen Sie nun das Skript deploy-war.sh aus. Hierbei wird die projectfacts.war Datei entpackt.

4. Kopieren Sie die Datei userfiles.tar.gz2 in das /srv/projectfacts/userfiles Verzeichnis. Entpacken Sie nun die Datei mit folgendem Befehl: tar -xf userfiles.tar.gz2

Bitte prüfen Sie in der „deploy-war.sh“ den jeweiligen Pfad zu projectfacts. Sie können den Pfad in der Datei mit der Variable BASEDIR anpassen.

Falls der Tomcat mit einem anderen Benutzer als „tomcat9“ läuft, muss zudem das „chown“ in dem Skript entsprechend angepasst werden.

web.xml anpassen #

In der web.xml müssen einige Pfade angepasst werden. Öffnen Sie die web.xml mit einem Editor, um die Datei bearbeiten zu können: vim /srv/projectfacts/webapp/WEB-INF/web.xml.

Hinweis

Zeile 3 & 8: Geben Sie hier den jeweiligen Pfad an.
Zeile 13: Mails werden alle 30 Sekunden abgeholt/versendet.
Zeile 18: Um den Versand an alle E-Mail-Adressen zu erlauben, geben Sie folgendes ein .*
Zeile 23 & 28: Geben Sie die gewünschte URL Adresse ein.

				
					<context-param>
  <param-name>path.htdocs.directory</param-name>
  <param-value>/srv/projectfacts/webapp/htdocs/</paramvalue>
</context-param>

<context-param>
  <param-name>path.data.directory</param-name>
  <param-value>/srv/projectfacts/webapp/WEBINF/data/</param-value>
</context-param>

<context-param>
  <param-name>timer.mailfetcher</param-name>
  <param-value>30</param-value>
</context-param>

<context-param>
  <param-name>mail.positive_mail_list</param-name>
  <param-value>.*</param-value>
</context-param>

<context-param>
  <param-name>server.url</param-name>
  <param-value>https://projectfacts.mycompany.de</param-value>
</context-param>

<context-param>
  <param-name>webdav.url</param-name>
  <param-value>https://projectfacts.mycompany.de</param-value>
</context-param>

				
			

MariaDB/MySQL Konfiguration #

Datenbankbenutzer: projectfacts
Datenbankname: projectfacts
Passwort: Frei wählbar

Hinweis: Der Benutzer benötigt vollen Zugriff auf die Datenbank!

Bevor Sie die MySQL Konfiguration anpassen können, müssen Sie zuerst die Zeitzonen importieren. Ansonsten startet der MySQL-Server nicht.

				
					mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
				
			

Legen Sie unter folgendem Pfad eine Datei mit dem Namen /etc/mysql/mariadb.conf.d/51-projectfacts.cnf und fügen Sie folgenden Inhalt hinzu:

				
					[mysqld]
bind-address = 127.0.0.1
skip-name-resolve

# projectfacts Optimierungen
default-time-zone       = Europe/Berlin
lower_case_table_names  = 1
innodb_buffer_pool_size = 1G
max_heap_table_size     = 512M
tmp_table_size          = 512M
innodb_log_file_size    = 256M
group_concat_max_len    = 4096
character-set-server    = utf8mb4
collation-server        = utf8mb4_unicode_ci
#tmpdir                  = /var/log/mysql/tmp

sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

# Optimierung für MariaDB 10.4+
#optimizer_switch        = 'rowid_filter=off'
#query_cache_size        = 0
#query_cache_type        = 0

				
			

Starten Sie den MariaDB/MySQL-Server neu.

Hinweis
Die Zeitzone der Datenbank muss mit dem Betriebssystem übereinstimmen, auf dem der Tomcat läuft. Wenn die Datenbank zusammen mit dem Tomcat auf einem System installiert wurden, ist das i. d. R. gegeben.

Unter Linux können Sie die Zeitzone mit cat /etc/timezone einsehen.

Datenbank Import #

Bitte kontaktieren Sie uns, um eine Vorlage für die Datenbankstruktur zu erhalten, falls Sie noch keinen Dump besitzen.

context.xml anpassen #

Um die Datenbankverbindung mit projectfacts herzustellen, muss die Datei webapp/META-INF/context.xml nach tomcat9/conf/Catalina/localhost/ROOT.xml kopiert werden.

Das Verzeichnis wird automatisch erstellt, wenn der Tomcat das erste Mal gestartet wird. In der kopierten Datei müssen docBase, username, password und url angepasst werden.

Tomcat konfigurieren #

Ab der Tomcat Version 9.0.92 oder höher müssen Sie Ihr projectfacts/teamspace auf folgende Versionen aktualisieren. Ansonsten erhalten Sie eine Fehlermeldung.

  • Ab 2024.2.68
  • Ab 2024.1.72
Passen Sie die Tomcat-Konfiguration an. Verwenden Sie einen Editor Ihrer Wahl. /etc/tomcat9/server.xml Folgende Zeilen müssen angepasst oder hinzugefügt werden:
				
					<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
[…]
<Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false">

				
			
Um dem Tomcat mehr Arbeitsspeicher zu geben, müssen Sie folgende Datei bearbeiten: /etc/defaults/tomcat9
				
					JAVA_OPTS="-Djava.awt.headless=true -Xmx2048m"
				
			

Nächtlicher Tomcat neustart #

Melden Sie sich als Root Benutzer am System an. Geben Sie crontab -e ein und fügen Sie folgende Zeile hinzu:

				
					00 4 * * * systemctl restart tomcat9 >/dev/null 2>&1
				
			

Tomcat 9 Read-Only Filesystem Fix #

Dieses Problem tritt auf, wenn der Tomcat aus dem Repository der folgenden Systeme installiert wird:

  • Ab Ubuntu 18.04
  • Ab Debian 9

Gehen Sie wie folgt vor:

1. Legen Sie folgenden Ordner und Datei an:

				
					mkdir /etc/systemd/system/tomcat9.service.d/ && vim /etc/systemd/system/tomcat9.service.d/override.conf
				
			

2. Fügen Sie folgenden Inhalt ein und speichern Sie die Datei:

				
					[Service]
ReadWritePaths=/srv/projectfacts/userfiles/
				
			

3. Führen Sie nun systemctl daemon-reload aus. Anschließend kann der Tomcat 9 mit systemctl restart tomcat9 neu gestartet werden.

Schriftart hinzufügen (Jasper-Font) #

1. Laden Sie sich unter teamspace-classic die jasper-font-default-1.2.0.jar herunter und legen Sie die Datei in „/srv/projectfacts/jasper-font/“ ab.

2. Erstellen Sie ein Symlink mit folgendem Befehl:

				
					ln -s /srv/projectfacts/jasper-font/jasper-font-default-1.2.0.jar /usr/share/tomcat9/lib/jasper-font-default-1.2.0.jar
				
			
3. Starten Sie den Tomcat neu, damit die Änderung übernommen wird.

Anpassung für PDF #

1. Bearbeiten Sie folgende Datei:
				
					vim /etc/java-17-openjdk/accessibility.properties
				
			
2. Kommentieren Sie folgende Zeile aus und speichern Sie die Datei ab:
				
					assistive_technologies=org.GNOME.Accessibility.AtkWrapper
				
			
3. Starten Sie den Tomcat neu, damit die Änderung übernommen wird.

Berechtigungen anpassen #

Berechtigung anpassen:

				
					chown –R tomcat9:tomcat9 /srv/projectfacts /srv/projectfacts/userfiles
				
			

Starten Sie nun den Tomcat Server neu:

				
					systemctl start tomcat9.service
				
			

projectfacts Update #

Um immer die aktuellen Updates herunterladen zu können, benötigen Sie einen teamspace-classic Account. Diesen Account legen wir für Sie an. Sollten Sie noch kein Account haben, kontaktieren Sie uns bitte.

Hinweis: Erstellen Sie vor jedem Update ein Backup.
 

1. Gehen Sie auf die Homepage https://www.teamspace-classic.de/mitglieder-login und melden Sie sich mit Ihren Logindaten am System an.

2. Wechseln Sie zu den Dateien und navigieren Sie zu: »Hauptordner → Aktuelle Version → UPDATE HINWEISE BEACHTEN!«

Dort finden Sie das jeweilige Update Paket und die aktuelle Anleitung. Bitte schauen Sie vorher in die Updatehinweise. Laden Sie nun die projectfacts-x.x.xx.war Datei herunter.

3. Nachdem Sie die Datei heruntergeladen haben, kopieren Sie sie auf Ihren Server unter /srv/projectfacts/.

4. Stoppen Sie den Tomcat mit systemctl stop tomcat9. Überprüfen Sie danach, ob der Tomcat auch wirklich gestoppt ist.

5. Ist der Tomcat erfolgreich gestoppt, führen Sie in ihrem projectfacts Verzeichnis die deploy-war.sh diese können Sie ausführen, wenn Sie sich im selben Ordner befinden mit: ./deploy-war.sh.

6. Ist das Update ohne Fehler durchgelaufen, können Sie nun den Tomcat wieder mit systemctl start tomcat9

Zusätzlich können Sie auch in der projectfacts.log prüfen, ob das Update erfolgreich durchgeführt wurde. Die jeweilige Logdatei finden Sie unter /var/log/tomcat/projectfacts.log

Jetzt ist das neue Update auf Ihrem projectfacts-Server installiert. Bitte entfernen Sie noch die projectfacts-x.x.xx.war Datei aus dem /srv/projectfacts/ Verzeichnis. Wenn Sie das Update durchführen, darf immer nur eine .war Datei vorhanden sein. Ansonsten schlägt das Update fehl. Zudem darf hier auch keine ältere projectfacts Version installiert werden (Downgrade). Ansonsten kann es vorkommen, dass Ihr System nicht mehr ordnungsgemäß funktioniert oder gar nicht erst startet.

Schauen Sie gelegentlich in teamspace-classic in der Menübar auf die „Pinnwand“ Dort finden Sie immer aktuelle Informationen zu den Updates.

Wenn Sie hierzu noch Fragen haben, können Sie sich jederzeit bei uns via E-Mail oder Telefon melden. Wir helfen Ihnen gerne weiter.