Files
sysadm/src/rc.d/sysadm-restserver
2016-01-26 10:09:07 -05:00

56 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
# $FreeBSD$
# PROVIDE: sysadm-restserver
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable sysadm:
# sysadmr_restserver_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable sysadm
. /etc/rc.subr
name="sysadm_restserver"
rcvar=sysadm_restserver_enable
start_cmd="sysadm_restserver_start"
stop_cmd="sysadm_restserver_stop"
flags=""
[ -z "$sysadm_restserver_enable" ] && sysadm_restserver_enable="NO"
load_rc_config $name
ssl_keygen()
{
if [ ! -d "/usr/local/etc/sysadm" ] ; then
mkdir -p /usr/local/etc/sysadm
fi
openssl req -x509 -nodes -newkey rsa:2048 \
-keyout /usr/local/etc/sysadm/restserver.key \
-out /usr/local/etc/sysadm/restserver.crt -days 1024 \
-subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null
}
sysadm_restserver_stop()
{
if [ -e "/var/run/sysadm-rest.pid" ] ; then
pkill -9 -F /var/run/sysadm-rest.pid
fi
}
sysadm_restserver_start()
{
export PATH="${PATH}:/usr/local/bin:/usr/local/sbin"
sysadm_restserver_stop
ssl_keygen
echo "Starting sysadm (REST)..."
command="/usr/local/bin/sysadm-server"
daemon -p /var/run/sysadm-rest.pid $command $flags >/dev/null 2>/dev/null
chmod 744 /var/run/sysadm-rest.pid >/dev/null 2>/dev/null
}
run_rc_command "$1"