<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
#!/bin/sh

ARGS="$@"
ARG1="$1"

LSWS_HOME=/usr/local/lsws
APACHE_BIN=/usr/sbin/httpd

CTRL_APACHE=0

APACHE=/usr/sbin/httpd_ls_bak


LSWS=$LSWS_HOME/bin/lswsctrl
PARAM_LOG=$LSWS_HOME/logs/ap_cmd_param.log
APACHE_STATE=$LSWS_HOME/admin/cgid/apache_state

ulimit -v unlimited 2>/dev/null

if [ ! -f $LSWS ]; then
    mv $APACHE $APACHE_BIN
    $APACHE_BIN "$@"
    exit $?
fi

echo "`date`: $@" 2>/dev/null >> $PARAM_LOG 

if [ "x$ARG1" = 'x-DSSL' ] || [ "x$ARG1" = 'x-DFOREGROUND' ]; then
   shift
   ARG1=$1
fi

if [ "x$ARG1" = 'x' ]; then
    service lsws restart
    if [ "x$CTRL_APACHE" = "x1" ]; then
        $APACHE "$@"
    fi
    
elif [ "x$ARG1" = 'x-k' ]; then
    ARG2=$2
    case $ARG2 in
    start|startssl|sslstart|start-SSL)
    echo "START" > $APACHE_STATE
    service lsws restart
    ERR=$?
    if [ "x$CTRL_APACHE" = "x1" ]; then
        $APACHE "$@"
    fi
    exit $ERR
    ;;
    stop|graceful-stop)
    # never stop LSWS here, use "service lsws stop" instead
    # have to stop lsws or make cPanel belive apache is stopped,
    # otherwise cpanel will send signal "9"
    $LSWS stophttpd
    if [ "x$CTRL_APACHE" == "x1" ]; then
        $APACHE "$@"
    else
        echo ""
    fi
    ;;
    restart|graceful)
    echo "START" > $APACHE_STATE
    service lsws restart
    if [ "x$CTRL_APACHE" = "x1" ]; then
        $APACHE "$@"
    fi
    ;;
    *)
    $APACHE "$@"
    esac
else
    if [ "x$ARG1" = "xuninstall" ]; then
        if [ "x$CTRL_APACHE" = "x0" ]; then
            service lsws stop
            sleep 1
        fi
        mv $APACHE $APACHE_BIN
        $APACHE_BIN 
    elif [ "x$ARG1" = "xinstall" ]; then
        if [ "x$CTRL_APACHE" = "x0" ]; then
            pkill `basename $APACHE_BIN`
        fi
        echo "START" > $APACHE_STATE
        service lsws start
    else
        $APACHE "$@"
    fi
fi

ERROR=$?
exit $ERROR
