diff --git a/SOURCES/guacamole-server.init b/SOURCES/guacamole-server.init new file mode 100644 index 0000000..8378c57 --- /dev/null +++ b/SOURCES/guacamole-server.init @@ -0,0 +1,109 @@ +#!/bin/sh +# +# guacd - Takes care of starting and stopping the Guacamole daemon. +# +# chkconfig: - 80 20 +# description: Guacamole proxy daemon + +### BEGIN INIT INFO +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Takes care of starting and stopping the Guacamole daemon. +# Description: guacd is the Guacamole proxy daemon used by the Guacamole web +# application and framework to translates between arbitrary +# protocols and the Guacamole protocol. +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +exec="/usr/sbin/guacd" +prog="guacd" +pid="/var/run/$prog.pid" +OPTS="$OPTS -p $pid" + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +# Ensure $HOME is set properly, even if environment is clear +USER=`whoami` +export HOME=`sh -c "echo ~$USER"` + +lockfile=/var/lock/subsys/$prog + +start() { + [ -x $exec ] || exit 5 + [ -f $config ] || exit 6 + echo -n $"Starting $prog: " + daemon $prog $OPTS + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval +} + + +stop() { + echo -n $"Stopping $prog: " + killproc -p $pid $prog + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval +} + +restart() { + stop + start +} + +reload() { + restart +} + +force_reload() { + restart +} + +rh_status() { + # run checks to determine if the service is running or use generic status + status -p $pid $prog +} + +rh_status_q() { + rh_status >/dev/null 2>&1 +} + + +case "$1" in + start) + rh_status_q && exit 0 + $1 + ;; + stop) + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload) + rh_status_q || exit 7 + $1 + ;; + force-reload) + force_reload + ;; + status) + rh_status + ;; + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac +exit $? diff --git a/SOURCES/guacamole-server.service b/SOURCES/guacamole-server.service new file mode 100644 index 0000000..eaa52da --- /dev/null +++ b/SOURCES/guacamole-server.service @@ -0,0 +1,16 @@ +[Unit] +Description=Guacamole proxy daemon +Documentation=man:guacd(8) +After=network.target + +[Service] +EnvironmentFile=-/etc/sysconfig/guacd +Environment=HOME=/var/lib/guacd +ExecStart=/usr/sbin/guacd -f $OPTS +Restart=on-failure +User=guacd +Group=guacd + +[Install] +WantedBy=multi-user.target + diff --git a/SOURCES/guacamole-server.sysconfig b/SOURCES/guacamole-server.sysconfig new file mode 100644 index 0000000..5e2455c --- /dev/null +++ b/SOURCES/guacamole-server.sysconfig @@ -0,0 +1,5 @@ +# Guacamole daemon configuration +# For details see guacd man page + +# Change listening port from default 4822 +# OPTS="-l 4823"