#!/bin/bash # Author: Steve Barnes (steve@echo.id.au) # Christoph Galuschka # Filename: 1_lamp_check.sh # Version: 0.2 # Last Updated: Saturday, 09 November 2013 2:23 # Description: A simple Bash script to start LAMP daemons (httpd, mysqld), and confirm PHP is working. # starting with 5.10, we have to differ between mysql55 and mysql if [ "$centos_ver" -ge 7 ] ; then t_Log "no mysql55 on CentOS 7 ... SKIP" exit 0 fi if [ $centos_ver = 5 ] then readonly DAEMONS=( httpd mysql55-mysqld ) else readonly DAEMONS=( httpd mysqld ) fi readonly DAEMONSPID=( httpd mysqld ) readonly SERVICE=/sbin/service readonly PHP_BIN=/usr/bin/php readonly PHP_CHECK=/tmp/check.php # Make sure we cleanup after ourselves. trap "/bin/rm -f $PHP_CHECK" EXIT t_Log "Running $0 - starting LAMP daemon startup test" # Iterate through our daemons, start each and check for the presence of each process for D in "${DAEMONS[@]}" do t_Log "Attempting startup of '$D'" $SERVICE $D start &>/dev/null RETVAL=$? if [ $RETVAL -ne 0 ]; then t_Log "FAIL: service startup for '$D' failed ($RETVAL)" exit $FAIL fi done for D in "${DAEMONSPID[@]}" do # See if our process exists PIDS=$(pidof $D) if [ -z "$PIDS" ]; then t_Log "FAIL: couldn't find '$D' in the process list." exit $FAIL fi echo "OK" done # Finally, a basic check to see if PHP is working correctly. t_Log "Performing php script check..." cat < $PHP_CHECK EOL RETVAL=$PHP_BIN $PHP_CHECK &>/dev/null if [ $RETVAL -ne 0 ]; then t_Log "FAIL: php_info() check failed ($RETVAL)" fi t_CheckExitStatus $RETVAL