mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-16 10:16:12 +01:00
update cyberpane.sh
This commit is contained in:
259
cyberpanel.sh
259
cyberpanel.sh
@@ -1,7 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
#CyberPanel installer script for Ubuntu 18.04 and CentOS 7.X
|
#CyberPanel installer script for Ubuntu 18.04 and CentOS 7.X
|
||||||
|
DEV="OFF"
|
||||||
|
BRANCH="stable"
|
||||||
POSTFIX_VARIABLE="ON"
|
POSTFIX_VARIABLE="ON"
|
||||||
POWERDNS_VARIABLE="ON"
|
POWERDNS_VARIABLE="ON"
|
||||||
PUREFTPD_VARIABLE="ON"
|
PUREFTPD_VARIABLE="ON"
|
||||||
@@ -20,6 +21,49 @@ MEMCACHED="ON"
|
|||||||
REDIS="ON"
|
REDIS="ON"
|
||||||
TOTAL_RAM=$(free -m | awk '/Mem\:/ { print $2 }')
|
TOTAL_RAM=$(free -m | awk '/Mem\:/ { print $2 }')
|
||||||
|
|
||||||
|
license_validation() {
|
||||||
|
CURRENT_DIR=$(pwd)
|
||||||
|
|
||||||
|
if [ -f /root/cyberpanel-tmp ] ; then
|
||||||
|
rm -rf /root/cyberpanel-tmp
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir /root/cyberpanel-tmp
|
||||||
|
cd /root/cyberpanel-tmp
|
||||||
|
wget -q https://$DOWNLOAD_SERVER/litespeed/lsws-$LSWS_STABLE_VER-ent-x86_64-linux.tar.gz
|
||||||
|
tar xzvf lsws-$LSWS_STABLE_VER-ent-x86_64-linux.tar.gz > /dev/null
|
||||||
|
cd /root/cyberpanel-tmp/lsws-$LSWS_STABLE_VER/conf
|
||||||
|
if [[ $LICENSE_KEY == "TRIAL" ]] ; then
|
||||||
|
wget -q http://license.litespeedtech.com/reseller/trial.key
|
||||||
|
sed -i "s|writeSerial = open('lsws-5.4.2/serial.no', 'w')|command = 'wget -q --output-document=./lsws-$LSWS_STABLE_VER/trial.key http://license.litespeedtech.com/reseller/trial.key'|g" $CURRENT_DIR/installCyberPanel.py
|
||||||
|
sed -i 's|writeSerial.writelines(self.serial)|subprocess.call(command, shell=True)|g' $CURRENT_DIR/installCyberPanel.py
|
||||||
|
sed -i 's|writeSerial.close()||g' $CURRENT_DIR/installCyberPanel.py
|
||||||
|
else
|
||||||
|
echo $LICENSE_KEY > serial.no
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd /root/cyberpanel-tmp/lsws-$LSWS_STABLE_VER/bin
|
||||||
|
|
||||||
|
if [[ $LICENSE_KEY == "TRIAL" ]] ; then
|
||||||
|
if ./lshttpd -V |& grep "ERROR" ; then
|
||||||
|
echo -e "\n\nIt apeears to have some issue with license , please check above result..."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
LICENSE_KEY="1111-2222-3333-4444"
|
||||||
|
else
|
||||||
|
if ./lshttpd -r |& grep "ERROR" ; then
|
||||||
|
./lshttpd -r
|
||||||
|
echo -e "\n\nIt apeears to have some issue with license , please check above result..."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo -e "License seems valid..."
|
||||||
|
cd /root/cyberpanel-tmp
|
||||||
|
rm -rf lsws-$LSWS_STABLE_VER*
|
||||||
|
cd $CURRENT_DIR
|
||||||
|
rm -rf /root/cyberpanel-tmp
|
||||||
|
}
|
||||||
|
|
||||||
special_change(){
|
special_change(){
|
||||||
sed -i 's|cyberpanel.sh|'$DOWNLOAD_SERVER'|g' install.py
|
sed -i 's|cyberpanel.sh|'$DOWNLOAD_SERVER'|g' install.py
|
||||||
sed -i 's|mirror.cyberpanel.net|'$DOWNLOAD_SERVER'|g' install.py
|
sed -i 's|mirror.cyberpanel.net|'$DOWNLOAD_SERVER'|g' install.py
|
||||||
@@ -27,6 +71,12 @@ sed -i 's|git clone https://github.com/usmannasir/cyberpanel|echo downloaded|g'
|
|||||||
#change to CDN first, regardless country
|
#change to CDN first, regardless country
|
||||||
sed -i 's|http://|https://|g' install.py
|
sed -i 's|http://|https://|g' install.py
|
||||||
|
|
||||||
|
LATEST_URL="https://update.litespeedtech.com/ws/latest.php"
|
||||||
|
#LATEST_URL="https://cyberpanel.sh/latest.php"
|
||||||
|
curl --silent -o /tmp/lsws_latest $LATEST_URL 2>/dev/null
|
||||||
|
LSWS_STABLE_LINE=`cat /tmp/lsws_latest | grep LSWS_STABLE`
|
||||||
|
LSWS_STABLE_VER=`expr "$LSWS_STABLE_LINE" : '.*LSWS_STABLE=\(.*\) BUILD .*'`
|
||||||
|
|
||||||
if [[ $SERVER_COUNTRY == "CN" ]] ; then
|
if [[ $SERVER_COUNTRY == "CN" ]] ; then
|
||||||
#line1="$(grep -n "github.com/usmannasir/cyberpanel" install.py | head -n 1 | cut -d: -f1)"
|
#line1="$(grep -n "github.com/usmannasir/cyberpanel" install.py | head -n 1 | cut -d: -f1)"
|
||||||
#line2=$((line1 - 1))
|
#line2=$((line1 - 1))
|
||||||
@@ -37,15 +87,18 @@ if [[ $SERVER_COUNTRY == "CN" ]] ; then
|
|||||||
sed -i 's|wget https://rpms.litespeedtech.com/debian/|wget --no-check-certificate https://rpms.litespeedtech.com/debian/|g' install.py
|
sed -i 's|wget https://rpms.litespeedtech.com/debian/|wget --no-check-certificate https://rpms.litespeedtech.com/debian/|g' install.py
|
||||||
sed -i 's|https://repo.powerdns.com/repo-files/centos-auth-42.repo|https://'$DOWNLOAD_SERVER'/powerdns/powerdns.repo|g' installCyberPanel.py
|
sed -i 's|https://repo.powerdns.com/repo-files/centos-auth-42.repo|https://'$DOWNLOAD_SERVER'/powerdns/powerdns.repo|g' installCyberPanel.py
|
||||||
sed -i 's|https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip|https://'$DOWNLOAD_SERVER'/misc/rainloop-community-latest.zip|g' install.py
|
sed -i 's|https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip|https://'$DOWNLOAD_SERVER'/misc/rainloop-community-latest.zip|g' install.py
|
||||||
sed -i 's|cmd.append("rpm")|command = '"'"'curl -o /etc/yum.repos.d/litespeed.repo https://'$DOWNLOAD_SERVER'/litespeed/litespeed.repo'"'"'|g' install.py
|
|
||||||
sed -i 's|cmd.append("-ivh")|cmd = shlex.split(command)|g' install.py
|
sed -i 's|rpm -ivh https://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el7.noarch.rpm|curl -o /etc/yum.repos.d/litespeed.repo https://'$DOWNLOAD_SERVER'/litespeed/litespeed.repo|g' install.py
|
||||||
sed -i 's|cmd.append("https://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el7.noarch.rpm")||g' install.py
|
|
||||||
|
|
||||||
|
sed -i 's|https://copr.fedorainfracloud.org/coprs/copart/restic/repo/epel-7/copart-restic-epel-7.repo|https://'$DOWNLOAD_SERVER'/restic/restic.repo|g' install.py
|
||||||
|
|
||||||
sed -i 's|yum -y install https://cyberpanel.sh/gf-release-latest.gf.el7.noarch.rpm|wget -O /etc/yum.repos.d/gf.repo https://'$DOWNLOAD_SERVER'/gf-plus/gf.repo|g' install.py
|
sed -i 's|yum -y install https://cyberpanel.sh/gf-release-latest.gf.el7.noarch.rpm|wget -O /etc/yum.repos.d/gf.repo https://'$DOWNLOAD_SERVER'/gf-plus/gf.repo|g' install.py
|
||||||
sed -i 's|dovecot-2.3-latest|dovecot-2.3-latest-mirror|g' install.py
|
sed -i 's|dovecot-2.3-latest|dovecot-2.3-latest-mirror|g' install.py
|
||||||
sed -i 's|git clone https://github.com/usmannasir/cyberpanel|wget https://cyberpanel.sh/cyberpanel-git.tar.gz \&\& tar xzvf cyberpanel-git.tar.gz|g' install.py
|
sed -i 's|git clone https://github.com/usmannasir/cyberpanel|wget https://cyberpanel.sh/cyberpanel-git.tar.gz \&\& tar xzvf cyberpanel-git.tar.gz|g' install.py
|
||||||
sed -i 's|https://repo.dovecot.org/ce-2.3-latest/centos/$releasever/RPMS/$basearch|https://'$DOWNLOAD_SERVER'/dovecot/|g' install.py
|
sed -i 's|https://repo.dovecot.org/ce-2.3-latest/centos/$releasever/RPMS/$basearch|https://'$DOWNLOAD_SERVER'/dovecot/|g' install.py
|
||||||
sed -i 's|'$DOWNLOAD_SERVER'|cyberpanel.sh|g' install.py
|
sed -i 's|'$DOWNLOAD_SERVER'|cyberpanel.sh|g' install.py
|
||||||
|
sed -i 's|https://www.litespeedtech.com/packages/5.0/lsws-5.4.2-ent-x86_64-linux.tar.gz|https://'$DOWNLOAD_SERVER'/litespeed/lsws-'$LSWS_STABLE_VER'-ent-x86_64-linux.tar.gz|g' installCyberPanel.py
|
||||||
# global change for CN , regardless provider and system
|
# global change for CN , regardless provider and system
|
||||||
|
|
||||||
if [[ $SERVER_OS == "CentOS" ]] ; then
|
if [[ $SERVER_OS == "CentOS" ]] ; then
|
||||||
@@ -94,7 +147,7 @@ echo '{
|
|||||||
"repositories": {
|
"repositories": {
|
||||||
"packagist": {
|
"packagist": {
|
||||||
"type": "composer",
|
"type": "composer",
|
||||||
"url": "https://packagist.phpcomposer.com"
|
"url": "https://mirrors.aliyun.com/composer/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -246,10 +299,15 @@ TOTAL_SWAP=$(free -m | awk '/^Swap:/ { print $2 }')
|
|||||||
SET_SWAP=$((TOTAL_RAM - TOTAL_SWAP))
|
SET_SWAP=$((TOTAL_RAM - TOTAL_SWAP))
|
||||||
SWAP_FILE=/cyberpanel.swap
|
SWAP_FILE=/cyberpanel.swap
|
||||||
|
|
||||||
if [[ ! -f $SWAP_FILE ]] ; then
|
if [ ! -f $SWAP_FILE ] ; then
|
||||||
if [[ $TOTAL_SWAP -gt $TOTAL_RAM ]] || [[ $TOTAL_SWAP -eq $TOTAL_RAM ]] ; then
|
if [[ $TOTAL_SWAP -gt $TOTAL_RAM ]] || [[ $TOTAL_SWAP -eq $TOTAL_RAM ]] ; then
|
||||||
echo "SWAP check..."
|
echo "SWAP check..."
|
||||||
else
|
else
|
||||||
|
if [[ $SET_SWAP -gt "2049" ]] ; then
|
||||||
|
SET_SWAP="2048"
|
||||||
|
else
|
||||||
|
echo "Checking SWAP..."
|
||||||
|
fi
|
||||||
fallocate --length ${SET_SWAP}MiB $SWAP_FILE
|
fallocate --length ${SET_SWAP}MiB $SWAP_FILE
|
||||||
chmod 600 $SWAP_FILE
|
chmod 600 $SWAP_FILE
|
||||||
mkswap $SWAP_FILE
|
mkswap $SWAP_FILE
|
||||||
@@ -272,19 +330,31 @@ if [[ $SERVER_OS == "CentOS" ]] ; then
|
|||||||
rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
|
rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
|
||||||
rpm --import https://$DOWNLOAD_SERVER/gf-plus/RPM-GPG-KEY-gf.el7
|
rpm --import https://$DOWNLOAD_SERVER/gf-plus/RPM-GPG-KEY-gf.el7
|
||||||
rpm --import https://repo.dovecot.org/DOVECOT-REPO-GPG
|
rpm --import https://repo.dovecot.org/DOVECOT-REPO-GPG
|
||||||
|
rpm --import https://copr-be.cloud.fedoraproject.org/results/copart/restic/pubkey.gpg
|
||||||
yum autoremove epel-release -y
|
yum autoremove epel-release -y
|
||||||
rm -f /etc/yum.repos.d/epel.repo
|
rm -f /etc/yum.repos.d/epel.repo
|
||||||
rm -f /etc/yum.repos.d/epel.repo.rpmsave
|
rm -f /etc/yum.repos.d/epel.repo.rpmsave
|
||||||
yum clean all
|
yum clean all
|
||||||
yum update -y
|
yum update -y
|
||||||
yum install epel-release -y
|
yum install epel-release -y
|
||||||
yum install -y wget htop telnet curl which bc telnet htop libevent-devel gcc python-devel libattr-devel xz-devel gpgme-devel mariadb-devel curl-devel python-pip git
|
yum install -y wget strace htop net-tools telnet curl which bc telnet htop libevent-devel gcc python-devel libattr-devel xz-devel gpgme-devel mariadb-devel curl-devel python-pip git
|
||||||
|
if [[ $DEV == "ON" ]] ; 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
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $SERVER_OS == "Ubuntu" ]] ; then
|
if [[ $SERVER_OS == "Ubuntu" ]] ; then
|
||||||
apt update -y
|
apt update -y
|
||||||
DEBIAN_FRONTEND=noninteractive apt upgrade -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=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
|
||||||
|
if [[ $DEV == "ON" ]] ; then
|
||||||
|
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
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -296,15 +366,18 @@ if [[ $SERVER_OS == "CentOS" ]] ; then
|
|||||||
yum install autoconf automake zlib-devel openssl-devel expat-devel pcre-devel libmemcached-devel cyrus-sasl* -y
|
yum install autoconf automake zlib-devel openssl-devel expat-devel pcre-devel libmemcached-devel cyrus-sasl* -y
|
||||||
wget https://$DOWNLOAD_SERVER/litespeed/lsmcd.tar.gz
|
wget https://$DOWNLOAD_SERVER/litespeed/lsmcd.tar.gz
|
||||||
tar xzvf lsmcd.tar.gz
|
tar xzvf lsmcd.tar.gz
|
||||||
cd lsmcd
|
DIR=$(pwd)
|
||||||
|
cd $DIR/lsmcd
|
||||||
./fixtimestamp.sh
|
./fixtimestamp.sh
|
||||||
./configure CFLAGS=" -O3" CXXFLAGS=" -O3"
|
./configure CFLAGS=" -O3" CXXFLAGS=" -O3"
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
systemctl enable lsmcd
|
systemctl enable lsmcd
|
||||||
systemctl start lsmcd
|
systemctl start lsmcd
|
||||||
|
cd $DIR
|
||||||
else
|
else
|
||||||
yum install -y memcached
|
yum install -y memcached
|
||||||
|
sed -i 's|OPTIONS=""|OPTIONS="-l 127.0.0.1 -U 0"|g' /etc/sysconfig/memcached
|
||||||
systemctl enable memcached
|
systemctl enable memcached
|
||||||
systemctl start memcached
|
systemctl start memcached
|
||||||
fi
|
fi
|
||||||
@@ -371,11 +444,10 @@ if ps -aux | grep "redis" | grep -v grep ; then
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
check_provider()
|
check_provider() {
|
||||||
{
|
|
||||||
if [ "$(cat /sys/devices/virtual/dmi/id/product_uuid | cut -c 1-3)" = 'EC2' ] && [ -d /home/ubuntu ]; then
|
if hash dmidecode > /dev/null 2>&1 ; then
|
||||||
PROVIDER='Amazon Web Service'
|
if [ "$(dmidecode -s bios-vendor)" = 'Google' ] ; then
|
||||||
elif [ "$(dmidecode -s bios-vendor)" = 'Google' ];then
|
|
||||||
PROVIDER='Google Cloud Platform'
|
PROVIDER='Google Cloud Platform'
|
||||||
elif [ "$(dmidecode -s bios-vendor)" = 'DigitalOcean' ] ; then
|
elif [ "$(dmidecode -s bios-vendor)" = 'DigitalOcean' ] ; then
|
||||||
PROVIDER='Digital Ocean'
|
PROVIDER='Digital Ocean'
|
||||||
@@ -383,11 +455,19 @@ elif [ "$(dmidecode -s system-product-name | cut -c 1-7)" = 'Alibaba' ];then
|
|||||||
PROVIDER='Alibaba Cloud'
|
PROVIDER='Alibaba Cloud'
|
||||||
elif [ "$(dmidecode -s system-manufacturer)" = 'Microsoft Corporation' ] ; then
|
elif [ "$(dmidecode -s system-manufacturer)" = 'Microsoft Corporation' ] ; then
|
||||||
PROVIDER='Microsoft Azure'
|
PROVIDER='Microsoft Azure'
|
||||||
elif [[ -d /usr/local/qcloud ]]; then
|
elif [ -d /usr/local/qcloud ] ; then
|
||||||
PROVIDER='Tencent Cloud'
|
PROVIDER='Tencent Cloud'
|
||||||
else
|
else
|
||||||
PROVIDER='undefined'
|
PROVIDER='undefined'
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
PROVIDER='undefined'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$(cat /sys/devices/virtual/dmi/id/product_uuid | cut -c 1-3)" = 'EC2' ] && [ -d /home/ubuntu ]; then
|
||||||
|
PROVIDER='Amazon Web Service'
|
||||||
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -404,6 +484,7 @@ elif echo $OUTPUT | grep -q "Ubuntu 18.04" ; then
|
|||||||
echo -e "\nDetecting Ubuntu 18.04...\n"
|
echo -e "\nDetecting Ubuntu 18.04...\n"
|
||||||
SERVER_OS="Ubuntu"
|
SERVER_OS="Ubuntu"
|
||||||
else
|
else
|
||||||
|
cat /etc/*release
|
||||||
echo -e "\nUnable to detect your OS...\n"
|
echo -e "\nUnable to detect your OS...\n"
|
||||||
echo -e "\nCyberPanel is supported on Ubuntu 18.04, CentOS 7.x and CloudLinux 7.x...\n"
|
echo -e "\nCyberPanel is supported on Ubuntu 18.04, CentOS 7.x and CloudLinux 7.x...\n"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -477,9 +558,9 @@ echo -e "\n This will install everything default , which is OpenLiteSpeed and no
|
|||||||
|
|
||||||
license_input() {
|
license_input() {
|
||||||
VERSION="ENT"
|
VERSION="ENT"
|
||||||
SERIAL_NO="--ent ent --serial "
|
|
||||||
echo -e "\nPlease note that your server has \e[31m$TOTAL_RAM\e[39m RAM"
|
echo -e "\nPlease note that your server has \e[31m$TOTAL_RAM\e[39m RAM"
|
||||||
echo -e "If you are using \e[31mFree Start\e[39m license, It will not start due to \e[31m2GB RAM limit\e[39m.\n"
|
echo -e "If you are using \e[31mFree Start\e[39m license, It will not start due to \e[31m2GB RAM limit\e[39m.\n"
|
||||||
|
echo -e "If you do not have any license, you can also use trial license (if server has not used trial license before), type \e[31mTRIAL\e[39m\n"
|
||||||
|
|
||||||
printf "%s" "Please input your serial number for LiteSpeed WebServer Enterprise:"
|
printf "%s" "Please input your serial number for LiteSpeed WebServer Enterprise:"
|
||||||
read LICENSE_KEY
|
read LICENSE_KEY
|
||||||
@@ -502,7 +583,10 @@ TMP2=$(echo $LICENSE_KEY | cut -c10)
|
|||||||
TMP3=$(echo $LICENSE_KEY | cut -c15)
|
TMP3=$(echo $LICENSE_KEY | cut -c15)
|
||||||
|
|
||||||
if [[ $TMP == "-" ]] && [[ $TMP2 == "-" ]] && [[ $TMP3 == "-" ]] && [[ $KEY_SIZE == "19" ]] ; then
|
if [[ $TMP == "-" ]] && [[ $TMP2 == "-" ]] && [[ $TMP3 == "-" ]] && [[ $KEY_SIZE == "19" ]] ; then
|
||||||
echo -e "License key set..."
|
echo -e "\nLicense key set..."
|
||||||
|
elif [[ $LICENSE_KEY == "trial" ]] || [[ $LICENSE_KEY == "TRIAL" ]] || [[ $LICENSE_KEY == "Trial" ]] ; then
|
||||||
|
echo -e "\nTrial license set..."
|
||||||
|
LICENSE_KEY="TRIAL"
|
||||||
else
|
else
|
||||||
echo -e "\nLicense key seems incorrect, please verify\n"
|
echo -e "\nLicense key seems incorrect, please verify\n"
|
||||||
echo -e "\nIf you are copying/pasting, please make sure you didn't paste blank space...\n"
|
echo -e "\nIf you are copying/pasting, please make sure you didn't paste blank space...\n"
|
||||||
@@ -648,6 +732,27 @@ fi
|
|||||||
COMMENT
|
COMMENT
|
||||||
#above comment for future use
|
#above comment for future use
|
||||||
|
|
||||||
|
if [[ $DEV_ARG == "ON" ]] ; then
|
||||||
|
echo -e "\nDo you want to specify which branch you want to install?"
|
||||||
|
echo -e "\nNOTE: this feature is only for developers "
|
||||||
|
echo -e "\nonly use this feature if you are a \e[31mdeveloper\e[39m"
|
||||||
|
#echo -e "\nPlease press Enter key or n to proceed as normal user"
|
||||||
|
#echo -e "\nPlease enter \e[31mdeveloper\e[39m to confirm you want to use this feature"
|
||||||
|
#printf "%s" ""
|
||||||
|
#read TMP_YN
|
||||||
|
|
||||||
|
#if [[ $TMP_YN == "developer" ]] ; then
|
||||||
|
DEV="ON"
|
||||||
|
echo -e "\nPlease specify branch name"
|
||||||
|
printf "%s" ""
|
||||||
|
read TMP_YN
|
||||||
|
BRANCH_NAME=$TMP_YN
|
||||||
|
echo -e "Branch name set to $BRANCH_NAME"
|
||||||
|
#else
|
||||||
|
# DEV="OFF"
|
||||||
|
#fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo -e "\nPlease choose to use default admin password \e[31m1234567\e[39m, randomly generate one \e[31m(recommended)\e[39m or specify the admin password?"
|
echo -e "\nPlease choose to use default admin password \e[31m1234567\e[39m, randomly generate one \e[31m(recommended)\e[39m or specify the admin password?"
|
||||||
printf "%s" "Choose [d]fault, [r]andom or [s]et password: [d/r/s] "
|
printf "%s" "Choose [d]fault, [r]andom or [s]et password: [d/r/s] "
|
||||||
read TMP_YN
|
read TMP_YN
|
||||||
@@ -717,6 +822,19 @@ exit
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
special_change
|
special_change
|
||||||
|
|
||||||
|
if [[ $VERSION == "ENT" ]] ; then
|
||||||
|
echo -e "\nValidating the license..."
|
||||||
|
echo -e "\nThis may take a minute..."
|
||||||
|
echo -e "\nplease be patient...\n\n"
|
||||||
|
license_validation
|
||||||
|
SERIAL_NO="--ent ent --serial "
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -i 's|lsws-5.4.2|lsws-'$LSWS_STABLE_VER'|g' installCyberPanel.py
|
||||||
|
sed -i 's|lsws-5.3.5|lsws-'$LSWS_STABLE_VER'|g' installCyberPanel.py
|
||||||
|
#this sed must be done after license validation
|
||||||
|
|
||||||
echo -e "Preparing..."
|
echo -e "Preparing..."
|
||||||
echo -e "Installation will start in 10 seconds, if you wish to stop please press CTRL + C"
|
echo -e "Installation will start in 10 seconds, if you wish to stop please press CTRL + C"
|
||||||
sleep 10
|
sleep 10
|
||||||
@@ -727,7 +845,12 @@ if [[ $debug == "0" ]] ; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $debug == "1" ]] ; then
|
if [[ $debug == "1" ]] ; then
|
||||||
|
if [[ $DEV == "ON" ]] ; then
|
||||||
|
/usr/local/CyberPanel/bin/python install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY
|
||||||
|
else
|
||||||
/usr/local/CyberPanel/bin/python2 install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY
|
/usr/local/CyberPanel/bin/python2 install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY
|
||||||
|
fi
|
||||||
|
|
||||||
if grep "CyberPanel installation successfully completed" /var/log/installLogs.txt > /dev/null; then
|
if grep "CyberPanel installation successfully completed" /var/log/installLogs.txt > /dev/null; then
|
||||||
echo -e "\nCyberPanel installation sucessfully completed..."
|
echo -e "\nCyberPanel installation sucessfully completed..."
|
||||||
else
|
else
|
||||||
@@ -746,7 +869,7 @@ fi
|
|||||||
}
|
}
|
||||||
|
|
||||||
pip_virtualenv() {
|
pip_virtualenv() {
|
||||||
|
if [[ $DEV == "OFF" ]] ; then
|
||||||
if [[ $SERVER_COUNTRY == "CN" ]] ; then
|
if [[ $SERVER_COUNTRY == "CN" ]] ; then
|
||||||
mkdir /root/.pip
|
mkdir /root/.pip
|
||||||
cat << EOF > /root/.pip/pip.conf
|
cat << EOF > /root/.pip/pip.conf
|
||||||
@@ -767,20 +890,44 @@ rm -rf requirements.txt
|
|||||||
wget -O requirements.txt https://raw.githubusercontent.com/usmannasir/cyberpanel/1.8.0/requirments.txt
|
wget -O requirements.txt https://raw.githubusercontent.com/usmannasir/cyberpanel/1.8.0/requirments.txt
|
||||||
pip install --ignore-installed -r requirements.txt
|
pip install --ignore-installed -r requirements.txt
|
||||||
virtualenv --system-site-packages /usr/local/CyberPanel
|
virtualenv --system-site-packages /usr/local/CyberPanel
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $DEV == "ON" ]] ; then
|
||||||
|
#install dev branch
|
||||||
|
#wget https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/requirments.txt
|
||||||
|
cd /usr/local/
|
||||||
|
python3.6 -m venv CyberPanel
|
||||||
|
source /usr/local/CyberPanel/bin/activate
|
||||||
|
wget -O requirements.txt https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/requirments.txt
|
||||||
|
pip3.6 install --ignore-installed -r requirements.txt
|
||||||
|
cd -
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f requirements.txt ] && [ -d cyberpanel ] ; then
|
||||||
|
rm -rf cyberpanel
|
||||||
|
rm -f requirements.txt
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $SERVER_COUNTRY == "CN" ]] ; then
|
if [[ $SERVER_COUNTRY == "CN" ]] ; then
|
||||||
wget https://cyberpanel.sh/cyberpanel-git.tar.gz
|
wget https://cyberpanel.sh/cyberpanel-git.tar.gz
|
||||||
tar xzvf cyberpanel-git.tar.gz > /dev/null
|
tar xzvf cyberpanel-git.tar.gz > /dev/null
|
||||||
cp -r cyberpanel /usr/local/cyberpanel
|
cp -r cyberpanel /usr/local/cyberpanel
|
||||||
cd cyberpanel/install
|
cd cyberpanel/install
|
||||||
|
else
|
||||||
|
if [[ $DEV == "ON" ]] ; then
|
||||||
|
git clone https://github.com/usmannasir/cyberpanel
|
||||||
|
cd cyberpanel
|
||||||
|
git checkout $BRANCH_NAME
|
||||||
|
cd -
|
||||||
|
cp -r cyberpanel /usr/local/cyberpanel
|
||||||
|
cd cyberpanel/install
|
||||||
else
|
else
|
||||||
git clone https://github.com/usmannasir/cyberpanel
|
git clone https://github.com/usmannasir/cyberpanel
|
||||||
cp -r cyberpanel /usr/local/cyberpanel
|
cp -r cyberpanel /usr/local/cyberpanel
|
||||||
cd cyberpanel/install
|
cd cyberpanel/install
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
curl https://cyberpanel.sh/?version
|
curl https://cyberpanel.sh/?version
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
after_install() {
|
after_install() {
|
||||||
@@ -794,13 +941,33 @@ fi
|
|||||||
|
|
||||||
chmod 1733 /var/lib/php/session
|
chmod 1733 /var/lib/php/session
|
||||||
|
|
||||||
|
if grep "\[ERROR\] We are not able to run ./install.sh return code: 1. Fatal error, see /var/log/installLogs.txt for full details" /var/log/installLogs.txt > /dev/null; then
|
||||||
|
cd ${DIR}/cyberpanel/install/lsws-*
|
||||||
|
./install.sh
|
||||||
|
echo -e "\n\n\nIt seems LiteSpeed Enterprise has failed to install, please check your license key is valid"
|
||||||
|
echo -e "\nIf this license key has been used before, you may need to go to store to release it first."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
if grep "CyberPanel installation successfully completed" /var/log/installLogs.txt > /dev/null; then
|
if grep "CyberPanel installation successfully completed" /var/log/installLogs.txt > /dev/null; then
|
||||||
|
|
||||||
|
if [[ $DEV == "ON" ]] ; then
|
||||||
|
python3.6 -m venv /usr/local/CyberCP
|
||||||
|
source /usr/local/CyberCP/bin/activate
|
||||||
|
wget -O requirements.txt https://raw.githubusercontent.com/usmannasir/cyberpanel/$BRANCH_NAME/requirments.txt
|
||||||
|
pip3.6 install --ignore-installed -r requirements.txt
|
||||||
|
systemctl restart lscpd
|
||||||
|
fi
|
||||||
|
|
||||||
for version in $(ls /usr/local/lsws | grep lsphp);
|
for version in $(ls /usr/local/lsws | grep lsphp);
|
||||||
do
|
do
|
||||||
php_ini=$(find /usr/local/lsws/$version/ -name php.ini)
|
php_ini=$(find /usr/local/lsws/$version/ -name php.ini)
|
||||||
version2=${version:5:2}
|
version2=${version:5:2}
|
||||||
version2=$(awk "BEGIN { print "${version2}/10" }")
|
version2=$(awk "BEGIN { print "${version2}/10" }")
|
||||||
|
if [[ $version2 = "7" ]] ; then
|
||||||
|
version2="7.0"
|
||||||
|
fi
|
||||||
if [[ $SERVER_OS == "CentOS" ]] ; then
|
if [[ $SERVER_OS == "CentOS" ]] ; then
|
||||||
yum remove -y $version-mysql
|
yum remove -y $version-mysql
|
||||||
yum install -y $version-mysqlnd
|
yum install -y $version-mysqlnd
|
||||||
@@ -836,9 +1003,7 @@ for version in $(ls /usr/local/lsws | grep lsphp);
|
|||||||
make clean
|
make clean
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
sed -i 's|maxConnections 2000|maxConnections 20000|g' /usr/local/lsws/conf/httpd_config.conf
|
|
||||||
sed -i 's|maxSSLConnections 1000|maxSSLConnections 10000|g' /usr/local/lsws/conf/httpd_config.conf
|
|
||||||
/usr/local/lsws/bin/lswsctrl restart
|
|
||||||
rm -rf /etc/profile.d/cyberpanel*
|
rm -rf /etc/profile.d/cyberpanel*
|
||||||
curl --silent -o /etc/profile.d/cyberpanel.sh https://cyberpanel.sh/?banner 2>/dev/null
|
curl --silent -o /etc/profile.d/cyberpanel.sh https://cyberpanel.sh/?banner 2>/dev/null
|
||||||
chmod +x /etc/profile.d/cyberpanel.sh
|
chmod +x /etc/profile.d/cyberpanel.sh
|
||||||
@@ -855,14 +1020,33 @@ echo "systemctl restart lscpd" >> /usr/bin/adminPass
|
|||||||
chmod +x /usr/bin/adminPass
|
chmod +x /usr/bin/adminPass
|
||||||
if [[ $VERSION = "OLS" ]] ; then
|
if [[ $VERSION = "OLS" ]] ; then
|
||||||
WORD="OpenLiteSpeed"
|
WORD="OpenLiteSpeed"
|
||||||
|
# sed -i 's|maxConnections 10000|maxConnections 100000|g' /usr/local/lsws/conf/httpd_config.conf
|
||||||
|
# OLS_LATEST=$(curl https://openlitespeed.org/packages/release)
|
||||||
|
# wget https://openlitespeed.org/packages/openlitespeed-$OLS_LATEST.tgz
|
||||||
|
# tar xzvf openlitespeed-$OLS_LATEST.tgz
|
||||||
|
# cd openlitespeed
|
||||||
|
# ./install.sh
|
||||||
|
/usr/local/lsws/bin/lswsctrl stop
|
||||||
|
/usr/local/lsws/bin/lswsctrl start
|
||||||
|
# rm -f openlitespeed-$OLS_LATEST.tgz
|
||||||
|
# rm -rf openlitespeed
|
||||||
|
# cd ..
|
||||||
fi
|
fi
|
||||||
if [[ $VERSION = "ENT" ]] ; then
|
if [[ $VERSION = "ENT" ]] ; then
|
||||||
WORD="LiteSpeed Enterprise"
|
WORD="LiteSpeed Enterprise"
|
||||||
if [[ $SERVER_COUNTRY != "CN" ]] ; then
|
if [[ $SERVER_COUNTRY != "CN" ]] ; then
|
||||||
LSWS_VER=$(curl -s http://update.litespeedtech.com/ws/latest.php | grep LSWS | sed 's/LSWS=//' | head -n 1)
|
/usr/local/lsws/admin/misc/lsup.sh -f -v $LSWS_STABLE_VER
|
||||||
/usr/local/lsws/admin/misc/lsup.sh -f -v ${LSWS_VER}
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
systemctl status lsws 2>&1>/dev/null
|
||||||
|
if [[ $? == "0" ]] ; then
|
||||||
|
echo "LSWS service is running..."
|
||||||
|
else
|
||||||
|
systemctl stop lsws
|
||||||
|
systemctl start lsws
|
||||||
|
fi
|
||||||
|
|
||||||
clear
|
clear
|
||||||
echo "###################################################################"
|
echo "###################################################################"
|
||||||
echo " CyberPanel Successfully Installed "
|
echo " CyberPanel Successfully Installed "
|
||||||
@@ -921,9 +1105,15 @@ options edns0" /etc/resolv.conf
|
|||||||
if [[ $VERSION = "ENT" ]] ; then
|
if [[ $VERSION = "ENT" ]] ; then
|
||||||
sed -i 's|https://www.litespeedtech.com/packages/5.0/lsws-5.3.5-ent-x86_64-linux.tar.gz|https://cyberpanel.sh/packages/5.0/lsws-5.3.5-ent-x86_64-linux.tar.gz|g' /usr/local/CyberCP/install/installCyberPanel.py
|
sed -i 's|https://www.litespeedtech.com/packages/5.0/lsws-5.3.5-ent-x86_64-linux.tar.gz|https://cyberpanel.sh/packages/5.0/lsws-5.3.5-ent-x86_64-linux.tar.gz|g' /usr/local/CyberCP/install/installCyberPanel.py
|
||||||
sed -i 's|https://www.litespeedtech.com/packages/5.0/lsws-5.3.8-ent-x86_64-linux.tar.gz|https://cyberpanel.sh/packages/5.0/lsws-5.3.8-ent-x86_64-linux.tar.gz|g' /usr/local/CyberCP/serverStatus/serverStatusUtil.py
|
sed -i 's|https://www.litespeedtech.com/packages/5.0/lsws-5.3.8-ent-x86_64-linux.tar.gz|https://cyberpanel.sh/packages/5.0/lsws-5.3.8-ent-x86_64-linux.tar.gz|g' /usr/local/CyberCP/serverStatus/serverStatusUtil.py
|
||||||
|
sed -i 's|https://www.litespeedtech.com/packages/5.0/lsws-5.3.8-ent-x86_64-linux.tar.gz|https://'$DOWNLOAD_SERVER'/litespeed/lsws-'$LSWS_STABLE_VER'-ent-x86_64-linux.tar.gz|g' /usr/local/CyberCP/serverStatus/serverStatusUtil.py
|
||||||
echo -e "If you have install LiteSpeed Enterprise, please run \e[31m/usr/local/lsws/admin/misc/lsup.sh\033[39m to update it to latest."
|
echo -e "If you have install LiteSpeed Enterprise, please run \e[31m/usr/local/lsws/admin/misc/lsup.sh\033[39m to update it to latest."
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
sed -i 's|lsws-5.3.8|lsws-'$LSWS_STABLE_VER'|g' /usr/local/CyberCP/serverStatus/serverStatusUtil.py
|
||||||
|
sed -i 's|lsws-5.4.2|lsws-'$LSWS_STABLE_VER'|g' /usr/local/CyberCP/serverStatus/serverStatusUtil.py
|
||||||
|
sed -i 's|lsws-5.3.5|lsws-'$LSWS_STABLE_VER'|g' /usr/local/CyberCP/serverStatus/serverStatusUtil.py
|
||||||
|
|
||||||
if [[ $SILENT != "ON" ]] ; then
|
if [[ $SILENT != "ON" ]] ; then
|
||||||
printf "%s" "Would you like to restart your server now? [y/N]: "
|
printf "%s" "Would you like to restart your server now? [y/N]: "
|
||||||
read TMP_YN
|
read TMP_YN
|
||||||
@@ -953,10 +1143,15 @@ TMP=$(echo $VERSION | cut -c5)
|
|||||||
TMP2=$(echo $VERSION | cut -c10)
|
TMP2=$(echo $VERSION | cut -c10)
|
||||||
TMP3=$(echo $VERSION | cut -c15)
|
TMP3=$(echo $VERSION | cut -c15)
|
||||||
if [[ $VERSION == "OLS" || $VERSION == "ols" ]] ; then
|
if [[ $VERSION == "OLS" || $VERSION == "ols" ]] ; then
|
||||||
VERSION=OLS
|
VERSION="OLS"
|
||||||
echo -e "\nSet to OpenLiteSpeed..."
|
echo -e "\nSet to OpenLiteSpeed..."
|
||||||
|
elif [[ $VERSION == "Trial" ]] || [[ $VERSION == "TRIAL" ]] || [[ $VERSION == "trial" ]] ; then
|
||||||
|
VERSION="ENT"
|
||||||
|
LICENSE_KEY="TRIAL"
|
||||||
|
echo -e "\nLiteSpeed Enterprise trial license set..."
|
||||||
elif [[ $TMP == "-" ]] && [[ $TMP2 == "-" ]] && [[ $TMP3 == "-" ]] && [[ $KEY_SIZE == "19" ]] ; then
|
elif [[ $TMP == "-" ]] && [[ $TMP2 == "-" ]] && [[ $TMP3 == "-" ]] && [[ $KEY_SIZE == "19" ]] ; then
|
||||||
LICENSE_KEY=$VERSION
|
LICENSE_KEY=$VERSION
|
||||||
|
VERSION="ENT"
|
||||||
echo -e "\nLiteSpeed Enterprise license key set..."
|
echo -e "\nLiteSpeed Enterprise license key set..."
|
||||||
else
|
else
|
||||||
echo -e "\nCan not recognize the input value \e[31m$VERSION\e[39m "
|
echo -e "\nCan not recognize the input value \e[31m$VERSION\e[39m "
|
||||||
@@ -975,7 +1170,6 @@ elif [[ $ADMIN_PASS == "r" ]] ; then
|
|||||||
echo -e "\nAdmin password will be set to \e[31m$ADMIN_PASS\e[39m"
|
echo -e "\nAdmin password will be set to \e[31m$ADMIN_PASS\e[39m"
|
||||||
echo $ADMIN_PASS
|
echo $ADMIN_PASS
|
||||||
else
|
else
|
||||||
echo -e "\nManual input password..."
|
|
||||||
echo -e "\nAdmin password will be set to \e[31m$ADMIN_PASS\e[39m"
|
echo -e "\nAdmin password will be set to \e[31m$ADMIN_PASS\e[39m"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -985,6 +1179,11 @@ if [ $# -eq 0 ] ; then
|
|||||||
else
|
else
|
||||||
if [[ $1 == "help" ]] ; then
|
if [[ $1 == "help" ]] ; then
|
||||||
show_help
|
show_help
|
||||||
|
exit
|
||||||
|
elif [[ $1 == "dev" ]] ; then
|
||||||
|
DEV="ON"
|
||||||
|
DEV_ARG="ON"
|
||||||
|
SILENT="OFF"
|
||||||
elif [[ $1 == "default" ]] ; then
|
elif [[ $1 == "default" ]] ; then
|
||||||
echo -e "\nThis will start default installation...\n"
|
echo -e "\nThis will start default installation...\n"
|
||||||
SILENT="ON"
|
SILENT="ON"
|
||||||
@@ -1045,7 +1244,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
SERVER_IP=$(curl --silent --max-time 5 -4 https://cyberpanel.sh/?ip)
|
SERVER_IP=$(curl --silent --max-time 10 -4 https://cyberpanel.sh/?ip)
|
||||||
if [[ $SERVER_IP =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
if [[ $SERVER_IP =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
echo -e "Valid IP detected..."
|
echo -e "Valid IP detected..."
|
||||||
else
|
else
|
||||||
@@ -1065,7 +1264,7 @@ fi
|
|||||||
if [[ $SERVER_COUNTRY == "CN" ]] ; then
|
if [[ $SERVER_COUNTRY == "CN" ]] ; then
|
||||||
DOWNLOAD_SERVER="cyberpanel.sh"
|
DOWNLOAD_SERVER="cyberpanel.sh"
|
||||||
else
|
else
|
||||||
DOWNLOAD_SERVER="cyberpanelsh.b-cdn.net"
|
DOWNLOAD_SERVER="cdn.cyberpanel.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
check_OS
|
check_OS
|
||||||
@@ -1092,5 +1291,3 @@ pip_virtualenv
|
|||||||
system_tweak
|
system_tweak
|
||||||
|
|
||||||
main_install
|
main_install
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1562,6 +1562,9 @@ imap_folder_list_limit = 0
|
|||||||
command = "make"
|
command = "make"
|
||||||
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
|
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
|
||||||
|
|
||||||
|
if not os.path.exists('/usr/local/CyberCP/bin/'):
|
||||||
|
os.mkdir('/usr/local/CyberCP/bin/')
|
||||||
|
|
||||||
command = "cp lswsgi /usr/local/CyberCP/bin/"
|
command = "cp lswsgi /usr/local/CyberCP/bin/"
|
||||||
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
|
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user