freebsd-ports/www/apache13-fp/files/apache.sh.tmpl
Erwin Lansing 9d8d99dc35 The attached patch changes fplogo.gif to createdwFP.gif, and adds a usage
guideline for the Frontpage Logo.

Updated apache.sh.tmpl to have the default apache_* variables in the script,
instead of in an external file.

PR:		52541
Submitted by:	maintainer
Approved by:	edwin (mentor)
2003-06-08 09:56:51 +00:00

117 lines
2.4 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
# PROVIDE: apache
# REQUIRE: DAEMON
# KEYWORD: FreeBSD shutdown
#
# NOTE for FreeBSD 5.0+:
# If you want this script to start with the base rc scripts
# move apache.sh to /etc/rc.d/apache
prefix=%%PREFIX%%
# Define the following apache_* variables in one of the following:
# /etc/rc.conf
# /etc/rc.conf.d/apache
# /etc/rc.conf.d/apache
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
#
apache_enable="YES" # Enable Apache
#apache_program="${prefix}/sbin/httpd # Location of httpd
apache_start="start_FP" # Subcommand sent to apachectl to control how
# httpd is started.
apache_doit ()
{
case $1 in
start) action=${apache_start} ;;
reload) action=graceful ;;
*) action=$1 ;;
esac
${ctl_command} ${action}
}
# Create New FrontPage suidkey
new_key() {
CUR_UMASK=`umask`
skdir=${prefix}/frontpage/version%%FP_VER%%/apache-fp
PERL=%%PERL5%%
if [ -x ${prefix}/libexec/apache/mod_frontpage.so ]
then
#NOTE: We need Perl 5, to generate a new key
if [ -x ${PERL} ]
then
umask 077
${PERL} -e '@a=(split(//, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*-=_+")); print((map {$a[rand(scalar @a)]} (1..128)), "\n");' > $skdir/suidkey
umask ${CUR_UMASK}
fi
fi
}
if [ -f /etc/rc.subr ]; then
. /etc/rc.subr
name="apache"
rcvar=`set_rcvar`
command="${prefix}/sbin/httpd"
ctl_command="${prefix}/sbin/apachectl"
# pidfile=/var/run/httpd.pid
required_files="${prefix}/etc/apache/httpd.conf"
extra_commands="reload"
start_precmd="new_key"
start_cmd="apache_doit start"
stop_cmd="apache_doit stop"
restart_cmd="apache_doit restart"
reload_cmd="apache_doit reload"
load_rc_config $name
run_rc_command "$1"
else
# Suck in the configuration variables.
if [ -z "${source_rc_confs_defined}" ]; then
if [ -r /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
source_rc_confs
elif [ -r /etc/rc.conf ]; then
. /etc/rc.conf
fi
fi
rc=0
case "${apache_enable}" in
[Yy][Ee][Ss])
case "$1" in
start)
if [ -x ${prefix}/sbin/apachectl ]; then
new_key
${prefix}/sbin/apachectl ${apache_start} && echo -n ' httpd'
fi
;;
stop)
if [ -r /var/run/httpd.pid ]; then
${prefix}/sbin/apachectl stop && echo -n ' httpd'
fi
;;
*)
echo "usage: $0 {start|stop}" 1>&2
rc=64
;;
esac
;;
*)
rc=0
;;
esac
exit $rc
fi