blob: 85a8904527c4d4812683353a2a3ef3bf0108d0e4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
config_bwSuite_server() {
# $1: Path to server directory
cat > "$1/config.properties" <<-EOF
vmstore.path = /srv/openslx/nfs
db.uri = jdbc:mysql://localhost/sat?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=utf8&connectionCollation=utf8mb4_unicode_ci
db.username = sat
db.password = %MYSQL_SAT_PASS%
db.location-table = openslx.location
master.address = bwlp-masterserver.ruf.uni-freiburg.de
EOF
chown root:images "$1/config.properties"
chmod 0640 "$1/config.properties"
}
install_bwSuite_service() {
# $1: Path to server directory
cat > "/etc/systemd/system/dmsd.service" <<-EOF
[Unit]
Description=DMSD is the Dozentenmodul server daemon
Wants=mysql.service
After=mysql.service
[Service]
User=dmsd
Group=images
WorkingDirectory=$1
ExecStart=$1/dmsd.sh
Restart=always
RestartSec=5
SyslogIdentifier=dmsd
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target
EOF
cat > "$1/dmsd.sh" <<-EOF
#!/bin/sh
KB=\$($(which grep) ^MemTotal /proc/meminfo | $(which awk) '{print \$2}')
[ -z "\$KB" ] && KB=600000
if [ "\$KB" -gt 4096000 ]; then
MB=\$(( \$KB / ( 1024 * 3 ) + 667 ))
else
MB=\$(( \$KB / ( 1024 * 2 ) ))
fi
if [ "\$MB" -gt 2000 ] && ! $(which java) -version 2>&1 | $(which grep) -q '64-Bit'; then
MB=2000
fi
[ "\$MB" -lt 190 ] && MB=190
[ "\$MB" -gt 4500 ] && MB=4500
exec $(which java) -Xmx\${MB}M -jar dmsd.jar
EOF
chmod +x "$1/dmsd.sh"
}
install_bwSuite_server() {
# $1: directory to install server to
echo "# Installing server part of bwSuite... "
mkdir -p "$1" 2>/dev/null
install -m 0644 -p -o root -g root "$BASEDIR/static_files/dmsd.jar" "$1/dmsd.jar" \
|| perror "Could not install dmsd.jar"
chown -R root:root "$1"
chmod -R go-w "$1"
config_bwSuite_server "$1"
install_bwSuite_service "$1"
}
|