2020-01-16 23:55:54 +01:00
|
|
|
#!/bin/bash
|
2020-01-17 16:01:24 +01:00
|
|
|
#CyberPanel Upgrade script
|
2020-01-16 23:55:54 +01:00
|
|
|
|
2020-01-17 16:01:24 +01:00
|
|
|
export LC_CTYPE=en_US.UTF-8
|
|
|
|
|
SUDO_TEST=$(set)
|
2020-01-16 23:55:54 +01:00
|
|
|
SERVER_OS='Undefined'
|
|
|
|
|
OUTPUT=$(cat /etc/*release)
|
|
|
|
|
|
2020-01-18 00:11:07 +01:00
|
|
|
install_utility() {
|
|
|
|
|
if [[ ! -f /usr/bin/cyberpanel_utility ]] ; then
|
|
|
|
|
wget -q -O /usr/bin/cyberpanel_utility https://cyberpanel.sh/misc/cyberpanel_utility.sh
|
|
|
|
|
chmod 700 /usr/bin/cyberpanel_utility
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-17 16:01:24 +01:00
|
|
|
check_root() {
|
|
|
|
|
echo -e "\nChecking root privileges...\n"
|
|
|
|
|
if echo $SUDO_TEST | grep SUDO > /dev/null ; then
|
|
|
|
|
echo -e "\nYou are using SUDO , please run as root user...\n"
|
|
|
|
|
echo -e "If you don't have direct access to root user, please run \e[31msudo su -\e[39m command and then run upgrade command again."
|
|
|
|
|
exit
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ $(id -u) != 0 ]] > /dev/null; then
|
|
|
|
|
echo -e "\nYou must use root user to upgrade CyberPanel...\n"
|
|
|
|
|
exit
|
|
|
|
|
else
|
|
|
|
|
echo -e "\nYou are runing as root...\n"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2020-01-16 23:55:54 +01:00
|
|
|
check_return() {
|
|
|
|
|
#check previous command result , 0 = ok , non-0 = something wrong.
|
|
|
|
|
if [[ $? -eq "0" ]] ; then
|
|
|
|
|
:
|
|
|
|
|
else
|
|
|
|
|
echo -e "\ncommand failed, exiting..."
|
|
|
|
|
exit
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-17 16:01:24 +01:00
|
|
|
check_root
|
|
|
|
|
|
2020-01-16 23:55:54 +01:00
|
|
|
echo -e "\nChecking OS..."
|
|
|
|
|
OUTPUT=$(cat /etc/*release)
|
|
|
|
|
if echo $OUTPUT | grep -q "CentOS Linux 7" ; then
|
|
|
|
|
echo -e "\nDetecting CentOS 7.X...\n"
|
|
|
|
|
SERVER_OS="CentOS7"
|
|
|
|
|
yum clean all
|
|
|
|
|
yum update -y
|
|
|
|
|
elif echo $OUTPUT | grep -q "CloudLinux 7" ; then
|
|
|
|
|
echo -e "\nDetecting CloudLinux 7.X...\n"
|
|
|
|
|
SERVER_OS="CentOS7"
|
|
|
|
|
yum clean all
|
|
|
|
|
yum update -y
|
|
|
|
|
elif echo $OUTPUT | grep -q "CentOS Linux 8" ; then
|
|
|
|
|
echo -e "\nDetecting CentOS 8.X...\n"
|
|
|
|
|
SERVER_OS="CentOS8"
|
|
|
|
|
yum clean all
|
|
|
|
|
yum update -y
|
|
|
|
|
elif echo $OUTPUT | grep -q "Ubuntu 18.04" ; then
|
|
|
|
|
echo -e "\nDetecting Ubuntu 18.04...\n"
|
|
|
|
|
SERVER_OS="Ubuntu"
|
|
|
|
|
else
|
|
|
|
|
cat /etc/*release
|
|
|
|
|
echo -e "\nUnable to detect your OS...\n"
|
|
|
|
|
echo -e "\nCyberPanel is supported on Ubuntu 18.04, CentOS 7.x, CentOS 8.x and CloudLinux 7.x...\n"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ $SERVER_OS = "CentOS7" ] ; then
|
|
|
|
|
yum -y install yum-utils
|
|
|
|
|
yum -y groupinstall development
|
|
|
|
|
yum -y install https://centos7.iuscommunity.org/ius-release.rpm
|
|
|
|
|
yum -y install python36u python36u-pip python36u-devel
|
|
|
|
|
elif [ $SERVER_OS = "CentOS8" ] ; then
|
|
|
|
|
yum install -y wget strace htop net-tools telnet curl which bc telnet htop libevent-devel gcc libattr-devel xz-devel mariadb-devel curl-devel git platform-python-devel tar
|
|
|
|
|
dnf --enablerepo=PowerTools install gpgme-devel -y
|
|
|
|
|
dnf install python3 -y
|
|
|
|
|
else
|
|
|
|
|
apt update -y
|
|
|
|
|
DEBIAN_FRONTEND=noninteractive apt upgrade -y
|
|
|
|
|
DEBIAN_FRONTEND=noninteracitve apt install -y htop telnet python-mysqldb python-dev libcurl4-gnutls-dev libgnutls28-dev libgcrypt20-dev libattr1 libattr1-dev liblzma-dev libgpgme-dev libmariadbclient-dev libcurl4-gnutls-dev libssl-dev nghttp2 libnghttp2-dev idn2 libidn2-dev libidn2-0-dev librtmp-dev libpsl-dev nettle-dev libgnutls28-dev libldap2-dev libgssapi-krb5-2 libk5crypto3 libkrb5-dev libcomerr2 libldap2-dev python-gpg python python-minimal python-setuptools virtualenv python-dev python-pip git
|
|
|
|
|
DEBIAN_FRONTEND=noninteractive apt install -y python3-pip
|
|
|
|
|
DEBIAN_FRONTEND=noninteractive apt install -y build-essential libssl-dev libffi-dev python3-dev
|
|
|
|
|
DEBIAN_FRONTEND=noninteractive apt install -y python3-venv
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ $SERVER_OS = "Ubuntu" ] ; then
|
|
|
|
|
pip3 install virtualenv
|
|
|
|
|
check_return
|
|
|
|
|
else
|
|
|
|
|
pip3.6 install virtualenv
|
|
|
|
|
check_return
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
rm -rf /usr/local/CyberPanel
|
|
|
|
|
virtualenv -p /usr/bin/python3 --system-site-packages /usr/local/CyberPanel
|
|
|
|
|
check_return
|
|
|
|
|
rm -rf requirments.txt
|
|
|
|
|
wget https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/requirments.txt
|
|
|
|
|
. /usr/local/CyberPanel/bin/activate
|
|
|
|
|
check_return
|
|
|
|
|
|
|
|
|
|
if [ $SERVER_OS = "Ubuntu" ] ; then
|
|
|
|
|
. /usr/local/CyberPanel/bin/activate
|
|
|
|
|
check_return
|
|
|
|
|
pip3 install --ignore-installed -r requirments.txt
|
|
|
|
|
check_return
|
|
|
|
|
else
|
|
|
|
|
source /usr/local/CyberPanel/bin/activate
|
|
|
|
|
check_return
|
|
|
|
|
pip3.6 install --ignore-installed -r requirments.txt
|
|
|
|
|
check_return
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
virtualenv -p /usr/bin/python3 --system-site-packages /usr/local/CyberPanel
|
|
|
|
|
check_return
|
|
|
|
|
rm -rf upgrade.py
|
|
|
|
|
wget https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/plogical/upgrade.py
|
|
|
|
|
/usr/local/CyberPanel/bin/python upgrade.py stable
|
|
|
|
|
check_return
|
|
|
|
|
##
|
|
|
|
|
|
|
|
|
|
virtualenv -p /usr/bin/python3 /usr/local/CyberCP
|
|
|
|
|
check_return
|
|
|
|
|
wget -O requirements.txt https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/requirments.txt
|
|
|
|
|
|
|
|
|
|
if [ $SERVER_OS = "Ubuntu" ] ; then
|
|
|
|
|
. /usr/local/CyberCP/bin/activate
|
|
|
|
|
check_return
|
|
|
|
|
pip3 install --ignore-installed -r requirments.txt
|
|
|
|
|
check_return
|
|
|
|
|
else
|
|
|
|
|
source /usr/local/CyberCP/bin/activate
|
|
|
|
|
check_return
|
|
|
|
|
pip3.6 install --ignore-installed -r requirments.txt
|
|
|
|
|
check_return
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##
|
|
|
|
|
|
|
|
|
|
rm -f wsgi-lsapi-1.4.tgz
|
|
|
|
|
rm -rf wsgi-lsapi-1.4
|
|
|
|
|
wget http://www.litespeedtech.com/packages/lsapi/wsgi-lsapi-1.4.tgz
|
|
|
|
|
tar xf wsgi-lsapi-1.4.tgz
|
|
|
|
|
cd wsgi-lsapi-1.4
|
|
|
|
|
/usr/local/CyberPanel/bin/python ./configure.py
|
|
|
|
|
make
|
|
|
|
|
|
|
|
|
|
cp lswsgi /usr/local/CyberCP/bin/
|
|
|
|
|
|
|
|
|
|
chmod 700 /usr/bin/adminPass
|
|
|
|
|
|
2020-01-20 21:34:25 +01:00
|
|
|
if [[ -f /etc/pure-ftpd/pure-ftpd.conf ]] ; then
|
|
|
|
|
sed -i 's|NoAnonymous no|NoAnonymous yes|g' /etc/pure-ftpd/pure-ftpd.conf
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
2020-01-18 00:12:03 +01:00
|
|
|
#install_utility
|
2020-01-18 00:11:07 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-16 23:55:54 +01:00
|
|
|
##
|
|
|
|
|
systemctl restart lscpd
|
|
|
|
|
|
|
|
|
|
echo "###################################################################"
|
|
|
|
|
echo " CyberPanel Upgraded "
|
|
|
|
|
echo "###################################################################"
|