mirror of
https://github.com/outbackdingo/sysadm.git
synced 2026-01-27 10:20:26 +00:00
56 lines
1.3 KiB
Bash
Executable File
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"
|