#!/bin/bash -e
#
# Test if the web server (apache) works.

if test -r /etc/debian-edu/config ; then
    . /etc/debian-edu/config
fi

# Only networked profiles should have the https certificates
if echo "$PROFILE" | egrep -q 'Main-Server|Workstation|Thin-Client-Server|Minimal' ; then
    :
else
    exit 0
fi

skeloverride=/etc/skel/.mozilla/firefox/debian-edu.default/cert_override.txt
if [ -e "$skeloverride" ] && [ -h "$skeloverride" ] ; then
    echo "error: $0: Found symlink in $skeloverride."
fi

overridefile=/etc/iceweasel/profile/cert_override.txt
if [ ! -f "$overridefile" ] ; then
    echo "error: $0: Missing $overridefile."
else
    echo "success: $0: Found $overridefile."
fi    

# Only Main-Server profile provide webserver
if echo "$PROFILE" | grep -q 'Main-Server' ; then
    :
else
    exit 0
fi

server=www

# Wait for 10 seconds
HEADOPTS="-t 10"

unset http_proxy || true
unset ftp_proxy  || true

if pidof apache > /dev/null ; then
    echo "success: $0: apache is running."
else
    if pidof apache2 > /dev/null ; then
	echo "success: $0: apache2 is running."
    else
	echo "error: $0: apache is not running."
	exit 1
    fi
fi
	    
if [ ! -x /usr/bin/HEAD ] ; then
	echo "error: $0: Unable to find /usr/bin/HEAD."
	exit 1
else
    url=http://$server/
    if HEAD $HEADOPTS $url 2>&1 | grep -q 'Server: Apache' ; then
	echo "success: $0: Apache is listening on '$url'."
    else
	echo "error: $0: Apache is not listening on '$url'."
    fi
fi
