#!/bin/sh

### BEGIN INIT INFO
# Provides:	  nginx
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/nginx
if [ `cat /proc/driver/processor/ldid` -eq "7" ]; then
    NGINX_CONF="/etc/nginx/nginx_eccb.conf"
	chown www-data: /var/run
    touch /var/run/wifi_activity.txt
    chmod 777 /var/run/wifi_activity.txt
else
    NGINX_CONF="/etc/nginx/nginx.conf"
fi
DAEMON_OPTS="-c $NGINX_CONF"
NAME=nginx
DESC=nginx

# Include nginx defaults if available
if [ -f /etc/default/nginx ]; then
	. /etc/default/nginx
fi

test -x $DAEMON || exit 0


. /lib/lsb/init-functions

PID=$(awk -F'[ ;]' '/[^#]pid/ {print $2}' $NGINX_CONF)

if [ -z "$PID" ]
then
  PID=/run/nginx.pid
fi

if [ ! -d "/var/log/nginx" ]; then
    mkdir /var/log/nginx
fi

# Check if the ULIMIT is set in /etc/default/nginx
if [ -n "$ULIMIT" ]; then
  # Set the ulimits
  ulimit $ULIMIT
fi

test_nginx_config() {
        /etc/nginx/ssl/verifycert.sh  #verify SSL cert
        
        log_daemon_msg "Testing $DESC configuration"
		$DAEMON -t $DAEMON_OPTS 2>&1
		retvar=$?
		if [ $retvar -ne 0 ]
		then
			exit $retvar
		fi
}

start() {
		start-stop-daemon --start --quiet --pidfile $PID \
			--retry 5 --exec $DAEMON --oknodo -- $DAEMON_OPTS
}

stop() {
		start-stop-daemon --stop --quiet --pidfile $PID \
			--retry 5 --oknodo --exec $DAEMON
}

case "$1" in
	start)

		#set permissions for our webroot
		chmod a+rx /var
		chmod a+rx /var/www
		chmod -R a+rx /var/www/localhost

		chmod  a+rwx /var
		chmod  a+rwx /var/lib
		chmod -R  a+rwx /var/lib/nginx

		chmod  a+rwx /usr
		chmod  a+rwx /usr/local
		touch /var/run/wifi_activity.txt
		chmod 777 /var/run/wifi_activity.txt
		#chmod a+rwx /var/cache	
		#chmod -R og+rwx /var/cache/lighttpd


		test_nginx_config
		log_daemon_msg "Starting $DESC" "$NAME"
		start
		log_end_msg $?
		;;

	stop)
		log_daemon_msg "Stopping $DESC" "$NAME"
		stop
		log_end_msg $?
		;;

	restart|force-reload)
		test_nginx_config
		log_daemon_msg "Restarting $DESC" "$NAME"
		stop
		sleep 1
		start
		log_end_msg $?
		;;

	reload)
		test_nginx_config
		log_daemon_msg "Reloading $DESC configuration" "$NAME"
		start-stop-daemon --stop --signal HUP --quiet --pidfile $PID \
			--oknodo --exec $DAEMON
		log_end_msg $?
		;;

	configtest|testconfig)
		if test_nginx_config; then
			log_daemon_msg "$NAME"
		else
			exit $?
		fi
		log_end_msg $?
		;;

	status)
		status_of_proc -p $PID "$DAEMON" nginx
		;;

	*)
		echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
		exit 1
		;;
esac

exit 0
