#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

# Check if user is root
if [ $(id -u) != "0" ]; then
    printf "Error: You must be root to run this script!\n"
    exit 1
fi

printf "=========================================================================\n"
printf "Manager for LNMPA V0.7  ,  Written by Licess \n"
printf "=========================================================================\n"
printf "LNMPA is a tool to auto-compile & install Nginx+MySQL+PHP+Apache on Linux \n"
printf "This script is a tool to Manage status of LNMPA \n"
printf "For more information please visit http://www.lnmp.org \n"
printf "\n"
printf "Usage: /root/lnmpa {start|stop|reload|restart|kill|status}\n"
printf "=========================================================================\n"

NGINXNAME=nginx
NGINXCONFIGFILE=/usr/local/nginx/conf/$NGINXNAME.conf
NGINXPIDFILE=/usr/local/nginx/logs/$NGINXNAME.pid
NGINXDAEMON=/usr/local/nginx/sbin/$NGINXNAME
HOSTNAME=`hostname`
MYSQLPIDFILE=/usr/local/mysql/var/$HOSTNAME.pid
APACHENAME=httpd
APACHEPIDFILE=/usr/local/apache/logs/$APACHENAME.pid

function_start()
{
    printf "Starting LNMPA...\n"
    if [ -f $NGINXPIDFILE ]; then
        printf "Nginx is runing!\n"
        exit 1
    else
        $NGINXDAEMON -c $NGINXCONFIGFILE
        printf "Nginx start successfully!\n"
    fi

    /etc/init.d/httpd start

    if [ -f $MYSQLPIDFILE ]; then
        printf "MySQL is runing!\n"
    else
	/etc/init.d/mysql start
	printf "MySQL start successfully!\n"
    fi
}

function_stop()
{
    printf "Stoping LNMP...\n"
    if  [ -f $NGINXPIDFILE ]; then
        kill `cat $NGINXPIDFILE`
        printf "Nginx program is stop\n"
    else
        printf "Nginx program is not runing!\n" 
    fi

    /etc/init.d/httpd stop

    if  [ -f $MYSQLPIDFILE ]; then
        /etc/init.d/mysql stop
        printf "MySQL program is stop\n"
    else
        printf "MySQL program is not runing!\n" 
    fi
}

function_reload()
{
    printf "Reload LNMP...\n"
    printf "Reload Nginx configure...\n"
    $NGINXDAEMON -t
    $NGINXDAEMON -s reload
    printf "Nginx program is reloding!\n"
    /etc/init.d/mysql reload
    /etc/init.d/httpd restart
}

function_restart()
{
    printf "Reload LNMP...\n"
    printf "Reload Nginx configure...\n"
    $NGINXDAEMON -t
    kill `cat $NGINXPIDFILE`
    $NGINXDAEMON -c $NGINXCONFIGFILE
    printf "Nginx program is restarting!\n"
    /etc/init.d/mysql restart
    /etc/init.d/httpd restart
}

function_kill()
{
    kill `cat $NGINXPIDFILE`
    kill `cat $APACHEPIDFILE`
    kill `cat $MYSQLPIDFILE`
}

function_status()
{
    if [ -f $NGINXPIDFILE ]; then
      printf "Nginx is runing!\n"
    else
	printf "Nginx is stop!\n"
    fi

/etc/init.d/httpd status
/etc/init.d/mysql status
}

case "$1" in
	start)
		function_start
		;;
	stop)
		function_stop
		;;
	restart)
		function_stop
		function_start
		;;
	reload)
		function_reload
		;;
	kill)
		function_kill
		;;
	status)
		function_status
		;;
	*)
		printf "Usage: /root/lnmpa {start|stop|reload|restart|kill|status}\n"
esac
exit
