Blame tests/r_lamp/1_lamp_check.sh

Karanbir Singh 14ae45
#!/bin/bash
Karanbir Singh 14ae45

Karanbir Singh 14ae45
# Author: Steve Barnes (steve@echo.id.au)
Karanbir Singh 14ae45
# Filename: 1_lamp_check.sh
Karanbir Singh 14ae45
# Version: 0.1
Karanbir Singh 14ae45
# Last Updated: Saturday, 30 April 2011 2:23 PM AEST
Karanbir Singh 14ae45
# Description: A simple Bash script to start LAMP daemons (httpd, mysqld), and confirm PHP is working.
Karanbir Singh 14ae45

Karanbir Singh 14ae45
readonly PASS=0
Karanbir Singh 14ae45
readonly FAIL=1
Karanbir Singh 14ae45

Karanbir Singh 14ae45
readonly DAEMONS=( httpd mysqld )
Karanbir Singh 14ae45

Karanbir Singh 14ae45
readonly SERVICE=/sbin/service
Karanbir Singh 14ae45
readonly PHP_BIN=/usr/bin/php
Karanbir Singh 14ae45
readonly PHP_CHECK=/tmp/check.php
Karanbir Singh 14ae45

Karanbir Singh 14ae45
# Make sure we cleanup after ourselves.
Karanbir Singh 14ae45
trap "/bin/rm -f $PHP_CHECK" EXIT
Karanbir Singh 14ae45

Karanbir Singh 14ae45
echo "[+] Starting LAMP daemon startup test"
Karanbir Singh 14ae45

Karanbir Singh 14ae45
# Iterate through our daemons, start each and check for the presence of each process
Karanbir Singh 14ae45
for D in "${DAEMONS[@]}"
Karanbir Singh 14ae45
do
Karanbir Singh 14ae45
	echo -n "[+] Attempting startup of '$D'..."
Karanbir Singh 14ae45
	
Karanbir Singh 14ae45
	$SERVICE $D start &>/dev/null
Karanbir Singh 14ae45
	
Karanbir Singh 14ae45
	RETVAL=$?
Karanbir Singh 14ae45
	
Karanbir Singh 14ae45
	if [ $RETVAL -ne 0 ]; then
Karanbir Singh 14ae45
	
Karanbir Singh 14ae45
		echo "FAIL: service startup for '$D' failed ($RETVAL)"
Karanbir Singh 14ae45
		exit $FAIL
Karanbir Singh 14ae45
		
Karanbir Singh 14ae45
	fi
Karanbir Singh 14ae45
	
Karanbir Singh 14ae45
	# See if our process exists
Karanbir Singh 14ae45
	PIDS=$(pidof $D)
Karanbir Singh 14ae45
	
Karanbir Singh 14ae45
	if [ -z "$PIDS" ]; then
Karanbir Singh 14ae45
	
Karanbir Singh 14ae45
		echo "FAIL: couldn't find '$D' in the process list."
Karanbir Singh 14ae45
		exit $FAIL
Karanbir Singh 14ae45
	fi
Karanbir Singh 14ae45
	
Karanbir Singh 14ae45
	echo "OK"
Karanbir Singh 14ae45

Karanbir Singh 14ae45
done
Karanbir Singh 14ae45

Karanbir Singh 14ae45
# Finally, a basic check to see if PHP is working correctly.
Karanbir Singh 14ae45

Karanbir Singh 14ae45
echo -n "[+] Performing php script check..."
Karanbir Singh 14ae45

Karanbir Singh 14ae45
cat <<EOL > $PHP_CHECK
Karanbir Singh 14ae45
Karanbir Singh 14ae45
return phpinfo();
Karanbir Singh 14ae45
?>
Karanbir Singh 14ae45
EOL
Karanbir Singh 14ae45

Karanbir Singh 14ae45
RETVAL=$PHP_BIN $PHP_CHECK &>/dev/null
Karanbir Singh 14ae45

Karanbir Singh 14ae45
if [ $RETVAL -ne 0 ]; then
Karanbir Singh 14ae45

Karanbir Singh 14ae45
	echo "FAIL: php_info() check failed ($RETVAL)"
Karanbir Singh 14ae45
	exit $FAIL
Karanbir Singh 14ae45

Karanbir Singh 14ae45
fi
Karanbir Singh 14ae45

Karanbir Singh 14ae45
echo "OK"
Karanbir Singh 14ae45
echo "[+] Finished"