Current File : //usr/local/lsws/add-ons/cpanel/lsws_whm_plugin/bin/lsws_func |
#!/bin/sh
##########################################################
# LiteSpeed Web Server Plugin for WHM
#
# @author LiteSpeed Technologies, Inc. (https://www.litespeedtech.com)
# @copyright (c) 2013-2020
##########################################################
#
# Init Common Variables
#
init_var()
{
OS=`uname -s`
if [ "x$OS" = "xFreeBSD" ] || [ "x$OS" = "xDarwin" ] ; then
PS_CMD="ps -ax"
else
PS_CMD="ps -ef"
fi
if [ "x$OS" = "xFreeBSD" ] ; then
LSWS_CTLCMD="/usr/local/etc/rc.d/lsws.sh"
AP_CTLCMD="/usr/local/etc/rc.d/httpd"
else
LSWS_CTLCMD="/sbin/service lsws"
AP_CTLCMD="/sbin/service httpd"
fi
LSWS_PIDFILE=/tmp/lshttpd/lshttpd.pid
SERIAL_FILE=${LSWS_HOME}/conf/serial.no
LICENSE_KEY_FILE=${LSWS_HOME}/conf/license.key
TRIAL_KEY_FILE=${LSWS_HOME}/conf/trial.key
CONF=${LSWS_HOME}/conf/httpd_config.xml
LSWSBIN=${LSWS_HOME}/bin/lshttpd
AP_PROC=httpd
LSADDON_DIR=/usr/local/cpanel/whostmgr/docroot/cgi/lsws
LSWS_HOME_DEF=${LSADDON_DIR}/LSWS_HOME.config
LSWS_SWITCH_FLAG=${LSWS_HOME}/admin/tmp/.switched2lsws
CPFILEPROTECT=/var/cpanel/fileprotect
# EA4 update
}
err_exit()
{
if [ "${1}" -ne "0" ] ; then
echo "**ERROR** ${2}"
exit ${1}
fi
}
msg_exit()
{
echo "${2}"
exit ${1}
}
cat_file()
{
if [ -e "$1" ] ; then
cat "$1"
exit 0
else
echo ""
exit 1
fi
}
detect_lsws_pid()
{
LSPID=0
if [ -f $LSWS_PIDFILE ] ; then
FPID=`cat $LSWS_PIDFILE`
if [ "x$FPID" != "x" ] ; then
PL=`$PS_CMD | grep -w 'lshttpd\|litespeed' | grep -v grep | grep -w $FPID`
if [ "x$PL" != "x" ] ; then
LSPID=$FPID
fi
fi
fi
}
detect_ap_pid()
{
APPID=0
FPID=`$PS_CMD | grep -w "${AP_PROC} \|${AP_PROC}$\|^${AP_PROC}$" \
| grep -v "lscgid\|litespeed\|lshttpd\|grep\|/usr/bin/logger" | grep -w "root" \
| awk '{print $2}'`
if [ "x$FPID" != "x" ] ; then
APPID=$FPID
fi
}
#
# start LiteSpeed
#
start_fake_apache()
{
$AP_CTLCMD start 2>&1
RETRY=30
LSPID=0
while [ $RETRY -gt 0 ] && [ $LSPID -eq 0 ]
do
((RETRY--))
sleep 1
detect_lsws_pid
done
}
stop_lsws()
{
pkill wswatch.sh 2>/dev/null
$LSWS_CTLCMD stop
$AP_CTLCMD stop 2>&1 1>/dev/null
RETRY=30
LSPID=1
while [ $RETRY -gt 0 ] && [ $LSPID -ne 0 ]
do
((RETRY--))
sleep 1
detect_lsws_pid
done
if [ $LSPID -eq 0 ] ; then
pkill -9 lshttpd
pkill -9 litespeed
echo "LiteSpeed Stopped."
else
echo "LiteSpeed is still running. Fail to stop within 30 secs."
echo "Will use pkill command to stop"
pkill -9 lshttpd
pkill -9 litespeed
sleep 1
detect_lsws_pid
if [ $LSPID -eq 0 ] ; then
echo "LiteSpeed Stopped."
else
echo "LiteSpeed is still running. Fail to stop using kill command."
fi
fi
}
stop_apache()
{
$AP_CTLCMD stop
RETRY=30
APPID=1
while [ $RETRY -gt 0 ] && [ $APPID -ne 0 ]
do
((RETRY--))
sleep 1
detect_ap_pid
done
if [ $APPID -eq 0 ] ; then
echo "Apache Stopped."
else
echo "Apache is still running. Fail to stop within 30 secs."
echo "Will use pkill command to stop"
pkill -9 ${AP_PROC}
sleep 1
detect_ap_pid
if [ $APPID -eq 0 ] ; then
echo "Apache Stopped."
else
echo "Apache is still running. Fail to stop using kill command."
fi
fi
}
change_port_offset()
{
PORT_OFFSET=$1
if [ ! -f "$CONF" ] ; then
err_exit 1 "$0: invalid conf file directory!"
fi
/bin/cp -f $CONF $CONF.orig
sed -e "s/<apachePortOffset>.*<\/apachePortOffset>/<apachePortOffset>$PORT_OFFSET<\/apachePortOffset>/" "$CONF".orig > "$CONF"
err_exit $? "$0: sed command error, please try to modify apache port offset manually from config file $CONF"
/bin/rm -f "$CONF".orig
}
SwitchToLiteSpeed()
{
change_port_offset 0
stop_apache
#sleep 8
pkill -9 httpd
apache_wrapper 0
/usr/local/cpanel/bin/whmapi1 configureservice service=httpd enabled=1 monitored=1
start_fake_apache
if [ $LSPID -gt 0 ] ; then
pkill wswatch.sh 2>/dev/null
cd /usr/local/lsws/logs
nohup ../bin/wswatch.sh </dev/null >/dev/null 2>&1 &
msg_exit 0 "LiteSpeed started successfully."
fi
echo "LiteSpeed is not up within 30 secs, try again by removing /tmp/lshttpd/."
pkill -9 lshttpd
pkill -9 litespeed
/bin/rm -rf /tmp/lshttpd
start_fake_apache
# wrapper needs to run after lsws start
if [ $LSPID -gt 0 ] ; then
pkill wswatch.sh 2>/dev/null
cd /usr/local/lsws/logs
nohup ../bin/wswatch.sh 2>/dev/null &
msg_exit 0 "LiteSpeed started successfully."
else
apache_wrapper 1
err_exit 1 "LiteSpeed is not up within 60 secs, please check the error log and try again."
fi
}
apache_wrapper()
{
RESTORE=$1
INIT_DIR=""
for path in "/etc/init.d" "/etc/rc.d/init.d"
do
if [ "$INIT_DIR" = "" ] \
&& { [ -e "${path}/${AP_PROC}" ] || [ -e "${path}/${AP_PROC}.ls_bak" ] ;}
then
INIT_DIR="$path"
fi
done
# use systemd if possible, need to use same method as apache
SYSTEMDDIR=""
for path in "/etc/systemd/system" "/usr/lib/systemd/system" "/lib/systemd/system"
do
if [ "$SYSTEMDDIR" = "" ] \
&& [ -d "$path" ] \
&& [ -e "${path}/${AP_PROC}.service" ] ; then
SYSTEMDDIR="$path"
fi
done
NEED_PROTECT=`/usr/local/cpanel/3rdparty/bin/perl -MCpanel::Config::Httpd::Perms -e'print Cpanel::Config::Httpd::Perms::webserver_runs_as_user();'`
if [ $RESTORE -eq 1 ] ; then
# restore Apache binary Files
if [ -f "/usr/local/apache/bin/${AP_PROC}_ls_bak" ] ; then
mv -f "/usr/local/apache/bin/${AP_PROC}_ls_bak" "/usr/local/apache/bin/${AP_PROC}"
fi
if [ -f "/usr/sbin/${AP_PROC}_ls_bak" ] ; then
mv -f "/usr/sbin/${AP_PROC}_ls_bak" "/usr/sbin/${AP_PROC}"
fi
if [ -f "/scripts/restartsrv_httpd_ls_bak" ] ; then
mv -f "/scripts/restartsrv_httpd_ls_bak" "/scripts/restartsrv_httpd"
fi
if [ $NEED_PROTECT -eq 1 ] ; then
/scripts/enablefileprotect
echo "Added fileprotect for Apache"
fi
if [ -f "/etc/cpanel/ea4/paths.conf" ]; then
/bin/cp "/etc/cpanel/ea4/paths.conf" "/etc/cpanel/ea4/paths.conf.tmp"
sed -e 's#/usr/local/lsws/bin/lswsctrl#/usr/sbin/apachectl#' </etc/cpanel/ea4/paths.conf.tmp >/etc/cpanel/ea4/paths.conf
fi
# restore rc file
if [ "$SYSTEMDDIR" != "" ] \
&& [ -e "${SYSTEMDDIR}/${AP_PROC}.service.ls_bak" ] ; then
mv -f "${SYSTEMDDIR}/${AP_PROC}.service.ls_bak" "${SYSTEMDDIR}/${AP_PROC}.service"
systemctl daemon-reload
fi
if [ "$INIT_DIR" != "" ] \
&& [ -e "${INIT_DIR}/${AP_PROC}.ls_bak" ] ; then
mv -f "${INIT_DIR}/${AP_PROC}.ls_bak" "${INIT_DIR}/${AP_PROC}"
fi
if [ -f "$LSWS_SWITCH_FLAG" ] ; then
/bin/rm -f "$LSWS_SWITCH_FLAG"
fi
else
if [ $NEED_PROTECT -eq 1 ] ; then
/scripts/disablefileprotect
echo "fileprotect removed, not needed by LiteSpeed"
fi
if [ -f "/etc/cpanel/ea4/paths.conf" ]; then
/bin/cp "/etc/cpanel/ea4/paths.conf" "/etc/cpanel/ea4/paths.conf.tmp"
sed -e 's#/usr/sbin/apachectl#/usr/local/lsws/bin/lswsctrl#' </etc/cpanel/ea4/paths.conf.tmp >/etc/cpanel/ea4/paths.conf
fi
# add rc wrapper
if [ "$SYSTEMDDIR" != "" ] ; then
# copy the correct file again to avoid wrong data
${LSWS_HOME}/admin/misc/rc-inst.sh
if [ ! -e "${SYSTEMDDIR}/${AP_PROC}.service.ls_bak" ] ; then
mv -f "${SYSTEMDDIR}/${AP_PROC}.service" "${SYSTEMDDIR}/${AP_PROC}.service.ls_bak"
fi
ln -sf "${SYSTEMDDIR}/lshttpd.service" "${SYSTEMDDIR}/${AP_PROC}.service"
systemctl daemon-reload
fi
if [ "$INIT_DIR" != "" ] ; then
if [ ! -e "${INIT_DIR}/${AP_PROC}.ls_bak" ] ; then
mv -f "${INIT_DIR}/${AP_PROC}" "${INIT_DIR}/${AP_PROC}.ls_bak"
fi
ln -sf ./lsws "${INIT_DIR}/${AP_PROC}"
fi
# set flag
touch "$LSWS_SWITCH_FLAG"
fi
}
SwitchToApache()
{
pkill wswatch.sh 2>/dev/null
detect_lsws_pid
if [ $LSPID -gt 0 ] ; then
echo "LiteSpeed is running, stop it first."
stop_lsws
if [ $LSPID -gt 0 ] ; then
err_exit 1 "Abort."
fi
fi
# if running, stop first
detect_ap_pid
if [ $APPID -gt 0 ] ; then
stop_apache
fi
# restore Apache Files, wrapper needs to run before Apache start
apache_wrapper 1
# wait 1 sec before start apache
sleep 1
/usr/local/cpanel/bin/whmapi1 configureservice service=httpd enabled=1 monitored=1
#
# start Apache
#
# does not change the memory limits, does not work well.
# $AP_CTLCMD start
#
# call a cPanel script
/scripts/restartsrv_httpd
RETRY=30
APPID=0
while [ $RETRY -gt 0 ] && [ $APPID -eq 0 ]
do
detect_ap_pid
((RETRY--))
sleep 1
done
if [ $APPID -ne 0 ] ; then
echo "Apache started successfully."
else
err_exit 1 "Apache is not up within 30 secs. Please check the log file."
fi
}
SetRunOnBoot()
{
local chkconfigPath=`which chkconfig`
$chkconfigPath lsws off
$chkconfigPath httpd on
return 0
}
CheckLicense()
{
if [ -f "$SERIAL_FILE" ] ; then
if [ ! -e "$LICENSE_KEY_FILE" ] ; then
$LSWSBIN -r 2>&1
fi
if [ ! -e "$LICENSE_KEY_FILE" ] ; then
err_exit 1 "Failed to find a license key file, abort!"
else
$LSWSBIN -V 2>&1
fi
elif [ -f "$TRIAL_KEY_FILE" ] ; then
$LSWSBIN -V 2>&1
else
err_exit 1 "Failed to find serial.no $SERIAL_FILE or trial key $TRIAL_KEY_FILE file, abort!"
fi
}
restore_exit()
{
if [ "$SERIAL" = "TRIAL" ] ; then
if [ -f "${TRIAL_KEY_FILE}" ] ; then
/bin/rm -f ${TRIAL_KEY_FILE}
echo " removed retrieved trial.key"
fi
else
if [ -f "${SERIAL_FILE}" ] ; then
/bin/rm -f "${SERIAL_FILE}"
echo " removed uploaded serial.no"
fi
if [ -f "${LICENSE_KEY_FILE}" ] ; then
/bin/rm -f "${LICENSE_KEY_FILE}"
echo " removed the new license.key"
fi
fi
if [ "x" != "x$BACKUP_SERIAL_NO" ] ; then
mv ${BACKUP_SERIAL_NO} ${SERIAL_FILE}
echo " restored the original serial.no from ${BACKUP_SERIAL_NO}"
fi
if [ "x" != "x${BACKUP_LICENSE_KEY}" ] ; then
mv ${BACKUP_LICENSE_KEY} ${LICENSE_KEY_FILE}
echo " restored the original license.key from ${BACKUP_LICENSE_KEY}"
fi
if [ "x" != "x${BACKUP_TRIAL_KEY}" ] ; then
mv ${BACKUP_TRIAL_KEY} ${TRIAL_KEY_FILE}
echo " restored the original trial.key from ${BACKUP_TRIAL_KEY}"
fi
err_exit ${1} ${2}
}
DownloadTrialKey()
{
if [ ${OS} = "FreeBSD" ]; then
fetch -q -T 3 -o $TRIAL_KEY_FILE $1
else
# -t is tries, -T is timeout
wget -q -t 1 -T 3 --output-document=${TRIAL_KEY_FILE} $1
fi
}
GetTrialKey()
{
local LICENSE_SITE="http://license.litespeedtech.com/reseller/trial.key"
local LICENSE_SITE_2="http://license2.litespeedtech.com/reseller/trial.key"
DownloadTrialKey $LICENSE_SITE
if [ $? -ne 0 ] ; then
echo "Failed to retrieve a trial license from license.litespeedtech.com."
echo "Trying license2.litespeedtech.com ..."
DownloadTrialKey $LICENSE_SITE_2
if [ $? -ne 0 ] ; then
echo "Failed to retrieve a trial license"
restore_exit 1 "Aborted!"
fi
fi
}
#
# 01/29/19: This function is used by the cPanel team directly. Do not change
# interface behavior.
#
SwitchLicense()
{
SERIAL=$1
echo "Back up current license files under ${LSWS_HOME}/conf/ ..."
if [ -f "${SERIAL_FILE}" ] ; then
BACKUP_SERIAL_NO=${SERIAL_FILE}.backup.$$
mv ${SERIAL_FILE} ${BACKUP_SERIAL_NO}
err_exit $? "fail to backup current serial.no"
echo "... saved current serial.no to ${BACKUP_SERIAL_NO}"
fi
if [ -f "${LICENSE_KEY_FILE}" ] ; then
BACKUP_LICENSE_KEY=${LICENSE_KEY_FILE}.backup.$$
mv ${LICENSE_KEY_FILE} ${BACKUP_LICENSE_KEY}
err_exit $? "fail to backup current license.key"
echo "... saved current license.key to ${BACKUP_LICENSE_KEY}"
fi
if [ "$SERIAL" = "TRIAL" ] ; then
echo "Trying to switch to a trial license ..."
GetTrialKey
else
if [ -f "${TRIAL_KEY_FILE}" ] ; then
BACKUP_TRIAL_KEY=${TRIAL_KEY_FILE}.backup.$$
mv ${TRIAL_KEY_FILE} ${BACKUP_TRIAL_KEY}
err_exit $? "fail to back up current trial.key"
echo "... saved current trial.key to ${BACKUP_TRIAL_KEY}"
fi
echo "Trying to switch to a new production license ..."
echo "$SERIAL" > ${SERIAL_FILE}
if [ $? -eq 0 ] ; then
echo "... Saved serial number \"$SERIAL\" to ${SERIAL_FILE}"
else
echo "Failed to save serial number to ${SERIAL_FILE}!"
restore_exit 1 "Aborted!"
fi
# need to retrieve new license file
echo "... Serial number is available."
echo "... Contacting licensing server for license key ..."
REGISTER_OUTPUT=`$LSWSBIN -r 2>&1`
if [ $? -eq 0 ] ; then
echo "... License key received: $REGISTER_OUTPUT"
else
echo "... failed to retrieve license key, please double check your serial number: $REGISTER_OUTPUT."
restore_exit 1 "Aborted!"
fi
fi
TEST_RESULT=`$LSWSBIN -t 2>&1`
if [ $? -ne 0 ] ; then
echo "Failed to switch to the new license."
echo "... $TEST_RESULT"
restore_exit 1 "Aborted!"
else
echo "Successfully switched to the new license."
echo "... $TEST_RESULT"
echo ""
echo "*** Your old licenses have been backed up in the same directory."
echo ""
detect_lsws_pid
if [ $LSPID -gt 0 ] ; then
echo "Restarting LiteSpeed to apply the new license."
$LSWS_CTLCMD restart
fi
fi
}
TransferLicense()
{
echo "License status before migration:"
$LSWSBIN -m 2>&1
if [ $? -ne 0 ] ; then
err_exit 1 "Failed to migrate current license."
fi
echo "Successfully migrated current license."
echo "License status after migration:"
CheckLicense
detect_lsws_pid
if [ $LSPID -gt 0 ] ; then
echo "Restarting LiteSpeed to apply the new license."
$LSWS_CTLCMD restart
fi
}
VersionUp()
{
$LSWS_HOME/admin/misc/lsup.sh -f -v $1 2>&1
}
VersionSwitch()
{
$LSWS_HOME/admin/misc/mgr_ver.sh $1 2>&1
}
VersionDel()
{
$LSWS_HOME/admin/misc/mgr_ver.sh -d $1 2>&1
}
add_lsws_line()
{
HOOK_SCRIPT=/scripts/${1}
EXTRA_PARAM=${2}
CMD_LINE="sh ${LSADDON_DIR}/bin/whm_eahook.sh ${1} ${EXTRA_PARAM}"
if [ -f $HOOK_SCRIPT ] ; then
sed -i '/cgi\/lsws/d' $HOOK_SCRIPT
if [ $? -ne 0 ] ; then
echo "sed command error: $? when adding lsws line in $HOOK_SCRIPT"
exit 1
fi
echo $CMD_LINE >> $HOOK_SCRIPT
if [ $? -ne 0 ] ; then
echo "cannot append to file $HOOK_SCRIPT : $?"
exit 1
fi
else
echo '#!/bin/sh' > $HOOK_SCRIPT
if [ $? -ne 0 ] ; then
echo "cannot create file $HOOK_SCRIPT : $?"
exit 1
fi
echo $CMD_LINE >> $HOOK_SCRIPT
if [ $? -ne 0 ] ; then
echo "cannot append to file $HOOK_SCRIPT : $?"
exit 1
fi
fi
chmod +x $HOOK_SCRIPT
if [ $? -ne 0 ] ; then
echo "cannot chmod for file $HOOK_SCRIPT : $?"
exit 1
fi
}
EasyApacheHookEnable()
{
add_lsws_line before_httpd_restart_tests '$4'
add_lsws_line after_httpd_restart_tests '$4'
add_lsws_line before_apache_make
}
remove_lsws_line()
{
HOOK_SCRIPT=/scripts/${1}
if [ -f $HOOK_SCRIPT ] ; then
sed -i '/cgi\/lsws/d' $HOOK_SCRIPT
if [ $? -ne 0 ] ; then
echo "sed command error: $? when removing lsws line in $HOOK_SCRIPT"
exit 1
fi
REMAIN=`cat $HOOK_SCRIPT`
if [ "x$REMAIN" = 'x#!/bin/sh' ] ; then
/bin/rm -f $HOOK_SCRIPT
fi
fi
}
EasyApacheHookDisable()
{
remove_lsws_line before_httpd_restart_tests
remove_lsws_line after_httpd_restart_tests
remove_lsws_line before_apache_make
}
EasyApacheHookRefresh()
{
# check if hook is enabled, if yes, update with latest script, if lsws not there, remove hook
TEST_SCRIPT=/scripts/before_httpd_restart_tests
if [ -f $TEST_SCRIPT ] ; then
RESULT=`grep "^sh /usr/local/cpanel/whostmgr/docroot/cgi/lsws/" $TEST_SCRIPT`
if [ "x$RESULT" != "x" ] ; then
echo "EasyApache Hooks is enabled"
EasyApacheHookDisable
if [ -f "$LSWS_HOME_DEF" ] ; then
echo "LSWS is installed, refresh hook scripts"
EasyApacheHookEnable
else
echo "LSWS is not installed, removed existing hooks"
fi
fi
fi
}
UninstallLiteSpeed()
{
KEEP_CONF=$1
KEEP_LOG=$2
if [ "x$KEEP_CONF" != "xY" ] && [ "x$KEEP_CONF" != "xN" ] ; then
err_exit 1 "[ERROR] Invalid parameter KEEP_CONF!"
fi
if [ "x$KEEP_LOG" != "xY" ] && [ "x$KEEP_LOG" != "xN" ] ; then
err_exit 1 "[ERROR] Invalid parameter KEEP_LOG!"
fi
SwitchToApache
CUR_DIR=`pwd`
LSINSTALL_DIR=${LSWS_HOME}/admin/misc
if [ ! -d "$LSINSTALL_DIR" ]; then
err_exit 1 "[ERROR] Cannot find dir $LSINSTALL_DIR"
fi
INST_USER=`id`
INST_USER=`expr "$INST_USER" : 'uid=.*(\(.*\)) gid=.*'`
if [ "x$INST_USER" != "xroot" ]; then
DIR_OWN=`ls -ld ${LSWS_HOME} | awk '{print $3}'`
if [ "x$DIR_OWN" != "x$INST_USER" ]; then
err_exit 1 "[ERROR] You do not have the permission to uninstall LiteSpeed web server!"
fi
fi
if [ "x$INST_USER" = "xroot" ]; then
echo ""
echo "Uninstalling rc scripts ..."
$LSINSTALL_DIR/rc-uninst.sh
echo ""
fi
DELETE_ALL=1
if [ $KEEP_CONF != "Y" ] ; then
/bin/rm -rf ${LSWS_HOME}/conf
echo "removed ${LSWS_HOME}/conf"
else
DELETE_ALL=0
echo "keep ${LSWS_HOME}/conf untouched"
fi
if [ $KEEP_LOG != "Y" ] ; then
/bin/rm -rf ${LSWS_HOME}/logs
echo "removed ${LSWS_HOME}/logs"
else
DELETE_ALL=0
echo "keep ${LSWS_HOME}/logs untouched"
fi
/bin/rm -rf ${LSWS_HOME}/add-ons
echo "removed ${LSWS_HOME}/add-ons"
/bin/rm -rf ${LSWS_HOME}/admin
echo "removed ${LSWS_HOME}/admin"
/bin/rm -rf ${LSWS_HOME}/autoupdate
echo "removed ${LSWS_HOME}/autoupdate"
/bin/rm -rf ${LSWS_HOME}/bin
echo "removed ${LSWS_HOME}/bin"
/bin/rm -rf ${LSWS_HOME}/DEFAULT
echo "removed ${LSWS_HOME}/DEFAULT"
/bin/rm -rf ${LSWS_HOME}/docs
echo "removed ${LSWS_HOME}/docs"
/bin/rm -rf ${LSWS_HOME}/fcgi-bin
echo "removed ${LSWS_HOME}/fcgi-bin"
/bin/rm -rf ${LSWS_HOME}/lib
echo "removed ${LSWS_HOME}/lib"
/bin/rm -rf ${LSWS_HOME}/php
echo "removed ${LSWS_HOME}/php"
/bin/rm -rf ${LSWS_HOME}/phpbuild
echo "removed ${LSWS_HOME}/phpbuild"
/bin/rm -rf ${LSWS_HOME}/share
echo "removed ${LSWS_HOME}/share"
/bin/rm -rf ${LSWS_HOME}/LICENSE*
echo "removed ${LSWS_HOME}/LICENSE*"
/bin/rm -f ${LSWS_HOME}/VERSION
echo "removed ${LSWS_HOME}/VERSION"
if [ $DELETE_ALL -ne 0 ]; then
/bin/rm -rf ${LSWS_HOME}
echo "removed ${LSWS_HOME}"
else
echo "${LSWS_HOME} is not empty, kept there"
fi
/bin/rm -f $LSWS_HOME_DEF
# remove EAHook if there, has to be run after LSWS_HOME_DEF removed
EasyApacheHookRefresh
echo "LiteSpeed Web Server has been successfully uninstalled."
cd $CUR_DIR
}