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"
|