#!/bin/sh ## ## 2001.02.18 Chilbong, Kim ## static kHTTPd, NOT Modules ## Default setting : ## "Apache" is main webserver, kHTTPd is assistant ## Apache Port($set_cport) : 80 ## kHTTPd Port($set_sport) : 8080 ## kHTTPd Logging($set_loggging) : 0(no) ## # Require setting !!!!!!!! # hub !!! not good # apache_htdocs="/home/wwwhome/linuxchannel.net/newhome" khttpdlog="/usr/local/bin/khttpdlog" # # end setting khttpd_help() { echo "Usage... khttpd [start|stop|status]" echo " khttpd start [documentroot] [port] [1(logging yes)|0(logging no)]" exit 0 } khttpd_status() { echo " + kHTTPd Port : $1" echo " + kHTTPd DocumentRoot : $2" echo " + Another Server Port : $3" echo " + logging [ 0=no, 1=yes ] : $4" } kill_khttpdlog() { if [ "$1" -ge "1" ] ; then killall khttpdlog >/dev/null 2>/dev/null fi } khttpd="/proc/sys/net/khttpd" serverport="${khttpd}/serverport" clientport="${khttpd}/clientport" threads="${khttpd}/threads" documentroot="${khttpd}/documentroot" dynamic="${khttpd}/dynamic" start="${khttpd}/start" stop="${khttpd}/stop" logging="${khttpd}/logging" START=$(cat $start 2>/dev/null) STOP=$(cat $stop 2>/dev/null) DOCROOT=$(cat $documentroot 2>/dev/null) SPORT=$(cat $serverport 2>/dev/null) CPORT=$(cat $clientport 2>/dev/null) LOGGING=$(cat $logging 2>/dev/null) RUNLOGGING=`ps -ef | grep khttpdlog | grep -v grep | wc -l` if [ "$START" = "1" -a $STOP = "0" ] ; then khttpd_run="1" fi if [ "$1" = "" ] ; then khttpd_help fi case "$1" in start) if [ "$khttpd_run" = "1" ] ; then echo "kHTTPd RUNNING !!! please, khttpd stop" exit 0 else # $2, kHTTPd DocumentRoot if [ "$2" = "" ] ; then set_docroot="$apache_htdocs" else set_docroot="$2" fi # $3, kHTTPd Port default 8080 port if [ "$3" = "" -o "$3" = "8080" ] ; then set_sport="8080" set_cport="80" else set_sport="$3" set_cport="8080" fi # Notes **************************************************** # 1) This version works ONLY for kHTTPd 0.1.6c # 2) You must configure kHTTPd to log BEFORE STARTING it # 3) The logging-daemon must be running BEFORE STARTING kHTTPd # from http://www.fenrus.demon.nl/ # $4, if not given, default set logging "0(no)" # if [ -x $khttpdlog ] ; then if [ "$4" = "1" ] ; then # check khttpdlog #if [ "$RUNLOGGING" -ge "1" -a $LOGGING = "0" ] ; then # killall khttpdlog 2>/dev/null #fi # force down khttpdlog kill_khttpdlog "$RUNLOGGING" # start khttpdlog, see /var/log/khttpd.log echo 1 > $logging $khttpdlog >/dev/null 2>/dev/null & else echo 0 > $logging fi else echo 0 > $logging fi echo $set_sport > $serverport echo $set_cport > $clientport echo 2 > $threads echo "$set_docroot" > $documentroot echo php3 > $dynamic echo php > $dynamic sleep 1 echo 0 > $stop sleep 1 echo 1 > $start fi ;; stop) echo 1 > $stop sleep 1 echo 0 > $start sleep 1 kill_khttpdlog "$RUNLOGGING" ;; status) if [ "$khttpd_run" = "1" ] ; then echo " kHTTPd RUNNING !!!" khttpd_status "$SPORT" "$DOCROOT" "$CPORT" "$LOGGING" else echo "kHTTPd NOT running !!!" fi ;; *) khttpd_help ;; esac exit 0