Dies ist eine alte Version des Dokuments!
Installation
Voraussetzung ist ein installiertes Linux Basissystem, Java Server VM > 1.8.0 und MariaDB/MySQL.
Die Installation erfolgt im Ordner /opt/webserver
. Das Dateilayout sieht folgendermaßen aus:
drwxr-xr-x 3 ec2-user root 4096 Mar 30 07:55 . drwxr-xr-x 4 root root 4096 Mar 3 14:30 .. -rw-r--r-- 1 root root 397 Mar 4 09:12 application.properties drwxr-xr-x 2 root root 4096 Mar 30 09:29 backup -rw-r--r-- 1 ec2-user ec2-user 68093104 Mar 29 15:28 datenschutz-server-1.0-SNAPSHOT.jar -rwxr--r-- 1 root root 1021 Mar 10 15:30 service.sh -rw------- 1 root root 5745 Mar 4 09:09 traunau.jks -rwxr--r-- 1 root root 285 Mar 3 14:35 webserver.sh
application.properties
Konfiguration des Systems, einen Beispielkonfiguration (inkl. SSL) wäre:
logging.level.org.springframework.web: ERROR logging.level.org.thymeleaf: ERROR logging.level.org.hibernate: ERROR logging.level.org.reflections: ERROR multipart.maxFileSize=10Mb # Productive settings application.debug=false server.port: 443 server.ssl.key-store: traunau.jks server.ssl.key-store-password: ***** server.ssl.keyStoreType: jks server.ssl.keyAlias: traunau
datenschutz-server-1.0-SNAPSHOT.jar
Der aktuelle Build des Datenschutz Serversystems
service.sh
Dient zum Start des .jar files als Service. Prüft auch, ob der Webserver eventuell nicht mehr läuft obwohl er laufen sollte (PID file existiert, aber Prozess läuft nicht). Zum Start wird das Hilfsskript webserver.sh
benötigt.
#!/bin/sh SERVICE_NAME=Datenschutz PATH_TO_SH=/opt/webserver/webserver.sh PID_PATH_NAME=/tmp/datenschutz-pid if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME); if ps -p $PID > /dev/null then # runs and pid file there, all ok echo "Running OK" else echo "PID file but no running process, starting.." rm $PID_PATH_NAME su root -c $PATH_TO_SH echo "$SERVICE_NAME started ..." fi fi case $1 in start) echo "Starting $SERVICE_NAME ..." if [ ! -f $PID_PATH_NAME ]; then su root -c $PATH_TO_SH echo "$SERVICE_NAME started ..." else echo "$SERVICE_NAME is already running ..." fi ;; stop) if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME); echo "$SERVICE_NAME stoping ..." kill $PID; echo "$SERVICE_NAME stopped ..." rm $PID_PATH_NAME else echo "$SERVICE_NAME is not running ..." fi ;; esac
traunau.jks
Der Java Keystore für das SSL Zertifikat.
webserver.sh
Hilfsskript für service.sh:
#!/bin/bash JAR_NAME=datenschutz-server-1.0-SNAPSHOT.jar PATH_TO_JAR=/opt/webserver PID_PATH_NAME=/tmp/datenschutz-pid PATH_TO_LOG=/var/log cd $PATH_TO_JAR nohup java -jar $PATH_TO_JAR/$JAR_NAME 2>>$PATH_TO_LOG/ds_server.err >>$PATH_TO_LOG/ds_server.log & echo $! > $PID_PATH_NAME
Installation des Services
Um den Webserver bei Systemstart zu starten, muss folgender symbolische Link in /etc/init.d gesetzt werden:
lrwxrwxrwx 1 root root 25 Mar 3 14:44 datenschutz -> /opt/webserver/service.sh
Um den Watchdog für den Service laufen zu lassen wird folgende Crontab (als root) benötigt:
* * * * * /opt/webserver/service.sh