403 Forbidden


Disable Functions:
Path : /usr/share/lve/modlscapi/user/
File Upload :
Command :
Current File : //usr/share/lve/modlscapi/user/switch_lsapi

#!/bin/bash

# Copyright (c) Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

VERBOSE=NO
FORCE=NO

for item in "$@"
do
  if [ "$item" == "--verbose" ]; then
    VERBOSE=YES
    echo "Switching verbose level on... done"
    shift
  fi

  if [ "$item" == "--force" ]; then
    FORCE=YES
    echo "Using force-yes option..."
    shift
  fi
done

CMD="$1"

function addString(){
    HANDLR="$1"
    BINARY="$2"
    FL="$3"
    touch "$FL"
    if [ -e "$FL" ]; then
        RES=$(cat "$FL" | grep "$HANDLR")
        if [ -z "$RES" ]; then
            echo "$HANDLR $BINARY" >> "$FL"
        fi
    fi
}

function set_handler() {
    PHP="$1"
    HANDLER="$2"
    if [ -z "$PHP" ]; then
        return 1
    fi
    if [ -z "$HANDLER" ]; then
        return 1
    fi
    echo "Setting $PHP to $HANDLER handler..."
    /usr/sbin/whmapi1 php_set_handler version="$PHP" handler="$HANDLER" 2>/dev/null >/dev/null
    return 0
}

function confirm() {
    if [ "$FORCE" == "YES" ]; then
        return 0
    fi

    read -r -p "Do you want to proceed? [y/N] " response </dev/tty
    if [[ "$response" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
        return 0
    else
        return 1
    fi
}

function check_enable_global() {
    YES="$1"
    if [ -e /usr/share/lve/modlscapi/global.enabled -o -n "$YES" ]; then

        echo "mod_lsapi switched to turning on and off through the MultiPHP Manager(/Home/Software/MultiPHP Manager)"
        echo "You are using enabled globally mod_lsapi. Do you want to enable mod_lsapi through MultiPHP Manager?"
        echo "Current PHP will be switched to lsapi handler:"

        /usr/local/cpanel/bin/rebuild_phpconf --current | while read -r line;
        do
            echo "$line" | sed -n '/ cgi/p; /suphp/p'
        done
        echo "If you type N then mod_lsapi will be disabled and you can enable it again from MultiPHP Manager."

        if confirm; then
            /usr/local/cpanel/bin/rebuild_phpconf --current | while read -r line;
            do
                if [[ "$line" == *"suphp"* ]]; then
                    set_handler "$(echo "$line" | cut -d ' ' -f1)" "lsapi"
                fi
                if [[ "$line" == *" cgi"* ]]; then
                    set_handler "$(echo "$line" | cut -d ' ' -f1)" "lsapi"
                fi
            done
        fi
    fi

    if [ -e /etc/apache2/conf.d/lsapi.conf ]; then
        [ "$VERBOSE" = "YES" ] && echo -n "Switching old lsapi configuration off..."
        sed -i '/LoadModule/d'   "/etc/apache2/conf.d/lsapi.conf"
        sed -i '/lsapi_engine/d' "/etc/apache2/conf.d/lsapi.conf"
        sed -i '/AddHandler/d'   "/etc/apache2/conf.d/lsapi.conf"
        sed -i '/AddType/d'      "/etc/apache2/conf.d/lsapi.conf"
        sed -i '/FilesMatch/d'   "/etc/apache2/conf.d/lsapi.conf"
        [ "$VERBOSE" = "YES" ] && echo " done"
    fi

#    [ "$VERBOSE" = "YES" ] && echo "Enabling module..."
#    addString "# Enable mod_lsapi" "" "/etc/apache2/conf.modules.d/001_mod_lsapi.conf"
#    addString "LoadModule lsapi_module modules/mod_lsapi.so" "" "/etc/apache2/conf.modules.d/001_mod_lsapi.conf"
#    [ "$VERBOSE" = "YES" ] && echo " done"
}

function uninstall_lsapi_handler() {

    if [ -e /etc/apache2/conf.modules.d/90-suphp.conf ]; then
        HANDLER="suphp"
    elif [ -e /etc/apache2/conf.modules.d/005_mod_cgid.conf -o \
           -e /etc/apache2/conf.modules.d/005_mod_cgi.conf ]; then
        HANDLER="cgi"
    else
	echo "[WARNING]: Cannot detect a valid handler"
        HANDLER="cgi"
    fi

    echo "You started the uninstallation of the mod_lsapi."
    echo "PHP with enabled lsapi handler will be switched to $HANDLER handler."
    /usr/local/cpanel/bin/rebuild_phpconf --current | while read -r line;
    do
        echo "$line" | sed -n '/lsapi/p'
    done

    /usr/local/cpanel/bin/rebuild_phpconf --current | while read -r line;
    do
        if [[ "$line" == *"lsapi"* ]]; then
            set_handler "$(echo "$line" | cut -d ' ' -f1)" "$HANDLER"
        fi
    done
}

function get_user_config() {
    DOMAIN="$1"
    CLEAN="$2"
    if [ -z "$DOMAIN" ]; then
        return 1
    fi

    UN=$(/scripts/whoowns "$1" | tr -d '\n' | tr -d ' ')
    if [ -z "$UN" ]; then
        return 1
    fi

    HD=$(/usr/share/lve/modlscapi/utils/getdocroot.pm "$UN" "$DOMAIN")
    if [ -z "$HD" ]; then
        return 1
    fi

    if [ -e "$HD/.htaccess" ]; then
        if grep -E '[[:space:]]*lsapi_engine*[[:space:]]On' "$HD/.htaccess" | grep -vq "#"; then
            if grep -E '[[:space:]]*application/x-httpd-lsphp' "$HD/.htaccess" | grep -vq "#"; then
                if [ "$CLEAN" == "Yes" ]; then
                    sed -i '/lsphp -- BEGIN/,/lsphp -- END/d' "$HD/.htaccess"
                    sed -i '/mod_lsapi/d'     "$HD/.htaccess"
                    sed -i '/x-httpd-lsphp/d' "$HD/.htaccess"
                    sed -i '/lsapi_engine/d'  "$HD/.htaccess"
                fi
                return 0
            fi
        fi
    fi
    return 1
}

function count_lsapi_user() {
    ARRAY=( "$@" )
    COUNTER=0
    for vhost in "${ARRAY[@]}";
    do
        if get_user_config "$vhost" "No"; then
            let COUNTER=COUNTER+1
        fi
    done
    if [ $COUNTER -gt 0 ]; then
        return 0
    else
        return 1
    fi
}

function clean_user_conf() {
    ARRAY=( "$@" )
    for vhost in "${ARRAY[@]}";
    do
        get_user_config "$vhost" "Yes"
    done
}

function get_vhosts_by_version() {
    PHP="$1"
    INHERITED=$(/usr/local/cpanel/bin/rebuild_phpconf --current | grep DEFAULT | cut -d ' ' -f3)
    /usr/sbin/whmapi1 php_get_vhosts_by_version version="$PHP" | while read -r line;
    do
        echo "$line" | grep -e '- ' | sed 's/^[ \t]*- //'
    done
    if [ "$PHP" == "$INHERITED" ]; then
        /usr/sbin/whmapi1 php_get_vhosts_by_version version="inherit" | while read -r line;
        do
            echo "$line" | grep -e '- ' | sed 's/^[ \t]*- //'
        done
    fi
}

function check_enable_user() {
    /usr/local/cpanel/bin/rebuild_phpconf --current | while read -r line;
    do
        PHP=$(echo "$line" | cut -d ' ' -f1)
        HANDLER=$(echo "$line" | cut -d ' ' -f3)
        declare -a Array
        Array+=$(get_vhosts_by_version "$PHP")
        if count_lsapi_user ${Array[@]}; then
            echo "Domains that handled by $PHP:"
            for vhost in ${Array[@]};
            do
                if get_user_config "$vhost" "No"; then
                    echo "$vhost - lsapi"
                else
                    echo "$vhost - $HANDLER"
                fi
            done
            echo "There are domains which are using mod_lsapi through --enable-domain option."
            echo "This option is deprecated for EA4 and mod_lsapi switched to turning on and off through"
            echo "the MultiPHP Manager(/Home/Software/MultiPHP Manager)"
            echo "Do you want to enable mod_lsapi through MultiPHP Manager for $PHP?"
            echo "Domains which are using $HANDLER will be switched to lsapi handler too."
            echo "If you type N then mod_lsapi will remain enabled on these domains."
            echo "However, enabling mod_lsapi for new domains is now possible only through MultiPHP Manager."
            if confirm; then
                clean_user_conf ${Array[@]}
                set_handler "$PHP" "lsapi"
            fi
        fi
        unset Array
    done
}



function oldUninstall() {
    [ "$VERBOSE" = "YES" ] && echo "Old mod_lsapi uninstall started"

    if [ -e "/var/cpanel/conf/apache/main.bak" ]; then
        [ "$VERBOSE" = "YES" ] && echo -n "Restoring /var/cpanel/conf/apache/main..."
        mv -f /var/cpanel/conf/apache/main.bak /var/cpanel/conf/apache/main
        [ "$VERBOSE" = "YES" ] && echo " done"
    fi

    if [ -e /etc/apache2/conf.modules.d/90-suphp.conf.cpanel ]; then
        [ "$VERBOSE" = "YES" ] && echo -n "Restoring /etc/apache2/conf.modules.d/90-suphp.conf..."
        mv /etc/apache2/conf.modules.d/90-suphp.conf.cpanel /etc/apache2/conf.modules.d/90-suphp.conf
        [ "$VERBOSE" = "YES" ] && echo " done"
    fi

    if [ -e /etc/container/php.handler ]; then
        [ "$VERBOSE" = "YES" ] && echo -n "Cleaning /etc/container/php.handler"
        sed -i '/x-httpd-ea-php/d' "/etc/container/php.handler"
        [ "$VERBOSE" = "YES" ] && echo " done"
    fi
}

function add_handlers() {
    if [ ! -e /etc/container ]; then
        mkdir -p /etc/container
    fi
    addString "application/x-httpd-ea-php44-lsphp" "/opt/cpanel/ea-php44/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php51-lsphp" "/opt/cpanel/ea-php51/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php52-lsphp" "/opt/cpanel/ea-php52/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php53-lsphp" "/opt/cpanel/ea-php53/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php54-lsphp" "/opt/cpanel/ea-php54/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php55-lsphp" "/opt/cpanel/ea-php55/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php56-lsphp" "/opt/cpanel/ea-php56/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php70-lsphp" "/opt/cpanel/ea-php70/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php71-lsphp" "/opt/cpanel/ea-php71/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php72-lsphp" "/opt/cpanel/ea-php72/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php73-lsphp" "/opt/cpanel/ea-php73/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php74-lsphp" "/opt/cpanel/ea-php74/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php80-lsphp" "/opt/cpanel/ea-php80/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php81-lsphp" "/opt/cpanel/ea-php81/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php82-lsphp" "/opt/cpanel/ea-php82/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php83-lsphp" "/opt/cpanel/ea-php83/root/usr/bin/lsphp" "/etc/container/php.handler"

    addString "application/x-httpd-ea-php44___lsphp" "/opt/cpanel/ea-php44/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php51___lsphp" "/opt/cpanel/ea-php51/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php52___lsphp" "/opt/cpanel/ea-php52/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php53___lsphp" "/opt/cpanel/ea-php53/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php54___lsphp" "/opt/cpanel/ea-php54/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php55___lsphp" "/opt/cpanel/ea-php55/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php56___lsphp" "/opt/cpanel/ea-php56/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php70___lsphp" "/opt/cpanel/ea-php70/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php71___lsphp" "/opt/cpanel/ea-php71/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php72___lsphp" "/opt/cpanel/ea-php72/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php73___lsphp" "/opt/cpanel/ea-php73/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php74___lsphp" "/opt/cpanel/ea-php74/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php80___lsphp" "/opt/cpanel/ea-php80/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php81___lsphp" "/opt/cpanel/ea-php81/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php82___lsphp" "/opt/cpanel/ea-php82/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-ea-php83___lsphp" "/opt/cpanel/ea-php83/root/usr/bin/lsphp" "/etc/container/php.handler"
 
    addString "application/x-httpd-alt-php44___lsphp" "/opt/cloudlinux/alt-php44/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php51___lsphp" "/opt/cloudlinux/alt-php51/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php52___lsphp" "/opt/cloudlinux/alt-php52/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php53___lsphp" "/opt/cloudlinux/alt-php53/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php54___lsphp" "/opt/cloudlinux/alt-php54/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php55___lsphp" "/opt/cloudlinux/alt-php55/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php56___lsphp" "/opt/cloudlinux/alt-php56/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php70___lsphp" "/opt/cloudlinux/alt-php70/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php71___lsphp" "/opt/cloudlinux/alt-php71/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php72___lsphp" "/opt/cloudlinux/alt-php72/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php73___lsphp" "/opt/cloudlinux/alt-php73/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php74___lsphp" "/opt/cloudlinux/alt-php74/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php80___lsphp" "/opt/cloudlinux/alt-php80/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php81___lsphp" "/opt/cloudlinux/alt-php81/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php82___lsphp" "/opt/cloudlinux/alt-php82/root/usr/bin/lsphp" "/etc/container/php.handler"
    addString "application/x-httpd-alt-php83___lsphp" "/opt/cloudlinux/alt-php83/root/usr/bin/lsphp" "/etc/container/php.handler"
}

if [ "$CMD" == "--uninstall" ]; then
    [ "$VERBOSE" = "YES" ] && echo "mod_lsapi uninstall started"

#    if [ -e /etc/apache2/conf.modules.d/001_mod_lsapi.conf ]; then
#        [ "$VERBOSE" = "YES" ] && echo -n "Removing /etc/apache2/conf.modules.d/001_mod_lsapi.conf..."
#        rm -f /etc/apache2/conf.modules.d/001_mod_lsapi.conf
#        [ "$VERBOSE" = "YES" ] && echo " done"
#    fi

    [ "$VERBOSE" = "YES" ] && echo -n "Changing enabled lsapi handler to default handler"
    uninstall_lsapi_handler
    [ "$VERBOSE" = "YES" ] && echo " done"

    #Disable all domains if exists in htaccess
    /usr/share/lve/modlscapi/utils/getdocroots.pm | while read line;
    do
    if [ -e "$line/.htaccess" ]; then
        [ "$VERBOSE" = "YES" ] && echo -n "Disabling mod_lsapi in $line..."
        sed -i '/lsphp -- BEGIN/,/lsphp -- END/d' "$line/.htaccess"
        sed -i '/x-httpd-lsphp/d' "$line/.htaccess"
        sed -i '/lsapi_engine/d' "$line/.htaccess"
        sed -i '/mod_lsapi/d' "$line/.htaccess"
        [ "$VERBOSE" = "YES" ] && echo " done"
    fi
    done

############ REMOVE PATCH FOR CPANEL, this part should be removed when cpanel will be provided with our patch
#    [ "$VERBOSE" = "YES" ] && echo -n "Restoring /usr/local/cpanel/Cpanel/WebServer/Supported/apache.pm..."
#    /usr/share/lve/modlscapi/utils/cpanel_hooks_manage.py -d
#    [ "$VERBOSE" = "YES" ] && echo " done"
######################

    if [ -e "/var/cpanel/conf/apache/main.bak" ]; then
        [ "$VERBOSE" = "YES" ] && echo -n "Restoring /var/cpanel/conf/apache/main..."
        mv -f /var/cpanel/conf/apache/main.bak /var/cpanel/conf/apache/main
        [ "$VERBOSE" = "YES" ] && echo " done"
    fi

    if [ -e /etc/container/php.handler ]; then
        [ "$VERBOSE" = "YES" ] && echo -n "Cleaning /etc/container/php.handler"
        sed -i '/x-httpd-ea-php/d' "/etc/container/php.handler"
        [ "$VERBOSE" = "YES" ] && echo " done"
    fi

    [ "$VERBOSE" = "YES" ] && echo "Rebuilding httpd config..."
    /scripts/rebuildhttpdconf
    [ "$VERBOSE" = "YES" ] && echo "Rebuilding httpd config done"

    echo "Reconfiguration completed"
    exit
fi

if [ "$CMD" == "--setup" ]; then

    oldUninstall

    [ "$VERBOSE" = "YES" ] && echo "mod_lsapi setup started"

    [ "$VERBOSE" = "YES" ] && echo -n "Adding php handlers..."
    add_handlers
    [ "$VERBOSE" = "YES" ] && echo " done"

    if [ ! -e "/var/cpanel/conf/apache/main.bak" ]; then
        [ "$VERBOSE" = "YES" ] && echo -n "Backing /var/cpanel/conf/apache/main up..."
        cp /var/cpanel/conf/apache/main /var/cpanel/conf/apache/main.bak
        [ "$VERBOSE" = "YES" ] && echo " done"
    fi

    [ "$VERBOSE" = "YES" ] && echo -n "Removing mod_ruid2 settings..."
    cat /var/cpanel/conf/apache/main | sed -n '/mod_ruid2\.so/{N;s/.*//;x;d;};x;p;${x;p;}' | sed '/^$/d' > /var/cpanel/conf/apache/main.tmp
    cat /var/cpanel/conf/apache/main.tmp | sed -n '/mod_ruid2\.conf/{s/.*//;x;d;};x;p;${x;p;}' | sed '/^$/d' > /var/cpanel/conf/apache/main
    rm -f /var/cpanel/conf/apache/main.tmp
    [ "$VERBOSE" = "YES" ] && echo " done"

############ INSTALL PATCH FOR CPANEL, this part should be removed when cpanel will be provided with our patch
#    if [ ! -e /usr/local/cpanel/Cpanel/WebServer/Supported/apache/Handler/lsapi.pm ]; then
#        [ "$VERBOSE" = "YES" ] && echo -n "Adding lsapi.pm to Cpanel..."
#        cp /usr/share/lve/modlscapi/tars/lsapi.pm /usr/local/cpanel/Cpanel/WebServer/Supported/apache/Handler/lsapi.pm
#        [ "$VERBOSE" = "YES" ] && echo " done"
#    fi

#    [ "$VERBOSE" = "YES" ] && echo -n "Patching Cpanel for lsapi handler..."
#    cp /usr/local/cpanel/Cpanel/WebServer/Supported/apache.pm /usr/local/cpanel/Cpanel/WebServer/Supported/apache.pm.bak
#    /usr/share/lve/modlscapi/hooks/lsapi_patch_cpanel_hook.sh
#    /usr/share/lve/modlscapi/utils/cpanel_hooks_manage.py -i
#    [ "$VERBOSE" = "YES" ] && echo " done"
########################

    [ "$VERBOSE" = "YES" ] && echo "Checking for enabled global module..."
    check_enable_global
    [ "$VERBOSE" = "YES" ] && echo " done"

    [ "$VERBOSE" = "YES" ] && echo "Checking for enabled domain module..."
    check_enable_user
    [ "$VERBOSE" = "YES" ] && echo " done"

    [ "$VERBOSE" = "YES" ] && echo "Rebuilding httpd config..."
    /scripts/rebuildhttpdconf
    [ "$VERBOSE" = "YES" ] && echo "Rebuilding httpd config done"

    if [ ! -e /usr/local/bin/lsphp ]; then
        [ "$VERBOSE" = "YES" ] && echo "Setting up cl-selector for lsphp..."
        cp /opt/alt/php56/usr/bin/lsphp /usr/local/bin/
        ln -s /usr/local/bin/lsphp /etc/cl.selector/lsphp
        if [ -e /usr/sbin/cagefsctl ]; then
            /usr/sbin/cagefsctl --update-etc
        fi
        RES=""
        if [ -e /etc/cl.selector/native.conf ]; then
            RES=`cat /etc/cl.selector/native.conf | grep lsphp=/usr/local/bin/lsphp `
        fi
        if [ -z "$RES" ]; then
            echo "lsphp=/usr/local/bin/lsphp" >> /etc/cl.selector/native.conf
        fi
        if [ -e /usr/sbin/cagefsctl ]; then
            /usr/sbin/cagefsctl --setup-cl-selector
        fi
        [ "$VERBOSE" = "YES" ] && echo "Setting up cl-selector for lsphp done"
    fi

    CSF_CONFIG="/etc/csf/csf.pignore"
    CSF_MAIN_RULE="exe:/usr/local/bin/lsphp"
    CSF_ALT_RULE="pexe:/opt/alt/php.*/usr/bin/lsphp"
    CSF_SELECTOR_RULE="exe:/usr/selector/lsphp"
    CSF_EA_RULE="pexe:/opt/cpanel/ea-php*/root/usr/bin/lsphp"

    if [ -f "${CSF_CONFIG}" ]; then
        [ "$VERBOSE" = "YES" ] && echo "Setting up lfd service for lsphp..."
        [ -e "${CSF_CONFIG}.bkp" ] || cp "${CSF_CONFIG}" "${CSF_CONFIG}.bkp"
        grep -v '^[[:space:]]*#' "${CSF_CONFIG}" | grep -Fq "${CSF_MAIN_RULE}" || echo "${CSF_MAIN_RULE}" >> "$CSF_CONFIG"
        grep -v '^[[:space:]]*#' "${CSF_CONFIG}" | grep -Fq "${CSF_SELECTOR_RULE}" || echo "${CSF_SELECTOR_RULE}" >> "$CSF_CONFIG"
        grep -v '^[[:space:]]*#' "${CSF_CONFIG}" | grep -Fq "${CSF_EA_RULE}" || echo "${CSF_EA_RULE}" >> "$CSF_CONFIG"
        grep -v '^[[:space:]]*#' "${CSF_CONFIG}" | grep -Fq "${CSF_ALT_RULE}" || echo "${CSF_ALT_RULE}" >> "$CSF_CONFIG"
        service lfd restart 2>/dev/null >/dev/null
        [ "$VERBOSE" = "YES" ] && echo "Setting up lfd service for lsphp done"
    fi

    echo "Reconfiguration completed"
    exit
fi

if [ "$CMD" == "--setup-light" ]; then

    [ "$VERBOSE" = "YES" ] && echo -n "Adding php handlers..."
    add_handlers
    [ "$VERBOSE" = "YES" ] && echo " done"

    /usr/share/lve/modlscapi/utils/getdocroots.pm | while read HD;
    do
    if [ -e "$HD/.htaccess" ]; then
        [ "$VERBOSE" = "YES" ] && echo -n "Removing old mod_lsapi configuration (lsapi_engine off) in $HD..."
        if grep -qE '[[:space:]]*lsapi_engine*[[:space:]]*off' "$HD/.htaccess"; then
            sed -i '/[[:space:]]*lsapi_engine*[[:space:]]*off/d' "$HD/.htaccess"
        fi
        if grep -qE '[[:space:]]*lsapi_engine*[[:space:]]*Off' "$HD/.htaccess"; then
            sed -i '/[[:space:]]*lsapi_engine*[[:space:]]*Off/d' "$HD/.htaccess"
        fi
    fi
        [ "$VERBOSE" = "YES" ] && echo " done"
    done

#    [ "$VERBOSE" = "YES" ] && echo -n "Patching Cpanel for lsapi handler..."
#    cp /usr/local/cpanel/Cpanel/WebServer/Supported/apache.pm /usr/local/cpanel/Cpanel/WebServer/Supported/apache.pm.bak
#    /usr/share/lve/modlscapi/hooks/lsapi_patch_cpanel_hook.sh
#    /usr/share/lve/modlscapi/utils/cpanel_hooks_manage.py -i
#    [ "$VERBOSE" = "YES" ] && echo " done"

    exit
fi

if [ "$CMD" == "--enable-domain" ]; then
    echo "Deprecated for EA4, use MultiPHP Manager."
    exit
fi

if [ "$CMD" == "--disable-domain" ]; then
    echo "Deprecated for EA4, use MultiPHP Manager."
    exit
fi

if [ "$CMD" == "--enable-global" ]; then
    check_enable_global "YES"
    exit
fi

if [ "$CMD" == "--disable-global" ]; then
    echo "Deprecated for EA4, use MultiPHP Manager."
    exit
fi

if [ "$CMD" == "--build-native-lsphp" ]; then
    echo "Deprecated for EA4"
    exit
fi

echo "$0 [OPTION]"
echo "utility for switch on or switch off mod_lsapi on cPanel (without mod_ruid2):"
echo "--setup - setup mod_lsapi configurations for apache"
echo "--setup-light - only EasyApache 4 feature"
echo "--uninstall - uninstall mod_lsapi from apache"
echo "--enable-domain - enable mod_lsapi for individual domain"
echo "--disable-domain - disable mod_lsapi for individual domain"
echo "--enable-global - sets up mod_lsapi as a default way to serve PHP, making it enabled for all domains. Once that mode is enabled, you cannot disable mod_lsapi for individual domain"
echo "--disable-global - disable mod_lsapi  as a default way to serve PHP, disabling mod_lsapi for all domains, including those selected previously using --enable-domain"
echo "--build-native-lsphp - build native lsphp for cPanel"
echo "--verbose - switch verbose level on"
echo "--force - only with setup option (EA4)"
echo "--help - show this help"

404 Not Found
[ LogOut ]