lj2007331@gmail.com 7 years ago
parent
commit
5b9adb8422

+ 18 - 18
addons.sh

@@ -8,7 +8,7 @@
 #       https://oneinstack.com
 #       https://oneinstack.com
 #       https://github.com/lj2007331/oneinstack
 #       https://github.com/lj2007331/oneinstack
 
 
-export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 clear
 clear
 printf "
 printf "
 #######################################################################
 #######################################################################
@@ -62,7 +62,7 @@ fi
 
 
 # Check PHP Extensions
 # Check PHP Extensions
 Check_PHP_Extension() {
 Check_PHP_Extension() {
-  [ ! -e "${php_install_dir}/bin/phpize" ] && { echo "${CWARNING}PHP was not exist! ${CEND}"; exit 1; } 
+  [ ! -e "${php_install_dir}/bin/phpize" ] && { echo "${CWARNING}PHP was not exist! ${CEND}"; exit 1; }
   [ -e "`ls ${php_install_dir}/etc/php.d/0?-${PHP_extension}.ini 2> /dev/null`" ] && { echo "${CWARNING}PHP ${PHP_extension} module already installed! ${CEND}"; exit 1; }
   [ -e "`ls ${php_install_dir}/etc/php.d/0?-${PHP_extension}.ini 2> /dev/null`" ] && { echo "${CWARNING}PHP ${PHP_extension} module already installed! ${CEND}"; exit 1; }
 }
 }
 
 
@@ -90,7 +90,7 @@ Install_fail2ban() {
   ${python_install_dir}/bin/python setup.py install
   ${python_install_dir}/bin/python setup.py install
   if [ "${OS}" == "CentOS" ]; then
   if [ "${OS}" == "CentOS" ]; then
     LOGPATH=/var/log/secure
     LOGPATH=/var/log/secure
-    /bin/cp files/redhat-initd /etc/init.d/fail2ban 
+    /bin/cp files/redhat-initd /etc/init.d/fail2ban
     sed -i "s@^FAIL2BAN=.*@FAIL2BAN=${python_install_dir}/bin/fail2ban-client@" /etc/init.d/fail2ban
     sed -i "s@^FAIL2BAN=.*@FAIL2BAN=${python_install_dir}/bin/fail2ban-client@" /etc/init.d/fail2ban
     sed -i 's@Starting fail2ban.*@&\n    [ ! -e "/var/run/fail2ban" ] \&\& mkdir /var/run/fail2ban@' /etc/init.d/fail2ban
     sed -i 's@Starting fail2ban.*@&\n    [ ! -e "/var/run/fail2ban" ] \&\& mkdir /var/run/fail2ban@' /etc/init.d/fail2ban
     chmod +x /etc/init.d/fail2ban
     chmod +x /etc/init.d/fail2ban
@@ -99,7 +99,7 @@ Install_fail2ban() {
   fi
   fi
   if [[ "${OS}" =~ ^Ubuntu$|^Debian$ ]]; then
   if [[ "${OS}" =~ ^Ubuntu$|^Debian$ ]]; then
     LOGPATH=/var/log/auth.log
     LOGPATH=/var/log/auth.log
-    /bin/cp files/debian-initd /etc/init.d/fail2ban 
+    /bin/cp files/debian-initd /etc/init.d/fail2ban
     sed -i 's@2 3 4 5@3 4 5@' /etc/init.d/fail2ban
     sed -i 's@2 3 4 5@3 4 5@' /etc/init.d/fail2ban
     sed -i "s@^DAEMON=.*@DAEMON=${python_install_dir}/bin/\$NAME-client@" /etc/init.d/fail2ban
     sed -i "s@^DAEMON=.*@DAEMON=${python_install_dir}/bin/\$NAME-client@" /etc/init.d/fail2ban
     chmod +x /etc/init.d/fail2ban
     chmod +x /etc/init.d/fail2ban
@@ -116,9 +116,9 @@ maxretry = 5
 enabled = true
 enabled = true
 filter  = sshd
 filter  = sshd
 action  = iptables[name=SSH, port=$now_ssh_port, protocol=tcp]
 action  = iptables[name=SSH, port=$now_ssh_port, protocol=tcp]
-logpath = $LOGPATH 
+logpath = $LOGPATH
 EOF
 EOF
-  cat > /etc/logrotate.d/fail2ban << EOF 
+  cat > /etc/logrotate.d/fail2ban << EOF
 /var/log/fail2ban.log {
 /var/log/fail2ban.log {
     missingok
     missingok
     notifempty
     notifempty
@@ -142,7 +142,7 @@ EOF
 Uninstall_fail2ban() {
 Uninstall_fail2ban() {
   /etc/init.d/fail2ban stop
   /etc/init.d/fail2ban stop
   ${python_install_dir}/bin/pip uninstall -y fail2ban > /dev/null 2>&1
   ${python_install_dir}/bin/pip uninstall -y fail2ban > /dev/null 2>&1
-  rm -rf /etc/init.d/fail2ban /etc/fail2ban /etc/logrotate.d/fail2ban /var/log/fail2ban.* /var/run/fail2ban 
+  rm -rf /etc/init.d/fail2ban /etc/fail2ban /etc/logrotate.d/fail2ban /var/log/fail2ban.* /var/run/fail2ban
   echo; echo "${CMSG}fail2ban uninstall completed${CEND}";
   echo; echo "${CMSG}fail2ban uninstall completed${CEND}";
 }
 }
 
 
@@ -171,9 +171,9 @@ What Are You Doing?
 \t${CMSG} 4${CEND}. Install/Uninstall fileinfo PHP Extension
 \t${CMSG} 4${CEND}. Install/Uninstall fileinfo PHP Extension
 \t${CMSG} 5${CEND}. Install/Uninstall memcached/memcache
 \t${CMSG} 5${CEND}. Install/Uninstall memcached/memcache
 \t${CMSG} 6${CEND}. Install/Uninstall Redis
 \t${CMSG} 6${CEND}. Install/Uninstall Redis
-\t${CMSG} 7${CEND}. Install/Uninstall swoole PHP Extension 
-\t${CMSG} 8${CEND}. Install/Uninstall xdebug PHP Extension 
-\t${CMSG} 9${CEND}. Install/Uninstall PHP Composer 
+\t${CMSG} 7${CEND}. Install/Uninstall swoole PHP Extension
+\t${CMSG} 8${CEND}. Install/Uninstall xdebug PHP Extension
+\t${CMSG} 9${CEND}. Install/Uninstall PHP Composer
 \t${CMSG}10${CEND}. Install/Uninstall fail2ban
 \t${CMSG}10${CEND}. Install/Uninstall fail2ban
 \t${CMSG} q${CEND}. Exit
 \t${CMSG} q${CEND}. Exit
 "
 "
@@ -435,7 +435,7 @@ What Are You Doing?
           ./configure --with-php-config=${php_install_dir}/bin/php-config
           ./configure --with-php-config=${php_install_dir}/bin/php-config
           make -j ${THREAD} && make install
           make -j ${THREAD} && make install
           popd
           popd
-          rm -rf swoole-${swoole_ver} 
+          rm -rf swoole-${swoole_ver}
           popd
           popd
           echo 'extension=swoole.so' > ${php_install_dir}/etc/php.d/06-swoole.ini
           echo 'extension=swoole.so' > ${php_install_dir}/etc/php.d/06-swoole.ini
           Check_succ
           Check_succ
@@ -452,17 +452,17 @@ What Are You Doing?
           if [[ "${PHP_main_ver}" =~ ^7\.[0-2]$ ]]; then
           if [[ "${PHP_main_ver}" =~ ^7\.[0-2]$ ]]; then
             src_url=https://pecl.php.net/get/xdebug-${xdebug_ver}.tgz && Download_src
             src_url=https://pecl.php.net/get/xdebug-${xdebug_ver}.tgz && Download_src
             src_url=http://mirrors.linuxeye.com/oneinstack/src/webgrind-master.zip && Download_src
             src_url=http://mirrors.linuxeye.com/oneinstack/src/webgrind-master.zip && Download_src
-            tar xzf xdebug-${xdebug_ver}.tgz 
+            tar xzf xdebug-${xdebug_ver}.tgz
             unzip -q webgrind-master.zip
             unzip -q webgrind-master.zip
-            /bin/mv webgrind-master ${wwwroot_dir}/default/webgrind 
-            pushd xdebug-${xdebug_ver} 
+            /bin/mv webgrind-master ${wwwroot_dir}/default/webgrind
+            pushd xdebug-${xdebug_ver}
           elif [[ "${PHP_main_ver}" =~ ^5\.[5-6]$ ]]; then
           elif [[ "${PHP_main_ver}" =~ ^5\.[5-6]$ ]]; then
             src_url=https://pecl.php.net/get/xdebug-2.5.5.tgz && Download_src
             src_url=https://pecl.php.net/get/xdebug-2.5.5.tgz && Download_src
             src_url=http://mirrors.linuxeye.com/oneinstack/src/webgrind-master.zip && Download_src
             src_url=http://mirrors.linuxeye.com/oneinstack/src/webgrind-master.zip && Download_src
-            tar xzf xdebug-2.5.5.tgz 
+            tar xzf xdebug-2.5.5.tgz
             unzip -q webgrind-master.zip
             unzip -q webgrind-master.zip
-            /bin/mv webgrind-master ${wwwroot_dir}/default/webgrind 
-            pushd xdebug-2.5.5 
+            /bin/mv webgrind-master ${wwwroot_dir}/default/webgrind
+            pushd xdebug-2.5.5
           else
           else
             echo "${CWARNING}Need a PHP version >= 5.5.0 and <= 7.2.0${CEND}"
             echo "${CWARNING}Need a PHP version >= 5.5.0 and <= 7.2.0${CEND}"
             exit 1
             exit 1
@@ -471,7 +471,7 @@ What Are You Doing?
           ./configure --with-php-config=${php_install_dir}/bin/php-config
           ./configure --with-php-config=${php_install_dir}/bin/php-config
           make -j ${THREAD} && make install
           make -j ${THREAD} && make install
           popd
           popd
-          rm -rf xdebug-${xdebug_ver} 
+          rm -rf xdebug-${xdebug_ver}
           popd
           popd
           [ ! -e /tmp/xdebug ] && { mkdir /tmp/xdebug; chown ${run_user}.${run_user} /tmp/xdebug; }
           [ ! -e /tmp/xdebug ] && { mkdir /tmp/xdebug; chown ${run_user}.${run_user} /tmp/xdebug; }
           [ ! -e /tmp/webgrind ] && { mkdir /tmp/webgrind; chown ${run_user}.${run_user} /tmp/webgrind; }
           [ ! -e /tmp/webgrind ] && { mkdir /tmp/webgrind; chown ${run_user}.${run_user} /tmp/webgrind; }

+ 7 - 7
backup.sh

@@ -134,7 +134,7 @@ WEB_UPYUN_BK() {
     fi
     fi
     /usr/local/bin/upx put $PUSH_FILE /`date +%F`/Web_${W}_$(date +%Y%m%d_%H).tgz
     /usr/local/bin/upx put $PUSH_FILE /`date +%F`/Web_${W}_$(date +%Y%m%d_%H).tgz
     if [ $? -eq 0 ]; then
     if [ $? -eq 0 ]; then
-      /usr/local/bin/upx rm -a `date +%F --date="${expired_days} days ago"` > /dev/null 2>&1 
+      /usr/local/bin/upx rm -a `date +%F --date="${expired_days} days ago"` > /dev/null 2>&1
       [ -e "$PUSH_FILE" -a -z "`echo ${backup_destination} | grep -ow 'local'`" ] && rm -rf $PUSH_FILE
       [ -e "$PUSH_FILE" -a -z "`echo ${backup_destination} | grep -ow 'local'`" ] && rm -rf $PUSH_FILE
     fi
     fi
   done
   done
@@ -145,23 +145,23 @@ do
   if [ "${DEST}" == 'local' ]; then
   if [ "${DEST}" == 'local' ]; then
     [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_Local_BK
     [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_Local_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_Local_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_Local_BK
-  fi 
+  fi
   if [ "${DEST}" == 'remote' ]; then
   if [ "${DEST}" == 'remote' ]; then
     echo "com:::[ ! -e "${backup_dir}" ] && mkdir -p ${backup_dir}" > config_bakcup.txt
     echo "com:::[ ! -e "${backup_dir}" ] && mkdir -p ${backup_dir}" > config_bakcup.txt
     [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_Remote_BK
     [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_Remote_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_Remote_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_Remote_BK
     ./mabs.sh -c config_bakcup.txt -T -1 | tee mabs.log
     ./mabs.sh -c config_bakcup.txt -T -1 | tee mabs.log
-  fi 
+  fi
   if [ "${DEST}" == 'oss' ]; then
   if [ "${DEST}" == 'oss' ]; then
-    [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_OSS_BK 
+    [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_OSS_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_OSS_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_OSS_BK
-  fi 
+  fi
   if [ "${DEST}" == 'cos' ]; then
   if [ "${DEST}" == 'cos' ]; then
     [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_COS_BK
     [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_COS_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_COS_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_COS_BK
-  fi 
+  fi
   if [ "${DEST}" == 'upyun' ]; then
   if [ "${DEST}" == 'upyun' ]; then
     [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_UPYUN_BK
     [ -n "`echo ${backup_content} | grep -ow db`" ] && DB_UPYUN_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_UPYUN_BK
     [ -n "`echo ${backup_content} | grep -ow web`" ] && WEB_UPYUN_BK
-  fi 
+  fi
 done
 done

+ 13 - 14
backup_setup.sh

@@ -8,7 +8,7 @@
 #       https://oneinstack.com
 #       https://oneinstack.com
 #       https://github.com/lj2007331/oneinstack
 #       https://github.com/lj2007331/oneinstack
 
 
-export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 clear
 clear
 printf "
 printf "
 #######################################################################
 #######################################################################
@@ -34,9 +34,9 @@ while :; do echo
   echo 'Please select your backup destination:'
   echo 'Please select your backup destination:'
   echo -e "\t${CMSG}1${CEND}. Localhost"
   echo -e "\t${CMSG}1${CEND}. Localhost"
   echo -e "\t${CMSG}2${CEND}. Remote host"
   echo -e "\t${CMSG}2${CEND}. Remote host"
-  echo -e "\t${CMSG}3${CEND}. Aliyun OSS" 
+  echo -e "\t${CMSG}3${CEND}. Aliyun OSS"
   echo -e "\t${CMSG}4${CEND}. Qcloud COS"
   echo -e "\t${CMSG}4${CEND}. Qcloud COS"
-  echo -e "\t${CMSG}5${CEND}. UPYUN(又拍云)" 
+  echo -e "\t${CMSG}5${CEND}. UPYUN(又拍云)"
   read -p "Please input a number:(Default 1 press Enter) " desc_bk
   read -p "Please input a number:(Default 1 press Enter) " desc_bk
   [ -z "${desc_bk}" ] && desc_bk=1
   [ -z "${desc_bk}" ] && desc_bk=1
   ary=(1 2 3 4 5 12 13 14 15 23 24 25 34 35 45 123 124 125 234 235 345 1234 1235 2345 12345)
   ary=(1 2 3 4 5 12 13 14 15 23 24 25 34 35 45 123 124 125 234 235 345 1234 1235 2345 12345)
@@ -116,7 +116,7 @@ if [ "${content_bk}" != '1' ]; then
   websites=`ls ${wwwroot_dir}`
   websites=`ls ${wwwroot_dir}`
   while :; do echo
   while :; do echo
     echo "Please enter one or more name for website, separate multiple website names with commas: "
     echo "Please enter one or more name for website, separate multiple website names with commas: "
-    read -p "(Default website: `echo $websites | tr ' ' ','`) " website_name 
+    read -p "(Default website: `echo $websites | tr ' ' ','`) " website_name
     website_name=`echo ${website_name} | tr -d ' '`
     website_name=`echo ${website_name} | tr -d ' '`
     [ -z "${website_name}" ] && website_name="`echo $websites | tr ' ' ','`"
     [ -z "${website_name}" ] && website_name="`echo $websites | tr ' ' ','`"
     W_tmp=0
     W_tmp=0
@@ -180,9 +180,9 @@ if [ `echo ${desc_bk} | grep -e 3` ]; then
     echo 'Please select your backup datacenter:'
     echo 'Please select your backup datacenter:'
     echo -e "\t ${CMSG}1${CEND}. cn-hangzhou-华东 1 (杭州)         ${CMSG}2${CEND}. cn-shanghai-华东 2 (上海)"
     echo -e "\t ${CMSG}1${CEND}. cn-hangzhou-华东 1 (杭州)         ${CMSG}2${CEND}. cn-shanghai-华东 2 (上海)"
     echo -e "\t ${CMSG}3${CEND}. cn-qingdao-华北 1 (青岛)          ${CMSG}4${CEND}. cn-beijing-华北 2 (北京)"
     echo -e "\t ${CMSG}3${CEND}. cn-qingdao-华北 1 (青岛)          ${CMSG}4${CEND}. cn-beijing-华北 2 (北京)"
-    echo -e "\t ${CMSG}5${CEND}. cn-zhangjiakou-华北 3 (张家口)    ${CMSG}6${CEND}. cn-huhehaote-华北 5(呼和浩特)" 
+    echo -e "\t ${CMSG}5${CEND}. cn-zhangjiakou-华北 3 (张家口)    ${CMSG}6${CEND}. cn-huhehaote-华北 5(呼和浩特)"
     echo -e "\t ${CMSG}7${CEND}. cn-shenzhen-华南 1 (深圳)         ${CMSG}8${CEND}. cn-hongkong-香港"
     echo -e "\t ${CMSG}7${CEND}. cn-shenzhen-华南 1 (深圳)         ${CMSG}8${CEND}. cn-hongkong-香港"
-    echo -e "\t ${CMSG}9${CEND}. us-west-美西 1 (硅谷)            ${CMSG}10${CEND}. us-east-美东 1 (弗吉尼亚)" 
+    echo -e "\t ${CMSG}9${CEND}. us-west-美西 1 (硅谷)            ${CMSG}10${CEND}. us-east-美东 1 (弗吉尼亚)"
     echo -e "\t${CMSG}11${CEND}. ap-southeast-亚太东南 1 (新加坡) ${CMSG}12${CEND}. ap-southeast-亚太东南 2 (悉尼)"
     echo -e "\t${CMSG}11${CEND}. ap-southeast-亚太东南 1 (新加坡) ${CMSG}12${CEND}. ap-southeast-亚太东南 2 (悉尼)"
     echo -e "\t${CMSG}13${CEND}. ap-southeast-亚太东南 3 (吉隆坡) ${CMSG}14${CEND}. ap-northeast-亚太东北 1 (日本)"
     echo -e "\t${CMSG}13${CEND}. ap-southeast-亚太东南 3 (吉隆坡) ${CMSG}14${CEND}. ap-northeast-亚太东北 1 (日本)"
     echo -e "\t${CMSG}15${CEND}. eu-central-欧洲中部 1 (法兰克福) ${CMSG}16${CEND}. me-east-中东东部 1 (迪拜)"
     echo -e "\t${CMSG}15${CEND}. eu-central-欧洲中部 1 (法兰克福) ${CMSG}16${CEND}. me-east-中东东部 1 (迪拜)"
@@ -211,7 +211,7 @@ if [ `echo ${desc_bk} | grep -e 3` ]; then
   [ "${Location}" == '15' ] && Host=oss-eu-central-1-internal.aliyuncs.com
   [ "${Location}" == '15' ] && Host=oss-eu-central-1-internal.aliyuncs.com
   [ "${Location}" == '16' ] && Host=oss-me-east-1-internal.aliyuncs.com
   [ "${Location}" == '16' ] && Host=oss-me-east-1-internal.aliyuncs.com
   [ "$(./include/check_port.py ${Host} 80)" == "False" ] && Host=`echo ${Host} | sed 's@-internal@@g'`
   [ "$(./include/check_port.py ${Host} 80)" == "False" ] && Host=`echo ${Host} | sed 's@-internal@@g'`
-  [ -e "/root/.ossutilconfig" ] && rm -f /root/.ossutilconfig 
+  [ -e "/root/.ossutilconfig" ] && rm -f /root/.ossutilconfig
   while :; do echo
   while :; do echo
     read -p "Please enter the aliyun oss Access Key ID: " KeyID
     read -p "Please enter the aliyun oss Access Key ID: " KeyID
     [ -z "${KeyID}" ] && continue
     [ -z "${KeyID}" ] && continue
@@ -233,7 +233,7 @@ fi
 
 
 if [ `echo ${desc_bk} | grep -e 4` ]; then
 if [ `echo ${desc_bk} | grep -e 4` ]; then
   [ ! -e "${python_install_dir}/bin/python" ] && Install_Python
   [ ! -e "${python_install_dir}/bin/python" ] && Install_Python
-  [ ! -e "${python_install_dir}/lib/coscmd" ] && ${python_install_dir}/bin/pip install coscmd >/dev/null 2>&1 
+  [ ! -e "${python_install_dir}/lib/coscmd" ] && ${python_install_dir}/bin/pip install coscmd >/dev/null 2>&1
   while :; do echo
   while :; do echo
     echo 'Please select your backup datacenter:'
     echo 'Please select your backup datacenter:'
     echo -e "\t ${CMSG}1${CEND}. 北京一区(华北)  ${CMSG}2${CEND}. 北京"
     echo -e "\t ${CMSG}1${CEND}. 北京一区(华北)  ${CMSG}2${CEND}. 北京"
@@ -259,7 +259,7 @@ if [ `echo ${desc_bk} | grep -e 4` ]; then
   [ "${Location}" == '8' ] && region='na-toronto'
   [ "${Location}" == '8' ] && region='na-toronto'
   [ "${Location}" == '9' ] && region='eu-frankfurt'
   [ "${Location}" == '9' ] && region='eu-frankfurt'
   while :; do echo
   while :; do echo
-    read -p "Please enter the Qcloud COS APPID: " APPID 
+    read -p "Please enter the Qcloud COS APPID: " APPID
     [ -z "${APPID}" ] && continue
     [ -z "${APPID}" ] && continue
     echo
     echo
     read -p "Please enter the Qcloud COS SecretId: " SecretId
     read -p "Please enter the Qcloud COS SecretId: " SecretId
@@ -268,7 +268,7 @@ if [ `echo ${desc_bk} | grep -e 4` ]; then
     read -p "Please enter the Qcloud COS SecretKey: " SecretKey
     read -p "Please enter the Qcloud COS SecretKey: " SecretKey
     [ -z "$SecretKey" ] && continue
     [ -z "$SecretKey" ] && continue
     echo
     echo
-    read -p "Please enter the Qcloud COS bucket: " bucket 
+    read -p "Please enter the Qcloud COS bucket: " bucket
     [ -z "${bucket}" ] && continue
     [ -z "${bucket}" ] && continue
     echo
     echo
     ${python_install_dir}/bin/coscmd config -u ${APPID} -a ${SecretId} -s $SecretKey -r $region -b ${bucket} >/dev/null 2>&1
     ${python_install_dir}/bin/coscmd config -u ${APPID} -a ${SecretId} -s $SecretKey -r $region -b ${bucket} >/dev/null 2>&1
@@ -293,17 +293,16 @@ if [ `echo ${desc_bk} | grep -e 5` ]; then
     chmod +x /usr/local/bin/upx
     chmod +x /usr/local/bin/upx
   fi
   fi
   while :; do echo
   while :; do echo
-    read -p "Please enter the ServiceName: " ServiceName 
+    read -p "Please enter the ServiceName: " ServiceName
     [ -z "${ServiceName}" ] && continue
     [ -z "${ServiceName}" ] && continue
     echo
     echo
-    read -p "Please enter the Operator: " Operator 
+    read -p "Please enter the Operator: " Operator
     [ -z "${Operator}" ] && continue
     [ -z "${Operator}" ] && continue
     echo
     echo
-    read -p "Please enter the Password: " Password 
+    read -p "Please enter the Password: " Password
     [ -z "${Password}" ] && continue
     [ -z "${Password}" ] && continue
     echo
     echo
     /usr/local/bin/upx login ${ServiceName} ${Operator} ${Password} >/dev/null 2>&1
     /usr/local/bin/upx login ${ServiceName} ${Operator} ${Password} >/dev/null 2>&1
-    /usr/local/bin/upx ls >/dev/null 2>&1
     if [ $? = 0 ]; then
     if [ $? = 0 ]; then
       echo "${CMSG}ServiceName/Operator/Password OK${CEND}"
       echo "${CMSG}ServiceName/Operator/Password OK${CEND}"
       echo
       echo

+ 1 - 0
include/alisql-5.6.sh

@@ -37,6 +37,7 @@ Install_AliSQL56() {
 
 
   if [ -d "${alisql_install_dir}/support-files" ]; then
   if [ -d "${alisql_install_dir}/support-files" ]; then
     echo never > /sys/kernel/mm/transparent_hugepage/enabled
     echo never > /sys/kernel/mm/transparent_hugepage/enabled
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}AliSQL installed successfully! ${CEND}"
     echo "${CSUCCESS}AliSQL installed successfully! ${CEND}"
     rm -rf alisql-${alisql_ver}
     rm -rf alisql-${alisql_ver}
   else
   else

+ 106 - 127
include/check_download.sh

@@ -43,11 +43,11 @@ checkDownload() {
       src_url=http://archive.apache.org/dist/apr/apr-${apr_ver}.tar.gz && Download_src
       src_url=http://archive.apache.org/dist/apr/apr-${apr_ver}.tar.gz && Download_src
       src_url=http://archive.apache.org/dist/apr/apr-util-${apr_util_ver}.tar.gz && Download_src
       src_url=http://archive.apache.org/dist/apr/apr-util-${apr_util_ver}.tar.gz && Download_src
       src_url=http://mirrors.linuxeye.com/apache/httpd/nghttp2-${nghttp2_ver}.tar.gz && Download_src
       src_url=http://mirrors.linuxeye.com/apache/httpd/nghttp2-${nghttp2_ver}.tar.gz && Download_src
-      src_url=http://mirrors.linuxeye.com/apache/httpd/httpd-${apache24_ver}.tar.gz && Download_src
+      src_url=http://archive.apache.org/dist/httpd/httpd-${apache24_ver}.tar.gz && Download_src
     fi
     fi
     if [ "${apache_option}" == '2' ]; then
     if [ "${apache_option}" == '2' ]; then
       echo "Download apache 2.2..."
       echo "Download apache 2.2..."
-      src_url=http://mirrors.linuxeye.com/apache/httpd/httpd-${apache22_ver}.tar.gz && Download_src
+      src_url=http://archive.apache.org/dist/httpd/httpd-${apache22_ver}.tar.gz && Download_src
 
 
       echo "Download mod_remoteip.c for apache 2.2..."
       echo "Download mod_remoteip.c for apache 2.2..."
       src_url=${mirrorLink}/mod_remoteip.c && Download_src
       src_url=${mirrorLink}/mod_remoteip.c && Download_src
@@ -106,21 +106,11 @@ checkDownload() {
       1)
       1)
         # MySQL 5.7
         # MySQL 5.7
         if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
         if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
-          if [ "$(../include/check_port.py mirrors.tuna.tsinghua.edu.cn 443)" == "True" ]; then
-            DOWN_ADDR_MYSQL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7
-            DOWN_ADDR_MYSQL_BK=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7
-          else
-            DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7
-            DOWN_ADDR_MYSQL_BK=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7
-          fi
+          DOWN_ADDR_MYSQL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7
+          DOWN_ADDR_MYSQL_BK=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7
         else
         else
-          if [ "$(../include/check_port.py cdn.mysql.com 80)" == "True" ]; then
-            DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.7
-            DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.7
-          else
-            DOWN_ADDR_MYSQL=http://mysql.he.net/Downloads/MySQL-5.7
-            DOWN_ADDR_MYSQL_BK=http://cdn.mysql.com/Downloads/MySQL-5.7
-          fi
+          DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.7
+          DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.7
         fi
         fi
 
 
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
@@ -131,10 +121,11 @@ checkDownload() {
           FILE_NAME=mysql-${mysql57_ver}.tar.gz
           FILE_NAME=mysql-${mysql57_ver}.tar.gz
         fi
         fi
         # start download
         # start download
-        wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MYSQL}/${FILE_NAME}
+        src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME} && Download_src
+        src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 && Download_src
         # verifying download
         # verifying download
-        MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
-        [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}') 
+        MYSQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
           wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
           wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
@@ -148,25 +139,14 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       2)
       2)
         # MySQL 5.6
         # MySQL 5.6
         if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
         if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
-          if [ "$(../include/check_port.py mirrors.tuna.tsinghua.edu.cn 443)" == "True" ]; then
-            DOWN_ADDR_MYSQL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6
-            DOWN_ADDR_MYSQL_BK=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.6
-          else
-            DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.6
-            DOWN_ADDR_MYSQL_BK=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6
-          fi
+          DOWN_ADDR_MYSQL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6
+          DOWN_ADDR_MYSQL_BK=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.6
         else
         else
-          if [ "$(../include/check_port.py cdn.mysql.com 80)" == "True" ]; then
-            DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.6
-            DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.6
-          else
-            DOWN_ADDR_MYSQL=http://mysql.he.net/Downloads/MySQL-5.6
-            DOWN_ADDR_MYSQL_BK=http://cdn.mysql.com/Downloads/MySQL-5.6
-          fi
+          DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.6
+          DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.6
         fi
         fi
 
 
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
@@ -176,10 +156,12 @@ checkDownload() {
           echo "Download MySQL 5.6 source package..."
           echo "Download MySQL 5.6 source package..."
           FILE_NAME=mysql-${mysql56_ver}.tar.gz
           FILE_NAME=mysql-${mysql56_ver}.tar.gz
         fi
         fi
-        wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MYSQL}/${FILE_NAME}
+        # start download
+        src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME} && Download_src
+        src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 && Download_src
         # verifying download
         # verifying download
-        MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
-        [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}') 
+        MYSQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
           wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
           wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
@@ -193,25 +175,14 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       3)
       3)
         # MySQL 5.5
         # MySQL 5.5
         if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
         if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
-          if [ "$(../include/check_port.py mirrors.tuna.tsinghua.edu.cn 443)" == "True" ]; then
-            DOWN_ADDR_MYSQL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.5
-            DOWN_ADDR_MYSQL_BK=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.5
-          else
-            DOWN_ADDR_MYSQL=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.5
-            DOWN_ADDR_MYSQL_BK=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.5
-          fi
+          DOWN_ADDR_MYSQL=https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.5
+          DOWN_ADDR_MYSQL_BK=http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.5
         else
         else
-          if [ "$(../include/check_port.py cdn.mysql.com 80)" == "True" ]; then
-            DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.5
-            DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.5
-          else
-            DOWN_ADDR_MYSQL=http://mysql.he.net/Downloads/MySQL-5.5
-            DOWN_ADDR_MYSQL_BK=http://cdn.mysql.com/Downloads/MySQL-5.5
-          fi
+          DOWN_ADDR_MYSQL=http://cdn.mysql.com/Downloads/MySQL-5.5
+          DOWN_ADDR_MYSQL_BK=http://mysql.he.net/Downloads/MySQL-5.5
         fi
         fi
 
 
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
@@ -222,10 +193,12 @@ checkDownload() {
           FILE_NAME=mysql-${mysql55_ver}.tar.gz
           FILE_NAME=mysql-${mysql55_ver}.tar.gz
           src_url=${mirrorLink}/mysql-5.5-fix-arm-client_plugin.patch && Download_src
           src_url=${mirrorLink}/mysql-5.5-fix-arm-client_plugin.patch && Download_src
         fi
         fi
-        wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MYSQL}/${FILE_NAME}
+        # start download
+        src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME} && Download_src
+        src_url=${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 && Download_src
         # verifying download
         # verifying download
-        MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
-        [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}') 
+        MYSQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${MYSQL_TAR_MD5}" ] && MYSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MYSQL_TAR_MD5}" ]; do
           wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
           wget -c --no-check-certificate ${DOWN_ADDR_MYSQL_BK}/${FILE_NAME};sleep 1
@@ -239,7 +212,6 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       4)
       4)
         # MariaDB 10.2
         # MariaDB 10.2
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
@@ -247,27 +219,29 @@ checkDownload() {
           FILE_NAME=mariadb-${mariadb102_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
           FILE_NAME=mariadb-${mariadb102_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
-            MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
+            DOWN_ADDR_MARIADB_BK=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
           else
           else
-            DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
-            MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}/md5sums.txt |  grep ${FILE_NAME} | awk '{print $1}')
+            DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
+            DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb102_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
           fi
           fi
         elif [ "${dbinstallmethod}" == '2' ]; then
         elif [ "${dbinstallmethod}" == '2' ]; then
           echo "Download MariaDB 10.2 source package..."
           echo "Download MariaDB 10.2 source package..."
           FILE_NAME=mariadb-${mariadb102_ver}.tar.gz
           FILE_NAME=mariadb-${mariadb102_ver}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb102_ver}/source
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb102_ver}/source
-            MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb102_ver}/source; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
+            DOWN_ADDR_MARIADB_BK=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb102_ver}/source
           else
           else
-            DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb102_ver}/source
-            MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb102_ver}/source/md5sums.txt |  grep ${FILE_NAME} | awk '{print $1}')
+            DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb102_ver}/source
+            DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb102_ver}/source
           fi
           fi
         fi
         fi
+        src_url=${DOWN_ADDR_MARIADB}/${FILE_NAME} && Download_src
+        wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MARIADB}/md5sums.txt -O ${FILE_NAME}.md5
+        MARAIDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${MARAIDB_TAR_MD5}" ] && MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB_BK}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
-          wget -c --no-check-certificate ${DOWN_ADDR_MARIADB}/${FILE_NAME};sleep 1
+          wget -c --no-check-certificate ${DOWN_ADDR_MARIADB_BK}/${FILE_NAME};sleep 1
           let "tryDlCount++"
           let "tryDlCount++"
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
         done
         done
@@ -278,7 +252,6 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       5)
       5)
         # MariaDB 10.1
         # MariaDB 10.1
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
@@ -286,27 +259,29 @@ checkDownload() {
           FILE_NAME=mariadb-${mariadb101_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
           FILE_NAME=mariadb-${mariadb101_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
-            MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
+            DOWN_ADDR_MARIADB_BK=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
           else
           else
-            DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
-            MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}/md5sums.txt |  grep ${FILE_NAME} | awk '{print $1}')
+            DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
+            DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb101_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
           fi
           fi
         elif [ "${dbinstallmethod}" == '2' ]; then
         elif [ "${dbinstallmethod}" == '2' ]; then
           echo "Download MariaDB 10.1 source package..."
           echo "Download MariaDB 10.1 source package..."
           FILE_NAME=mariadb-${mariadb101_ver}.tar.gz
           FILE_NAME=mariadb-${mariadb101_ver}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb101_ver}/source
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb101_ver}/source
-            MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb101_ver}/source; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
+            DOWN_ADDR_MARIADB_BK=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb101_ver}/source
           else
           else
-            DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb101_ver}/source
-            MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb101_ver}/source/md5sums.txt |  grep ${FILE_NAME} | awk '{print $1}')
+            DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb101_ver}/source
+            DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb101_ver}/source
           fi
           fi
         fi
         fi
+        src_url=${DOWN_ADDR_MARIADB}/${FILE_NAME} && Download_src
+        wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MARIADB}/md5sums.txt -O ${FILE_NAME}.md5
+        MARAIDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${MARAIDB_TAR_MD5}" ] && MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB_BK}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
-          wget -c --no-check-certificate ${DOWN_ADDR_MARIADB}/${FILE_NAME};sleep 1
+          wget -c --no-check-certificate ${DOWN_ADDR_MARIADB_BK}/${FILE_NAME};sleep 1
           let "tryDlCount++"
           let "tryDlCount++"
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
         done
         done
@@ -317,7 +292,6 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       6)
       6)
         # MariaDB 10.0
         # MariaDB 10.0
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
@@ -325,27 +299,29 @@ checkDownload() {
           FILE_NAME=mariadb-${mariadb100_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
           FILE_NAME=mariadb-${mariadb100_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
-            MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
+            DOWN_ADDR_MARIADB_BK=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
           else
           else
-            DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
-            MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}/md5sums.txt |  grep ${FILE_NAME} | awk '{print $1}')
+            DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
+            DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb100_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
           fi
           fi
         elif [ "${dbinstallmethod}" == '2' ]; then
         elif [ "${dbinstallmethod}" == '2' ]; then
           echo "Download MariaDB 10.0 source package..."
           echo "Download MariaDB 10.0 source package..."
           FILE_NAME=mariadb-${mariadb100_ver}.tar.gz
           FILE_NAME=mariadb-${mariadb100_ver}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb100_ver}/source
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb100_ver}/source
-            MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb100_ver}/source; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
+            DOWN_ADDR_MARIADB_BK=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb100_ver}/source
           else
           else
-            DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb100_ver}/source
-            MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb100_ver}/source/md5sums.txt |  grep ${FILE_NAME} | awk '{print $1}')
+            DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb100_ver}/source
+            DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb100_ver}/source
           fi
           fi
         fi
         fi
+        src_url=${DOWN_ADDR_MARIADB}/${FILE_NAME} && Download_src
+        wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MARIADB}/md5sums.txt -O ${FILE_NAME}.md5
+        MARAIDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${MARAIDB_TAR_MD5}" ] && MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB_BK}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
-          wget -c --no-check-certificate ${DOWN_ADDR_MARIADB}/${FILE_NAME};sleep 1
+          wget -c --no-check-certificate ${DOWN_ADDR_MARIADB_BK}/${FILE_NAME};sleep 1
           let "tryDlCount++"
           let "tryDlCount++"
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
         done
         done
@@ -356,7 +332,6 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       7)
       7)
         # MariaDB 5.5
         # MariaDB 5.5
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
@@ -364,27 +339,29 @@ checkDownload() {
           FILE_NAME=mariadb-${mariadb55_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
           FILE_NAME=mariadb-${mariadb55_ver}-${GLIBC_FLAG}-${SYS_BIT_b}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
-            MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
+            DOWN_ADDR_MARIADB_BK=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
           else
           else
-            DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
-            MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}/md5sums.txt |  grep ${FILE_NAME} | awk '{print $1}')
+            DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
+            DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb55_ver}/bintar-${GLIBC_FLAG}-${SYS_BIT_a}
           fi
           fi
         elif [ "${dbinstallmethod}" == '2' ]; then
         elif [ "${dbinstallmethod}" == '2' ]; then
           echo "Download MariaDB 5.5 source package..."
           echo "Download MariaDB 5.5 source package..."
           FILE_NAME=mariadb-${mariadb55_ver}.tar.gz
           FILE_NAME=mariadb-${mariadb55_ver}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb55_ver}/source
             DOWN_ADDR_MARIADB=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-${mariadb55_ver}/source
-            MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${MARAIDB_TAR_MD5}" ] && { DOWN_ADDR_MARIADB=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb55_ver}/source; MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}'); }
+            DOWN_ADDR_MARIADB_BK=https://mirrors.ustc.edu.cn/mariadb/mariadb-${mariadb55_ver}/source
           else
           else
-            DOWN_ADDR_MARIADB=https://downloads.mariadb.org/interstitial/mariadb-${mariadb55_ver}/source
-            MARAIDB_TAR_MD5=$(curl -s http://archive.mariadb.org/mariadb-${mariadb55_ver}/source/md5sums.txt |  grep ${FILE_NAME} | awk '{print $1}')
+            DOWN_ADDR_MARIADB=http://ftp.osuosl.org/pub/mariadb/mariadb-${mariadb55_ver}/source
+            DOWN_ADDR_MARIADB_BK=http://mirror.nodesdirect.com/mariadb/mariadb-${mariadb55_ver}/source
           fi
           fi
         fi
         fi
+        src_url=${DOWN_ADDR_MARIADB}/${FILE_NAME} && Download_src
+        wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_MARIADB}/md5sums.txt -O ${FILE_NAME}.md5
+        MARAIDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${MARAIDB_TAR_MD5}" ] && MARAIDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MARIADB_BK}/md5sums.txt | grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MARAIDB_TAR_MD5}" ]; do
-          wget -c --no-check-certificate ${DOWN_ADDR_MARIADB}/${FILE_NAME};sleep 1
+          wget -c --no-check-certificate ${DOWN_ADDR_MARIADB_BK}/${FILE_NAME};sleep 1
           let "tryDlCount++"
           let "tryDlCount++"
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${MARAIDB_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
         done
         done
@@ -395,27 +372,27 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       8)
       8)
         # Precona 5.7
         # Precona 5.7
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
           echo "Download Percona 5.7 binary package..."
           echo "Download Percona 5.7 binary package..."
           FILE_NAME=Percona-Server-${percona57_ver}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
           FILE_NAME=Percona-Server-${percona57_ver}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
           DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_ver}/binary/tarball
           DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_ver}/binary/tarball
-          PERCONA_TAR_MD5=$(curl -s https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_ver}/binary/tarball/${FILE_NAME}.md5sum |  grep ${FILE_NAME} | awk '{print $1}')
         elif [ "${dbinstallmethod}" == '2' ]; then
         elif [ "${dbinstallmethod}" == '2' ]; then
           echo "Download Percona 5.7 source package..."
           echo "Download Percona 5.7 source package..."
           FILE_NAME=percona-server-${percona57_ver}.tar.gz
           FILE_NAME=percona-server-${percona57_ver}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_PERCONA=${mirrorLink}
             DOWN_ADDR_PERCONA=${mirrorLink}
-            DOWN_ADDR_PERCONA_BK=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_ver}/source/tarball
-            PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${PERCONA_TAR_MD5}" ] && { DOWN_ADDR_PERCONA=${DOWN_ADDR_PERCONA_BK}; PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA_BK}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}'); }
           else
           else
             DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_ver}/source/tarball
             DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-${percona57_ver}/source/tarball
-            PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum |  grep ${FILE_NAME} | awk '{print $1}')
           fi
           fi
         fi
         fi
+        # start download
+        src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME} && Download_src
+        src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5 && Download_src
+        # verifying download
+        PERCONA_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${PERCONA_TAR_MD5}" ] && PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum |  grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
           wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
           wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
@@ -429,7 +406,6 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       9)
       9)
         # Precona 5.6
         # Precona 5.6
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
@@ -437,20 +413,21 @@ checkDownload() {
           perconaVerStr1=$(echo ${percona56_ver} | sed "s@-@-rel@")
           perconaVerStr1=$(echo ${percona56_ver} | sed "s@-@-rel@")
           FILE_NAME=Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
           FILE_NAME=Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
           DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_ver}/binary/tarball
           DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_ver}/binary/tarball
-          PERCONA_TAR_MD5=$(curl -s https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_ver}/binary/tarball/${FILE_NAME}.md5sum |  grep ${FILE_NAME} | awk '{print $1}')
         elif [ "${dbinstallmethod}" == '2' ]; then
         elif [ "${dbinstallmethod}" == '2' ]; then
           echo "Download Percona 5.6 source package..."
           echo "Download Percona 5.6 source package..."
           FILE_NAME=percona-server-${percona56_ver}.tar.gz
           FILE_NAME=percona-server-${percona56_ver}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_PERCONA=${mirrorLink}
             DOWN_ADDR_PERCONA=${mirrorLink}
-            DOWN_ADDR_PERCONA_BK=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_ver}/source/tarball
-            PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${PERCONA_TAR_MD5}" ] && { DOWN_ADDR_PERCONA=${DOWN_ADDR_PERCONA_BK}; PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA_BK}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}'); }
           else
           else
             DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_ver}/source/tarball
             DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-${percona56_ver}/source/tarball
-            PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum |  grep ${FILE_NAME} | awk '{print $1}')
           fi
           fi
         fi
         fi
+        # start download
+        src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME} && Download_src
+        src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5 && Download_src
+        # verifying download
+        PERCONA_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${PERCONA_TAR_MD5}" ] && PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum |  grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
           wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
           wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
@@ -464,7 +441,6 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       10)
       10)
         # Percona 5.5
         # Percona 5.5
         if [ "${dbinstallmethod}" == '1' ]; then
         if [ "${dbinstallmethod}" == '1' ]; then
@@ -472,20 +448,21 @@ checkDownload() {
           perconaVerStr1=$(echo ${percona55_ver} | sed "s@-@-rel@")
           perconaVerStr1=$(echo ${percona55_ver} | sed "s@-@-rel@")
           FILE_NAME=Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
           FILE_NAME=Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}.tar.gz
           DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_ver}/binary/tarball
           DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_ver}/binary/tarball
-          PERCONA_TAR_MD5=$(curl -s https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_ver}/binary/tarball/${FILE_NAME}.md5sum |  grep ${FILE_NAME} | awk '{print $1}')
         elif [ "${dbinstallmethod}" == '2' ]; then
         elif [ "${dbinstallmethod}" == '2' ]; then
           echo "Download Percona 5.5 source package..."
           echo "Download Percona 5.5 source package..."
           FILE_NAME=percona-server-${percona55_ver}.tar.gz
           FILE_NAME=percona-server-${percona55_ver}.tar.gz
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
             DOWN_ADDR_PERCONA=${mirrorLink}
             DOWN_ADDR_PERCONA=${mirrorLink}
-            DOWN_ADDR_PERCONA_BK=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_ver}/source/tarball
-            PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
-            [ -z "${PERCONA_TAR_MD5}" ] && { DOWN_ADDR_PERCONA=${DOWN_ADDR_PERCONA_BK}; PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA_BK}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}'); }
           else
           else
             DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_ver}/source/tarball
             DOWN_ADDR_PERCONA=https://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-${percona55_ver}/source/tarball
-            PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum | grep ${FILE_NAME} | awk '{print $1}')
           fi
           fi
         fi
         fi
+        # start download
+        src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME} && Download_src
+        src_url=${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5 && Download_src
+        # verifying download
+        PERCONA_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${PERCONA_TAR_MD5}" ] && PERCONA_TAR_MD5=$(curl -s ${DOWN_ADDR_PERCONA}/${FILE_NAME}.md5sum |  grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PERCONA_TAR_MD5}" ]; do
           wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
           wget -c --no-check-certificate ${DOWN_ADDR_PERCONA}/${FILE_NAME}; sleep 1
@@ -499,37 +476,37 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-
       11)
       11)
         # AliSQL 5.6
         # AliSQL 5.6
         DOWN_ADDR_ALISQL=$mirrorLink
         DOWN_ADDR_ALISQL=$mirrorLink
         echo "Download AliSQL 5.6 source package..."
         echo "Download AliSQL 5.6 source package..."
         FILE_NAME=alisql-${alisql_ver}.tar.gz
         FILE_NAME=alisql-${alisql_ver}.tar.gz
-        wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_ALISQL}/${FILE_NAME}
-        wget -4 --tries=6 -c --no-check-certificate ${DOWN_ADDR_ALISQL}/${FILE_NAME}.md5
+        src_url=${DOWN_ADDR_ALISQL}/${FILE_NAME} && Download_src
+        src_url=${DOWN_ADDR_ALISQL}/${FILE_NAME}.md5 && Download_src
         ALISQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
         ALISQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${ALISQL_TAR_MD5}" ];do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${ALISQL_TAR_MD5}" ];do
           wget -4c --no-check-certificate ${DOWN_ADDR_ALISQL}/${FILE_NAME};sleep 1
           wget -4c --no-check-certificate ${DOWN_ADDR_ALISQL}/${FILE_NAME};sleep 1
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${ALISQL_TAR_MD5}" ] && break || continue
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${ALISQL_TAR_MD5}" ] && break || continue
         done
         done
         ;;
         ;;
-
-      12) 
-        # PostgreSQL 
+      12)
+        # PostgreSQL
         echo "Download PostgreSQL source package..."
         echo "Download PostgreSQL source package..."
         FILE_NAME=postgresql-${pgsql_ver}.tar.gz
         FILE_NAME=postgresql-${pgsql_ver}.tar.gz
         if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
         if [ "${IPADDR_COUNTRY}"x == "CN"x ]; then
           DOWN_ADDR_PGSQL=https://mirrors.tuna.tsinghua.edu.cn/postgresql/source/v${pgsql_ver}
           DOWN_ADDR_PGSQL=https://mirrors.tuna.tsinghua.edu.cn/postgresql/source/v${pgsql_ver}
-          PGSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_PGSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
-          [ -z "${PGSQL_TAR_MD5}" ] && { DOWN_ADDR_PGSQL=https://mirrors.ustc.edu.cn/postgresql/source/v${pgsql_ver}; PGSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_PGSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}'); }
+          DOWN_ADDR_PGSQL_BK=https://mirrors.ustc.edu.cn/postgresql/source/v${pgsql_ver}
         else
         else
           DOWN_ADDR_PGSQL=https://ftp.postgresql.org/pub/source/v${pgsql_ver}
           DOWN_ADDR_PGSQL=https://ftp.postgresql.org/pub/source/v${pgsql_ver}
-          PGSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_PGSQL}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
+          DOWN_ADDR_PGSQL_BK=https://ftp.heanet.ie/mirrors/postgresql/source/v${pgsql_ver}
         fi
         fi
-
+        src_url=${DOWN_ADDR_PGSQL}/${FILE_NAME} && Download_src
+        src_url=${DOWN_ADDR_PGSQL}/${FILE_NAME}.md5 && Download_src
+        PGSQL_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${PGSQL_TAR_MD5}" ] && PGSQL_TAR_MD5=$(curl -s ${DOWN_ADDR_PGSQL_BK}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PGSQL_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${PGSQL_TAR_MD5}" ]; do
-          wget -c --no-check-certificate ${DOWN_ADDR_PGSQL}/${FILE_NAME};sleep 1
+          wget -c --no-check-certificate ${DOWN_ADDR_PGSQL_BK}/${FILE_NAME};sleep 1
           let "tryDlCount++"
           let "tryDlCount++"
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PGSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
           [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" == "${PGSQL_TAR_MD5}" -o "${tryDlCount}" == '6' ] && break || continue
         done
         done
@@ -540,7 +517,7 @@ checkDownload() {
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
           echo "[${CMSG}${FILE_NAME}${CEND}] found."
         fi
         fi
         ;;
         ;;
-      13) 
+      13)
         # MongoDB
         # MongoDB
         echo "Download MongoDB binary package..."
         echo "Download MongoDB binary package..."
         FILE_NAME=mongodb-linux-${SYS_BIT_b}-${mongodb_ver}.tgz
         FILE_NAME=mongodb-linux-${SYS_BIT_b}-${mongodb_ver}.tgz
@@ -549,8 +526,10 @@ checkDownload() {
         else
         else
           DOWN_ADDR_MongoDB=https://fastdl.mongodb.org/linux
           DOWN_ADDR_MongoDB=https://fastdl.mongodb.org/linux
         fi
         fi
-        MongoDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MongoDB}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
-
+        src_url=${DOWN_ADDR_MongoDB}/${FILE_NAME} && Download_src
+        src_url=${DOWN_ADDR_MongoDB}/${FILE_NAME}.md5 && Download_src
+        MongoDB_TAR_MD5=$(awk '{print $1}' ${FILE_NAME}.md5)
+        [ -z "${MongoDB_TAR_MD5}" ] && MongoDB_TAR_MD5=$(curl -s ${DOWN_ADDR_MongoDB}/${FILE_NAME}.md5 | grep ${FILE_NAME} | awk '{print $1}')
         tryDlCount=0
         tryDlCount=0
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MongoDB_TAR_MD5}" ]; do
         while [ "$(md5sum ${FILE_NAME} | awk '{print $1}')" != "${MongoDB_TAR_MD5}" ]; do
           wget -c --no-check-certificate ${DOWN_ADDR_MongoDB}/${FILE_NAME};sleep 1
           wget -c --no-check-certificate ${DOWN_ADDR_MongoDB}/${FILE_NAME};sleep 1

+ 1 - 0
include/mariadb-10.0.sh

@@ -45,6 +45,7 @@ Install_MariaDB100() {
   fi
   fi
 
 
   if [ -d "${mariadb_install_dir}/support-files" ]; then
   if [ -d "${mariadb_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}MariaDB installed successfully! ${CEND}"
     echo "${CSUCCESS}MariaDB installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf mariadb-${mariadb100_ver}-*-${SYS_BIT_b}
       rm -rf mariadb-${mariadb100_ver}-*-${SYS_BIT_b}

+ 1 - 0
include/mariadb-10.1.sh

@@ -45,6 +45,7 @@ Install_MariaDB101() {
   fi
   fi
 
 
   if [ -d "${mariadb_install_dir}/support-files" ]; then
   if [ -d "${mariadb_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}MariaDB installed successfully! ${CEND}"
     echo "${CSUCCESS}MariaDB installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf mariadb-${mariadb101_ver}-*-${SYS_BIT_b}
       rm -rf mariadb-${mariadb101_ver}-*-${SYS_BIT_b}

+ 1 - 0
include/mariadb-10.2.sh

@@ -45,6 +45,7 @@ Install_MariaDB102() {
   fi
   fi
 
 
   if [ -d "${mariadb_install_dir}/support-files" ]; then
   if [ -d "${mariadb_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}MariaDB installed successfully! ${CEND}"
     echo "${CSUCCESS}MariaDB installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf mariadb-${mariadb102_ver}-*-${SYS_BIT_b}
       rm -rf mariadb-${mariadb102_ver}-*-${SYS_BIT_b}

+ 1 - 0
include/mariadb-5.5.sh

@@ -47,6 +47,7 @@ Install_MariaDB55() {
   fi
   fi
 
 
   if [ -d "${mariadb_install_dir}/support-files" ]; then
   if [ -d "${mariadb_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}MariaDB installed successfully! ${CEND}"
     echo "${CSUCCESS}MariaDB installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf mariadb-${mariadb55_ver}-*-${SYS_BIT_b}
       rm -rf mariadb-${mariadb55_ver}-*-${SYS_BIT_b}

+ 1 - 0
include/mongodb.sh

@@ -62,6 +62,7 @@ EOF
   sed -i 's@^#security:@security:@' /etc/mongod.conf 
   sed -i 's@^#security:@security:@' /etc/mongod.conf 
   sed -i 's@^#  authorization:@  authorization:@' /etc/mongod.conf 
   sed -i 's@^#  authorization:@  authorization:@' /etc/mongod.conf 
   if [ -e "${mongo_install_dir}/bin/mongo" ]; then
   if [ -e "${mongo_install_dir}/bin/mongo" ]; then
+    sed -i "s+^dbmongopwd.*+dbmongopwd='$dbmongopwd'+" ../options.conf
     echo "${CSUCCESS}MongoDB installed successfully! ${CEND}"
     echo "${CSUCCESS}MongoDB installed successfully! ${CEND}"
     rm -rf mongodb-linux-${SYS_BIT_b}-${mongodb_ver} 
     rm -rf mongodb-linux-${SYS_BIT_b}-${mongodb_ver} 
   else
   else

+ 1 - 0
include/mysql-5.5.sh

@@ -47,6 +47,7 @@ Install_MySQL55() {
   fi
   fi
 
 
   if [ -d "${mysql_install_dir}/support-files" ]; then
   if [ -d "${mysql_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}MySQL installed successfully! ${CEND}"
     echo "${CSUCCESS}MySQL installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf mysql-${mysql55_ver}-*-${SYS_BIT_b}
       rm -rf mysql-${mysql55_ver}-*-${SYS_BIT_b}

+ 1 - 0
include/mysql-5.6.sh

@@ -45,6 +45,7 @@ Install_MySQL56() {
   fi
   fi
 
 
   if [ -d "${mysql_install_dir}/support-files" ]; then
   if [ -d "${mysql_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}MySQL installed successfully! ${CEND}"
     echo "${CSUCCESS}MySQL installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf mysql-${mysql56_ver}-*-${SYS_BIT_b}
       rm -rf mysql-${mysql56_ver}-*-${SYS_BIT_b}

+ 1 - 0
include/mysql-5.7.sh

@@ -45,6 +45,7 @@ Install_MySQL57() {
   fi
   fi
 
 
   if [ -d "${mysql_install_dir}/support-files" ]; then
   if [ -d "${mysql_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}MySQL installed successfully! ${CEND}"
     echo "${CSUCCESS}MySQL installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf mysql-${mysql57_ver}-*-${SYS_BIT_b}
       rm -rf mysql-${mysql57_ver}-*-${SYS_BIT_b}

+ 1 - 0
include/percona-5.5.sh

@@ -48,6 +48,7 @@ Install_Percona55() {
   fi
   fi
 
 
   if [ -d "${percona_install_dir}/support-files" ]; then
   if [ -d "${percona_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}Percona installed successfully! ${CEND}"
     echo "${CSUCCESS}Percona installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}
       rm -rf Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}

+ 1 - 0
include/percona-5.6.sh

@@ -47,6 +47,7 @@ Install_Percona56() {
   fi
   fi
 
 
   if [ -d "${percona_install_dir}/support-files" ]; then
   if [ -d "${percona_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}Percona installed successfully! ${CEND}"
     echo "${CSUCCESS}Percona installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}
       rm -rf Percona-Server-${perconaVerStr1}-Linux.${SYS_BIT_b}.${sslLibVer}

+ 1 - 0
include/percona-5.7.sh

@@ -47,6 +47,7 @@ Install_Percona57() {
   fi
   fi
 
 
   if [ -d "${percona_install_dir}/support-files" ]; then
   if [ -d "${percona_install_dir}/support-files" ]; then
+    sed -i "s+^dbrootpwd.*+dbrootpwd='${dbrootpwd}'+" ../options.conf
     echo "${CSUCCESS}Percona installed successfully! ${CEND}"
     echo "${CSUCCESS}Percona installed successfully! ${CEND}"
     if [ "${dbinstallmethod}" == "1" ]; then
     if [ "${dbinstallmethod}" == "1" ]; then
       rm -rf Percona-Server-${percona57_ver}-Linux.${SYS_BIT_b}.${sslLibVer}
       rm -rf Percona-Server-${percona57_ver}-Linux.${SYS_BIT_b}.${sslLibVer}

+ 1 - 0
include/postgresql.sh

@@ -38,6 +38,7 @@ Install_PostgreSQL() {
   service postgresql reload
   service postgresql reload
 
 
   if [ -e "${pgsql_install_dir}/bin/psql" ]; then
   if [ -e "${pgsql_install_dir}/bin/psql" ]; then
+    sed -i "s+^dbpostgrespwd.*+dbpostgrespwd='$dbpostgrespwd'+" ../options.conf
     echo "${CSUCCESS}PostgreSQL installed successfully! ${CEND}"
     echo "${CSUCCESS}PostgreSQL installed successfully! ${CEND}"
     rm -rf postgresql-${pgsql_ver}
     rm -rf postgresql-${pgsql_ver}
   else
   else

+ 1 - 1
include/upgrade_oneinstack.sh

@@ -33,7 +33,7 @@ Upgrade_OneinStack() {
       sed -i "s@^${Key}=.*@${Key}=${Value}@" ./options.conf
       sed -i "s@^${Key}=.*@${Key}=${Value}@" ./options.conf
     done
     done
     rm -rf /tmp/{oneinstack.tar.gz,options.conf}
     rm -rf /tmp/{oneinstack.tar.gz,options.conf}
-    [ "$install_flag" == 'n' ] && rm -rf install.sh LICENSE README.md
+    [ "${install_flag}" == 'n' ] && rm -rf install.sh LICENSE README.md
     sed -i "s@^oneinstack_md5=.*@oneinstack_md5=${Latest_OneinStack_MD5}@" ./options.conf
     sed -i "s@^oneinstack_md5=.*@oneinstack_md5=${Latest_OneinStack_MD5}@" ./options.conf
     echo
     echo
     echo "${CSUCCESS}Congratulations! OneinStack upgrade successful! ${CEND}"
     echo "${CSUCCESS}Congratulations! OneinStack upgrade successful! ${CEND}"

+ 13 - 13
include/upgrade_web.sh

@@ -188,23 +188,23 @@ Upgrade_Apache() {
   pushd ${oneinstack_dir}/src > /dev/null
   pushd ${oneinstack_dir}/src > /dev/null
   [ ! -e "${apache_install_dir}/bin/httpd" ] && echo "${CWARNING}Apache is not installed on your system! ${CEND}" && exit 1
   [ ! -e "${apache_install_dir}/bin/httpd" ] && echo "${CWARNING}Apache is not installed on your system! ${CEND}" && exit 1
   OLD_apache_ver="`/usr/local/apache/bin/httpd -v | grep version | awk -F'/| ' '{print $4}'`"
   OLD_apache_ver="`/usr/local/apache/bin/httpd -v | grep version | awk -F'/| ' '{print $4}'`"
-  Apache_flag="`echo $OLD_apache_ver | awk -F. '{print $1 $2}'`"
+  Apache_flag="`echo ${OLD_apache_ver} | awk -F. '{print $1 $2}'`"
   Latest_apache_ver=`curl -s http://httpd.apache.org/download.cgi | awk "/#apache$Apache_flag/{print $2}" | head -1 | grep -oE "2\.[24]\.[0-9]+"`
   Latest_apache_ver=`curl -s http://httpd.apache.org/download.cgi | awk "/#apache$Apache_flag/{print $2}" | head -1 | grep -oE "2\.[24]\.[0-9]+"`
   echo
   echo
-  echo "Current Apache Version: ${CMSG}$OLD_apache_ver${CEND}"
+  echo "Current Apache Version: ${CMSG}${OLD_apache_ver}${CEND}"
   while :; do echo
   while :; do echo
     read -p "Please input upgrade Apache Version(Default: $Latest_apache_ver): " NEW_apache_ver
     read -p "Please input upgrade Apache Version(Default: $Latest_apache_ver): " NEW_apache_ver
-    [ -z "$NEW_apache_ver" ] && NEW_apache_ver=$Latest_apache_ver
-    if [ "$NEW_apache_ver" != "$OLD_apache_ver" ]; then
+    [ -z "${NEW_apache_ver}" ] && NEW_apache_ver=$Latest_apache_ver
+    if [ "${NEW_apache_ver}" != "${OLD_apache_ver}" ]; then
       if [ "$Apache_flag" == '24' ]; then
       if [ "$Apache_flag" == '24' ]; then
         src_url=http://archive.apache.org/dist/apr/apr-${apr_ver}.tar.gz && Download_src
         src_url=http://archive.apache.org/dist/apr/apr-${apr_ver}.tar.gz && Download_src
         src_url=http://archive.apache.org/dist/apr/apr-util-${apr_util_ver}.tar.gz && Download_src
         src_url=http://archive.apache.org/dist/apr/apr-util-${apr_util_ver}.tar.gz && Download_src
         tar xzf apr-${apr_ver}.tar.gz
         tar xzf apr-${apr_ver}.tar.gz
         tar xzf apr-util-${apr_util_ver}.tar.gz
         tar xzf apr-util-${apr_util_ver}.tar.gz
       fi
       fi
-      [ ! -e "httpd-$NEW_apache_ver.tar.gz" ] && wget --no-check-certificate -c http://mirrors.linuxeye.com/apache/httpd/httpd-$NEW_apache_ver.tar.gz > /dev/null 2>&1
-      if [ -e "httpd-$NEW_apache_ver.tar.gz" ]; then
-        echo "Download [${CMSG}apache-$NEW_apache_ver.tar.gz${CEND}] successfully! "
+      [ ! -e "httpd-${NEW_apache_ver}.tar.gz" ] && wget --no-check-certificate -c http://archive.apache.org/dist/httpd/httpd-${NEW_apache_ver}.tar.gz > /dev/null 2>&1
+      if [ -e "httpd-${NEW_apache_ver}.tar.gz" ]; then
+        echo "Download [${CMSG}apache-${NEW_apache_ver}.tar.gz${CEND}] successfully! "
         break
         break
       else
       else
         echo "${CWARNING}Apache version does not exist! ${CEND}"
         echo "${CWARNING}Apache version does not exist! ${CEND}"
@@ -214,12 +214,12 @@ Upgrade_Apache() {
     fi
     fi
   done
   done
 
 
-  if [ -e "httpd-$NEW_apache_ver.tar.gz" ]; then
-    echo "[${CMSG}httpd-$NEW_apache_ver.tar.gz${CEND}] found"
+  if [ -e "httpd-${NEW_apache_ver}.tar.gz" ]; then
+    echo "[${CMSG}httpd-${NEW_apache_ver}.tar.gz${CEND}] found"
     echo "Press Ctrl+c to cancel or Press any key to continue..."
     echo "Press Ctrl+c to cancel or Press any key to continue..."
     char=`get_char`
     char=`get_char`
-    tar xzf httpd-$NEW_apache_ver.tar.gz
-    pushd httpd-$NEW_apache_ver
+    tar xzf httpd-${NEW_apache_ver}.tar.gz
+    pushd httpd-${NEW_apache_ver}
     make clean
     make clean
     if [ "$Apache_flag" == '24' ]; then
     if [ "$Apache_flag" == '24' ]; then
       /bin/cp -R ../apr-${apr_ver} ./srclib/apr
       /bin/cp -R ../apr-${apr_ver} ./srclib/apr
@@ -239,8 +239,8 @@ Upgrade_Apache() {
       make install && unset LDFLAGS
       make install && unset LDFLAGS
       /etc/init.d/httpd start
       /etc/init.d/httpd start
       popd > /dev/null
       popd > /dev/null
-      echo "You have ${CMSG}successfully${CEND} upgrade from ${CWARNING}$OLD_apache_ver${CEND} to ${CWARNING}$NEW_apache_ver${CEND}"
-      rm -rf httpd-$NEW_apache_ver apr-${apr_ver} apr-util-${apr_util_ver}
+      echo "You have ${CMSG}successfully${CEND} upgrade from ${CWARNING}${OLD_apache_ver}${CEND} to ${CWARNING}${NEW_apache_ver}${CEND}"
+      rm -rf httpd-${NEW_apache_ver} apr-${apr_ver} apr-util-${apr_util_ver}
     else
     else
       echo "${CFAILURE}Upgrade Apache failed! ${CEND}"
       echo "${CFAILURE}Upgrade Apache failed! ${CEND}"
     fi
     fi

+ 51 - 56
install.sh

@@ -8,7 +8,7 @@
 #       https://oneinstack.com
 #       https://oneinstack.com
 #       https://github.com/lj2007331/oneinstack
 #       https://github.com/lj2007331/oneinstack
 
 
-export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 clear
 clear
 printf "
 printf "
 #######################################################################
 #######################################################################
@@ -32,12 +32,14 @@ pushd ${oneinstack_dir} > /dev/null
 ssh_port=22
 ssh_port=22
 phpcache_option=1
 phpcache_option=1
 dbrootpwd=`< /dev/urandom tr -dc A-Za-z0-9 | head -c8`
 dbrootpwd=`< /dev/urandom tr -dc A-Za-z0-9 | head -c8`
+dbpostgrespwd=`< /dev/urandom tr -dc A-Za-z0-9 | head -c8`
+dbmongopwd=`< /dev/urandom tr -dc A-Za-z0-9 | head -c8`
 xcachepwd=`< /dev/urandom tr -dc A-Za-z0-9 | head -c8`
 xcachepwd=`< /dev/urandom tr -dc A-Za-z0-9 | head -c8`
 dbinstallmethod=1
 dbinstallmethod=1
 
 
 version() {
 version() {
   echo "version: 1.7"
   echo "version: 1.7"
-  echo "updated date: 2018-03-22"
+  echo "updated date: 2018-03-25"
 }
 }
 
 
 showhelp() {
 showhelp() {
@@ -58,7 +60,7 @@ showhelp() {
   --pureftpd                  Install Pure-Ftpd
   --pureftpd                  Install Pure-Ftpd
   --redis                     Install Redis
   --redis                     Install Redis
   --memcached                 Install Memcached
   --memcached                 Install Memcached
-  --phpmyadmin                Install phpMyAdmin 
+  --phpmyadmin                Install phpMyAdmin
   --hhvm                      Install HHVM
   --hhvm                      Install HHVM
   --ssh_port [22]             SSH port, default: 22
   --ssh_port [22]             SSH port, default: 22
   --iptables                  Enable iptables
   --iptables                  Enable iptables
@@ -121,50 +123,43 @@ while :; do
       ;;
       ;;
     --db_option)
     --db_option)
       db_option=$2; shift 2
       db_option=$2; shift 2
-      [[ ! "${db_option}" =~ ^[1-9]$|^1[0-3]$ ]] && { echo "${CWARNING}db_option input error! Please only input number 1~13${CEND}"; exit 1; }
       db_yn=y
       db_yn=y
-      if [ "${db_option}" == '12' ]; then
+      if [[ "${db_option}" =~ ^[1-9]$|^1[0-1]$ ]]; then
+        [ -d "${db_install_dir}/support-files" ] && { echo "${CWARNING}MySQL already installed! ${CEND}"; db_yn=Other; }
+      elif [ "${db_option}" == '12' ]; then
         [ -e "${pgsql_install_dir}/bin/psql" ] && { echo "${CWARNING}PostgreSQL already installed! ${CEND}"; db_yn=Other; }
         [ -e "${pgsql_install_dir}/bin/psql" ] && { echo "${CWARNING}PostgreSQL already installed! ${CEND}"; db_yn=Other; }
       elif [ "${db_option}" == '13' ]; then
       elif [ "${db_option}" == '13' ]; then
         [ -e "${mongo_install_dir}/bin/mongo" ] && { echo "${CWARNING}MongoDB already installed! ${CEND}"; db_yn=Other; }
         [ -e "${mongo_install_dir}/bin/mongo" ] && { echo "${CWARNING}MongoDB already installed! ${CEND}"; db_yn=Other; }
       else
       else
-        [ -d "${db_install_dir}/support-files" ] && { echo "${CWARNING}MySQL already installed! ${CEND}"; db_yn=Other; }
+        echo "${CWARNING}db_option input error! Please only input number 1~13${CEND}"
+        exit 1
       fi
       fi
       ;;
       ;;
     --dbrootpwd)
     --dbrootpwd)
       dbrootpwd=$2; shift 2
       dbrootpwd=$2; shift 2
-      if [ "${db_yn}" == 'y' ]; then
-        if [ "${db_option}" == '12' ]; then
-          sed -i "s+^dbpostgrespwd.*+dbpostgrespwd='$dbrootpwd'+" ./options.conf
-          dbpostgrespwd="$dbrootpwd"
-        elif [ "${db_option}" == '13' ]; then
-          sed -i "s+^dbmongopwd.*+dbmongopwd='$dbrootpwd'+" ./options.conf
-          dbmongopwd="$dbrootpwd"
-        else
-          sed -i "s+^dbrootpwd.*+dbrootpwd='$dbrootpwd'+" ./options.conf
-        fi
-      fi
+      dbpostgrespwd="${dbrootpwd}"
+      dbmongopwd="${dbrootpwd}"
       ;;
       ;;
     --dbinstallmethod)
     --dbinstallmethod)
       dbinstallmethod=$2; shift 2
       dbinstallmethod=$2; shift 2
       [[ ! ${dbinstallmethod} =~ ^[1-2]$ ]] && { echo "${CWARNING}dbinstallmethod input error! Please only input number 1~2${CEND}"; exit 1; }
       [[ ! ${dbinstallmethod} =~ ^[1-2]$ ]] && { echo "${CWARNING}dbinstallmethod input error! Please only input number 1~2${CEND}"; exit 1; }
       ;;
       ;;
     --pureftpd)
     --pureftpd)
-      ftp_yn=y; shift 1 
+      ftp_yn=y; shift 1
       [ -e "${pureftpd_install_dir}/sbin/pure-ftpwho" ] && { echo "${CWARNING}Pure-FTPd already installed! ${CEND}"; ftp_yn=Other; }
       [ -e "${pureftpd_install_dir}/sbin/pure-ftpwho" ] && { echo "${CWARNING}Pure-FTPd already installed! ${CEND}"; ftp_yn=Other; }
       ;;
       ;;
     --redis)
     --redis)
-      redis_yn=y; shift 1 
+      redis_yn=y; shift 1
       ;;
       ;;
     --memcached)
     --memcached)
-      memcached_yn=y; shift 1 
+      memcached_yn=y; shift 1
       ;;
       ;;
     --phpmyadmin)
     --phpmyadmin)
-      phpmyadmin_yn=y; shift 1 
+      phpmyadmin_yn=y; shift 1
       [ -d "${wwwroot_dir}/default/phpMyAdmin" ] && { echo "${CWARNING}phpMyAdmin already installed! ${CEND}"; phpmyadmin_yn=Other; }
       [ -d "${wwwroot_dir}/default/phpMyAdmin" ] && { echo "${CWARNING}phpMyAdmin already installed! ${CEND}"; phpmyadmin_yn=Other; }
       ;;
       ;;
     --hhvm)
     --hhvm)
-      hhvm_yn=y; shift 1 
+      hhvm_yn=y; shift 1
       [ -e "/usr/bin/hhvm" ] && { echo "${CWARNING}HHVM already installed! ${CEND}"; hhvm_yn=Other; }
       [ -e "/usr/bin/hhvm" ] && { echo "${CWARNING}HHVM already installed! ${CEND}"; hhvm_yn=Other; }
       ;;
       ;;
     --ssh_port)
     --ssh_port)
@@ -172,10 +167,10 @@ while :; do
       [ ${ssh_port} -ne 22 >/dev/null 2>&1 -o ${ssh_port} -lt 1024 >/dev/null 2>&1 -a ${ssh_port} -gt 65535 >/dev/null 2>&1 ] && { echo "${CWARNING}ssh_port input error! Input range: 22,1025~65534${CEND}"; exit 1; }
       [ ${ssh_port} -ne 22 >/dev/null 2>&1 -o ${ssh_port} -lt 1024 >/dev/null 2>&1 -a ${ssh_port} -gt 65535 >/dev/null 2>&1 ] && { echo "${CWARNING}ssh_port input error! Input range: 22,1025~65534${CEND}"; exit 1; }
       ;;
       ;;
     --iptables)
     --iptables)
-      iptables_yn=y; shift 1 
+      iptables_yn=y; shift 1
       ;;
       ;;
     --reboot)
     --reboot)
-      reboot_yn=y; shift 1 
+      reboot_yn=y; shift 1
       ;;
       ;;
     --)
     --)
       shift
       shift
@@ -190,7 +185,7 @@ mkdir -p ${wwwroot_dir}/default ${wwwlogs_dir}
 [ -d /data ] && chmod 755 /data
 [ -d /data ] && chmod 755 /data
 # Use default SSH port 22. If you use another SSH port on your server
 # Use default SSH port 22. If you use another SSH port on your server
 if [ -e "/etc/ssh/sshd_config" ]; then
 if [ -e "/etc/ssh/sshd_config" ]; then
-  if [ ${ARG_NUM} == 0 ]; then 
+  if [ ${ARG_NUM} == 0 ]; then
     [ -z "`grep ^Port /etc/ssh/sshd_config`" ] && now_ssh_port=22 || now_ssh_port=`grep ^Port /etc/ssh/sshd_config | awk '{print $2}'`
     [ -z "`grep ^Port /etc/ssh/sshd_config`" ] && now_ssh_port=22 || now_ssh_port=`grep ^Port /etc/ssh/sshd_config | awk '{print $2}'`
     while :; do echo
     while :; do echo
       read -p "Please input SSH port(Default: ${now_ssh_port}): " ssh_port
       read -p "Please input SSH port(Default: ${now_ssh_port}): " ssh_port
@@ -210,7 +205,7 @@ if [ -e "/etc/ssh/sshd_config" ]; then
   fi
   fi
 fi
 fi
 
 
-if [ ${ARG_NUM} == 0 ]; then 
+if [ ${ARG_NUM} == 0 ]; then
   # check iptables
   # check iptables
   while :; do echo
   while :; do echo
     read -p "Do you want to enable iptables? [y/n]: " iptables_yn
     read -p "Do you want to enable iptables? [y/n]: " iptables_yn
@@ -220,7 +215,7 @@ if [ ${ARG_NUM} == 0 ]; then
       break
       break
     fi
     fi
   done
   done
-  
+
   # check Web server
   # check Web server
   while :; do echo
   while :; do echo
     read -p "Do you want to install Web server? [y/n]: " web_yn
     read -p "Do you want to install Web server? [y/n]: " web_yn
@@ -322,7 +317,7 @@ if [ ${ARG_NUM} == 0 ]; then
       break
       break
     fi
     fi
   done
   done
-  
+
   # choice database
   # choice database
   while :; do echo
   while :; do echo
     read -p "Do you want to install Database? [y/n]: " db_yn
     read -p "Do you want to install Database? [y/n]: " db_yn
@@ -358,27 +353,28 @@ if [ ${ARG_NUM} == 0 ]; then
             fi
             fi
             while :; do
             while :; do
               if [ "${db_option}" == '12' ]; then
               if [ "${db_option}" == '12' ]; then
-                read -p "Please input the postgres password of database(default: ${dbrootpwd}): " dbrootpwd
+                read -p "Please input the postgres password of PostgreSQL(default: ${dbpostgrespwd}): " dbpwd
+                [ -z "${dbpwd}" ] && dbpwd=${dbpostgrespwd}
+              elif [ "${db_option}" == '13' ]; then
+                read -p "Please input the root password of MongoDB(default: ${dbmongopwd}): " dbpwd
+                [ -z "${dbpwd}" ] && dbpwd=${dbmongopwd}
               else
               else
-                read -p "Please input the root password of database(default: ${dbrootpwd}): " dbrootpwd
+                read -p "Please input the root password of MySQL(default: ${dbrootpwd}): " dbpwd
+                [ -z "${dbpwd}" ] && dbpwd=${dbrootpwd}
               fi
               fi
-              [ -z "${dbrootpwd}" ] && dbrootpwd=${dbrootpwd}
-              [ -n "`echo $dbrootpwd | grep '[+|&]'`" ] && { echo "${CWARNING}input error,not contain a plus sign (+) and & ${CEND}"; continue; }
-              if (( ${#dbrootpwd} >= 5 )); then
+              [ -n "`echo ${dbpwd} | grep '[+|&]'`" ] && { echo "${CWARNING}input error,not contain a plus sign (+) and & ${CEND}"; continue; }
+              if (( ${#dbpwd} >= 5 )); then
                 if [ "${db_option}" == '12' ]; then
                 if [ "${db_option}" == '12' ]; then
-                  sed -i "s+^dbpostgrespwd.*+dbpostgrespwd='$dbrootpwd'+" ./options.conf
-                  dbpostgrespwd="$dbrootpwd"
+                  dbpostgrespwd=${dbpwd}
                 elif [ "${db_option}" == '13' ]; then
                 elif [ "${db_option}" == '13' ]; then
-                  sed -i "s+^dbmongopwd.*+dbmongopwd='$dbrootpwd'+" ./options.conf
-                  dbmongopwd="$dbrootpwd"
+                  dbmongopwd=${dbpwd}
                 else
                 else
-                  sed -i "s+^dbrootpwd.*+dbrootpwd='$dbrootpwd'+" ./options.conf
+                  dbrootpwd=${dbpwd}
                 fi
                 fi
                 break
                 break
               else
               else
                 echo "${CWARNING}password least 5 characters! ${CEND}"
                 echo "${CWARNING}password least 5 characters! ${CEND}"
               fi
               fi
-  
             done
             done
             # choose install methods
             # choose install methods
             if [[ "${db_option}" =~ ^[1-9]$|^10$ ]]; then
             if [[ "${db_option}" =~ ^[1-9]$|^10$ ]]; then
@@ -404,7 +400,7 @@ if [ ${ARG_NUM} == 0 ]; then
       break
       break
     fi
     fi
   done
   done
-  
+
   # check PHP
   # check PHP
   while :; do echo
   while :; do echo
     read -p "Do you want to install PHP? [y/n]: " php_yn
     read -p "Do you want to install PHP? [y/n]: " php_yn
@@ -430,7 +426,7 @@ if [ ${ARG_NUM} == 0 ]; then
             while :; do echo
             while :; do echo
               read -p "Do you want to install opcode cache of the PHP? [y/n]: " phpcache_yn
               read -p "Do you want to install opcode cache of the PHP? [y/n]: " phpcache_yn
               if [[ ! ${phpcache_yn} =~ ^[y,n]$ ]]; then
               if [[ ! ${phpcache_yn} =~ ^[y,n]$ ]]; then
-                  echo "${CWARNING}input error! Please only input 'y' or 'n'${CEND}"
+                echo "${CWARNING}input error! Please only input 'y' or 'n'${CEND}"
               else
               else
                 if [ "${phpcache_yn}" == 'y' ]; then
                 if [ "${phpcache_yn}" == 'y' ]; then
                   if [ ${php_option} == 1 ]; then
                   if [ ${php_option} == 1 ]; then
@@ -495,7 +491,7 @@ if [ ${ARG_NUM} == 0 ]; then
                       fi
                       fi
                     done
                     done
                   fi
                   fi
-                  if [[ ${php_option} =~ ^[5-6]$ ]]; then 
+                  if [[ ${php_option} =~ ^[5-6]$ ]]; then
                     while :; do
                     while :; do
                       echo 'Please select a opcode cache of the PHP:'
                       echo 'Please select a opcode cache of the PHP:'
                       echo -e "\t${CMSG}1${CEND}. Install Zend OPcache"
                       echo -e "\t${CMSG}1${CEND}. Install Zend OPcache"
@@ -516,9 +512,8 @@ if [ ${ARG_NUM} == 0 ]; then
             done
             done
             if [ "${phpcache_option}" == '2' ]; then
             if [ "${phpcache_option}" == '2' ]; then
               while :; do
               while :; do
-                read -p "Please input xcache admin password(default: ${xcachepwd}): " xcachepwd
-                [ -z "${xcachepwd}" ] && xcachepwd=${xcachepwd}
-                (( ${#xcachepwd} >= 5 )) && { xcachepwd_md5=`echo -n "${xcachepwd}" | md5sum | awk '{print $1}'` ; break ; } || echo "${CFAILURE}xcache admin password least 5 characters! ${CEND}"
+                read -p "Please input xcache admin password: " xcachepwd
+                (( ${#xcachepwd} >= 5 )) && { xcachepwd_md5=$(echo -n "${xcachepwd}" | md5sum | awk '{print $1}') ; break ; } || echo "${CFAILURE}xcache admin password least 5 characters! ${CEND}"
               done
               done
             fi
             fi
             if [[ ${php_option} =~ ^[1-4]$ ]] && [ "${phpcache_option}" != '1' -a "${armplatform}" != "y" ]; then
             if [[ ${php_option} =~ ^[1-4]$ ]] && [ "${phpcache_option}" != '1' -a "${armplatform}" != "y" ]; then
@@ -531,7 +526,7 @@ if [ ${ARG_NUM} == 0 ]; then
                 fi
                 fi
               done
               done
             fi
             fi
-  
+
             # ionCube
             # ionCube
             if [ "${TARGET_ARCH}" != "arm64" ]; then
             if [ "${TARGET_ARCH}" != "arm64" ]; then
               while :; do echo
               while :; do echo
@@ -543,7 +538,7 @@ if [ ${ARG_NUM} == 0 ]; then
                 fi
                 fi
               done
               done
             fi
             fi
-  
+
             # ImageMagick or GraphicsMagick
             # ImageMagick or GraphicsMagick
             while :; do echo
             while :; do echo
               read -p "Do you want to install ImageMagick or GraphicsMagick? [y/n]: " magick_yn
               read -p "Do you want to install ImageMagick or GraphicsMagick? [y/n]: " magick_yn
@@ -553,7 +548,7 @@ if [ ${ARG_NUM} == 0 ]; then
                 break
                 break
               fi
               fi
             done
             done
-  
+
             if [ "${magick_yn}" == 'y' ]; then
             if [ "${magick_yn}" == 'y' ]; then
               while :; do
               while :; do
                 echo 'Please select ImageMagick or GraphicsMagick:'
                 echo 'Please select ImageMagick or GraphicsMagick:'
@@ -575,7 +570,7 @@ if [ ${ARG_NUM} == 0 ]; then
       break
       break
     fi
     fi
   done
   done
-  
+
   # check Pureftpd
   # check Pureftpd
   while :; do echo
   while :; do echo
     read -p "Do you want to install Pure-FTPd? [y/n]: " ftp_yn
     read -p "Do you want to install Pure-FTPd? [y/n]: " ftp_yn
@@ -586,7 +581,7 @@ if [ ${ARG_NUM} == 0 ]; then
       break
       break
     fi
     fi
   done
   done
-  
+
   # check phpMyAdmin
   # check phpMyAdmin
   if [[ ${php_option} =~ ^[1-7]$ ]] || [ -e "${php_install_dir}/bin/phpize" ]; then
   if [[ ${php_option} =~ ^[1-7]$ ]] || [ -e "${php_install_dir}/bin/phpize" ]; then
     while :; do echo
     while :; do echo
@@ -599,7 +594,7 @@ if [ ${ARG_NUM} == 0 ]; then
       fi
       fi
     done
     done
   fi
   fi
-  
+
   # check redis
   # check redis
   while :; do echo
   while :; do echo
     read -p "Do you want to install redis? [y/n]: " redis_yn
     read -p "Do you want to install redis? [y/n]: " redis_yn
@@ -609,7 +604,7 @@ if [ ${ARG_NUM} == 0 ]; then
       break
       break
     fi
     fi
   done
   done
-  
+
   # check memcached
   # check memcached
   while :; do echo
   while :; do echo
     read -p "Do you want to install memcached? [y/n]: " memcached_yn
     read -p "Do you want to install memcached? [y/n]: " memcached_yn
@@ -619,7 +614,7 @@ if [ ${ARG_NUM} == 0 ]; then
       break
       break
     fi
     fi
   done
   done
-  
+
   while :; do echo
   while :; do echo
     read -p "Do you want to install HHVM? [y/n]: " hhvm_yn
     read -p "Do you want to install HHVM? [y/n]: " hhvm_yn
     if [[ ! ${hhvm_yn} =~ ^[y,n]$ ]]; then
     if [[ ! ${hhvm_yn} =~ ^[y,n]$ ]]; then
@@ -696,7 +691,7 @@ if [[ ${nginx_option} =~ ^[1-3]$ ]] || [ "${db_yn}" == 'y' ]; then
   Install_Jemalloc | tee -a ${oneinstack_dir}/install.log
   Install_Jemalloc | tee -a ${oneinstack_dir}/install.log
 fi
 fi
 
 
-# openSSL 
+# openSSL
 . ./include/openssl.sh
 . ./include/openssl.sh
 if [[ ${tomcat_option} =~ ^[1-3]$ ]] || [[ ${apache_option} =~ ^[1-2]$ ]] || [[ ${php_option} =~ ^[1-7]$ ]]; then
 if [[ ${tomcat_option} =~ ^[1-3]$ ]] || [[ ${apache_option} =~ ^[1-2]$ ]] || [[ ${php_option} =~ ^[1-7]$ ]]; then
   Install_openSSL102 | tee -a ${oneinstack_dir}/install.log
   Install_openSSL102 | tee -a ${oneinstack_dir}/install.log
@@ -987,7 +982,7 @@ echo "Total OneinStack Install Time: ${CQUESTION}${installTime}${CEND} minutes"
 [ "${db_option}" == '13' ] && echo "$(printf "%-32s" "MongoDB user:")${CMSG}root${CEND}"
 [ "${db_option}" == '13' ] && echo "$(printf "%-32s" "MongoDB user:")${CMSG}root${CEND}"
 [ "${db_option}" == '13' ] && echo "$(printf "%-32s" "MongoDB password:")${CMSG}${dbmongopwd}${CEND}"
 [ "${db_option}" == '13' ] && echo "$(printf "%-32s" "MongoDB password:")${CMSG}${dbmongopwd}${CEND}"
 [ "${php_yn}" == 'y' ] && echo -e "\n$(printf "%-32s" "PHP install dir:")${CMSG}${php_install_dir}${CEND}"
 [ "${php_yn}" == 'y' ] && echo -e "\n$(printf "%-32s" "PHP install dir:")${CMSG}${php_install_dir}${CEND}"
-[ "${phpcache_option}" == '1' ] && echo "$(printf "%-32s" "Opcache Control Panel URL:")${CMSG}http://${IPADDR}/ocp.php${CEND}"
+[ "${php_yn}" == 'y' -a "${phpcache_option}" == '1' ] && echo "$(printf "%-32s" "Opcache Control Panel URL:")${CMSG}http://${IPADDR}/ocp.php${CEND}"
 [ "${phpcache_option}" == '2' ] && echo "$(printf "%-32s" "xcache Control Panel URL:")${CMSG}http://${IPADDR}/xcache${CEND}"
 [ "${phpcache_option}" == '2' ] && echo "$(printf "%-32s" "xcache Control Panel URL:")${CMSG}http://${IPADDR}/xcache${CEND}"
 [ "${phpcache_option}" == '2' ] && echo "$(printf "%-32s" "xcache user:")${CMSG}admin${CEND}"
 [ "${phpcache_option}" == '2' ] && echo "$(printf "%-32s" "xcache user:")${CMSG}admin${CEND}"
 [ "${phpcache_option}" == '2' ] && echo "$(printf "%-32s" "xcache password:")${CMSG}${xcachepwd}${CEND}"
 [ "${phpcache_option}" == '2' ] && echo "$(printf "%-32s" "xcache password:")${CMSG}${xcachepwd}${CEND}"
@@ -1002,7 +997,7 @@ echo "Total OneinStack Install Time: ${CQUESTION}${installTime}${CEND} minutes"
 [ "${redis_yn}" == 'y' ] && echo -e "\n$(printf "%-32s" "redis install dir:")${CMSG}${redis_install_dir}${CEND}"
 [ "${redis_yn}" == 'y' ] && echo -e "\n$(printf "%-32s" "redis install dir:")${CMSG}${redis_install_dir}${CEND}"
 [ "${memcached_yn}" == 'y' ] && echo -e "\n$(printf "%-32s" "memcached install dir:")${CMSG}${memcached_install_dir}${CEND}"
 [ "${memcached_yn}" == 'y' ] && echo -e "\n$(printf "%-32s" "memcached install dir:")${CMSG}${memcached_install_dir}${CEND}"
 [ "${web_yn}" == 'y' ] && echo -e "\n$(printf "%-32s" "Index URL:")${CMSG}http://${IPADDR}/${CEND}"
 [ "${web_yn}" == 'y' ] && echo -e "\n$(printf "%-32s" "Index URL:")${CMSG}http://${IPADDR}/${CEND}"
-if [ ${ARG_NUM} == 0 ]; then 
+if [ ${ARG_NUM} == 0 ]; then
   while :; do echo
   while :; do echo
     echo "${CMSG}Please restart the server and see if the services start up fine.${CEND}"
     echo "${CMSG}Please restart the server and see if the services start up fine.${CEND}"
     read -p "Do you want to restart OS ? [y/n]: " restart_yn
     read -p "Do you want to restart OS ? [y/n]: " restart_yn

+ 1 - 1
pureftpd_vhost.sh

@@ -8,7 +8,7 @@
 #       https://oneinstack.com
 #       https://oneinstack.com
 #       https://github.com/lj2007331/oneinstack
 #       https://github.com/lj2007331/oneinstack
 
 
-export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 clear
 clear
 printf "
 printf "
 #######################################################################
 #######################################################################

+ 2 - 2
reset_db_root_password.sh

@@ -8,7 +8,7 @@
 #       https://oneinstack.com
 #       https://oneinstack.com
 #       https://github.com/lj2007331/oneinstack
 #       https://github.com/lj2007331/oneinstack
 
 
-export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 clear
 clear
 printf "
 printf "
 #######################################################################
 #######################################################################
@@ -31,7 +31,7 @@ Input_db_root_password() {
     (( ${#New_dbrootpwd} >= 5 )) && break || echo "${CWARNING}database root password least 5 characters! ${CEND}"
     (( ${#New_dbrootpwd} >= 5 )) && break || echo "${CWARNING}database root password least 5 characters! ${CEND}"
   done
   done
 }
 }
-  
+
 Reset_db_root_password() {
 Reset_db_root_password() {
   ${db_install_dir}/bin/mysqladmin -uroot -p"$dbrootpwd" password "$New_dbrootpwd" -h localhost > /dev/null 2>&1
   ${db_install_dir}/bin/mysqladmin -uroot -p"$dbrootpwd" password "$New_dbrootpwd" -h localhost > /dev/null 2>&1
   status_Localhost=`echo $?`
   status_Localhost=`echo $?`

+ 3 - 3
ss.sh

@@ -9,7 +9,7 @@
 #       https://oneinstack.com
 #       https://oneinstack.com
 #       https://github.com/lj2007331/oneinstack
 #       https://github.com/lj2007331/oneinstack
 
 
-export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 clear
 clear
 printf "
 printf "
 #######################################################################
 #######################################################################
@@ -121,7 +121,7 @@ Install_SS-python() {
   ${python_install_dir}/bin/pip install greenlet
   ${python_install_dir}/bin/pip install greenlet
   ${python_install_dir}/bin/pip install gevent
   ${python_install_dir}/bin/pip install gevent
   ${python_install_dir}/bin/pip install shadowsocks
   ${python_install_dir}/bin/pip install shadowsocks
-  if [ -f ${python_install_dir}/bin/ssserver ]; then 
+  if [ -f ${python_install_dir}/bin/ssserver ]; then
     /bin/cp ../init.d/SS-python-init /etc/init.d/shadowsocks
     /bin/cp ../init.d/SS-python-init /etc/init.d/shadowsocks
     chmod +x /etc/init.d/shadowsocks
     chmod +x /etc/init.d/shadowsocks
     sed -i "s@SS_bin=.*@SS_bin=${python_install_dir}/bin/ssserver@" /etc/init.d/shadowsocks
     sed -i "s@SS_bin=.*@SS_bin=${python_install_dir}/bin/ssserver@" /etc/init.d/shadowsocks
@@ -140,7 +140,7 @@ Install_SS-libev() {
   src_url=http://mirrors.linuxeye.com/oneinstack/src/mbedtls-2.7.0-apache.tgz && Download_src
   src_url=http://mirrors.linuxeye.com/oneinstack/src/mbedtls-2.7.0-apache.tgz && Download_src
   tar xzf shadowsocks-libev-3.1.3.tar.gz
   tar xzf shadowsocks-libev-3.1.3.tar.gz
   tar xzf libsodium-1.0.16.tar.gz
   tar xzf libsodium-1.0.16.tar.gz
-  tar xzf mbedtls-2.7.0-apache.tgz 
+  tar xzf mbedtls-2.7.0-apache.tgz
   pushd libsodium-1.0.16
   pushd libsodium-1.0.16
   ./configure
   ./configure
   make -j ${THREAD} && make install
   make -j ${THREAD} && make install

+ 16 - 16
uninstall.sh

@@ -8,7 +8,7 @@
 #       https://oneinstack.com
 #       https://oneinstack.com
 #       https://github.com/lj2007331/oneinstack
 #       https://github.com/lj2007331/oneinstack
 
 
-export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 clear
 clear
 printf "
 printf "
 #######################################################################
 #######################################################################
@@ -67,11 +67,11 @@ Print_web() {
   [ -d "${openresty_install_dir}" ] && echo "${openresty_install_dir}"
   [ -d "${openresty_install_dir}" ] && echo "${openresty_install_dir}"
   [ -e "/etc/init.d/nginx" ] && echo '/etc/init.d/nginx'
   [ -e "/etc/init.d/nginx" ] && echo '/etc/init.d/nginx'
   [ -e "/etc/logrotate.d/nginx" ] && echo '/etc/logrotate.d/nginx'
   [ -e "/etc/logrotate.d/nginx" ] && echo '/etc/logrotate.d/nginx'
-  
+
   [ -d "${apache_install_dir}" ] && echo "${apache_install_dir}"
   [ -d "${apache_install_dir}" ] && echo "${apache_install_dir}"
   [ -e "/etc/init.d/httpd" ] && echo "/etc/init.d/httpd"
   [ -e "/etc/init.d/httpd" ] && echo "/etc/init.d/httpd"
   [ -e "/etc/logrotate.d/apache" ] && echo "/etc/logrotate.d/apache"
   [ -e "/etc/logrotate.d/apache" ] && echo "/etc/logrotate.d/apache"
-  
+
   [ -d "${tomcat_install_dir}" ] && echo "${tomcat_install_dir}"
   [ -d "${tomcat_install_dir}" ] && echo "${tomcat_install_dir}"
   [ -e "/etc/init.d/tomcat" ] && echo "/etc/init.d/tomcat"
   [ -e "/etc/init.d/tomcat" ] && echo "/etc/init.d/tomcat"
   [ -e "/etc/logrotate.d/tomcat" ] && echo "/etc/logrotate.d/tomcat"
   [ -e "/etc/logrotate.d/tomcat" ] && echo "/etc/logrotate.d/tomcat"
@@ -111,7 +111,7 @@ Print_MongoDB() {
 }
 }
 
 
 Uninstall_MySQL() {
 Uninstall_MySQL() {
-  # uninstall mysql,mariadb,percona,alisql 
+  # uninstall mysql,mariadb,percona,alisql
   if [ -d "${db_install_dir}/support-files" ]; then
   if [ -d "${db_install_dir}/support-files" ]; then
     service mysqld stop > /dev/null 2>&1
     service mysqld stop > /dev/null 2>&1
     rm -rf ${db_install_dir} /etc/init.d/mysqld /etc/my.cnf /etc/ld.so.conf.d/{mysql,mariadb,percona,alisql}*.conf
     rm -rf ${db_install_dir} /etc/init.d/mysqld /etc/my.cnf /etc/ld.so.conf.d/{mysql,mariadb,percona,alisql}*.conf
@@ -130,8 +130,8 @@ Uninstall_PostgreSQL() {
   if [ -e "${pgsql_install_dir}/bin/psql" ]; then
   if [ -e "${pgsql_install_dir}/bin/psql" ]; then
     service postgresql stop > /dev/null 2>&1
     service postgresql stop > /dev/null 2>&1
     rm -rf ${pgsql_install_dir} /etc/init.d/postgresql
     rm -rf ${pgsql_install_dir} /etc/init.d/postgresql
-    [ -e "${php_install_dir}/etc/php.d/07-pgsql.ini" ] && rm -rf ${php_install_dir}/etc/php.d/07-pgsql.ini 
-    id -u postgres >/dev/null 2>&1 ; [ $? -eq 0 ] && userdel postgres 
+    [ -e "${php_install_dir}/etc/php.d/07-pgsql.ini" ] && rm -rf ${php_install_dir}/etc/php.d/07-pgsql.ini
+    id -u postgres >/dev/null 2>&1 ; [ $? -eq 0 ] && userdel postgres
     [ -e "${pgsql_data_dir}" ] && /bin/mv ${pgsql_data_dir}{,$(date +%Y%m%d%H)}
     [ -e "${pgsql_data_dir}" ] && /bin/mv ${pgsql_data_dir}{,$(date +%Y%m%d%H)}
     sed -i 's@^dbpostgrespwd=.*@dbpostgrespwd=@' ./options.conf
     sed -i 's@^dbpostgrespwd=.*@dbpostgrespwd=@' ./options.conf
     sed -i "s@${pgsql_install_dir}/bin:@@" /etc/profile
     sed -i "s@${pgsql_install_dir}/bin:@@" /etc/profile
@@ -142,13 +142,13 @@ Uninstall_PostgreSQL() {
 }
 }
 
 
 Uninstall_MongoDB() {
 Uninstall_MongoDB() {
-  # uninstall mongodb 
+  # uninstall mongodb
   if [ -e "${mongo_install_dir}/bin/mongo" ]; then
   if [ -e "${mongo_install_dir}/bin/mongo" ]; then
     service mongod stop > /dev/null 2>&1
     service mongod stop > /dev/null 2>&1
     rm -rf ${mongo_install_dir} /etc/mongod.conf /etc/init.d/mongod /tmp/mongo*.sock
     rm -rf ${mongo_install_dir} /etc/mongod.conf /etc/init.d/mongod /tmp/mongo*.sock
-    [ -e "${php_install_dir}/etc/php.d/07-mongo.ini" ] && rm -rf ${php_install_dir}/etc/php.d/07-mongo.ini 
-    [ -e "${php_install_dir}/etc/php.d/07-mongodb.ini" ] && rm -rf ${php_install_dir}/etc/php.d/07-mongodb.ini 
-    id -u mongod > /dev/null 2>&1 ; [ $? -eq 0 ] && userdel mongod 
+    [ -e "${php_install_dir}/etc/php.d/07-mongo.ini" ] && rm -rf ${php_install_dir}/etc/php.d/07-mongo.ini
+    [ -e "${php_install_dir}/etc/php.d/07-mongodb.ini" ] && rm -rf ${php_install_dir}/etc/php.d/07-mongodb.ini
+    id -u mongod > /dev/null 2>&1 ; [ $? -eq 0 ] && userdel mongod
     [ -e "${mongo_data_dir}" ] && /bin/mv ${mongo_data_dir}{,$(date +%Y%m%d%H)}
     [ -e "${mongo_data_dir}" ] && /bin/mv ${mongo_data_dir}{,$(date +%Y%m%d%H)}
     sed -i 's@^dbmongopwd=.*@dbmongopwd=@' ./options.conf
     sed -i 's@^dbmongopwd=.*@dbmongopwd=@' ./options.conf
     sed -i "s@${mongo_install_dir}/bin:@@" /etc/profile
     sed -i "s@${mongo_install_dir}/bin:@@" /etc/profile
@@ -205,7 +205,7 @@ Print_Redis() {
 
 
 Uninstall_Redis() {
 Uninstall_Redis() {
   [ -e "$redis_install_dir" ] && { service redis-server stop > /dev/null 2>&1; rm -rf $redis_install_dir /etc/init.d/redis-server /usr/local/bin/redis-*; }
   [ -e "$redis_install_dir" ] && { service redis-server stop > /dev/null 2>&1; rm -rf $redis_install_dir /etc/init.d/redis-server /usr/local/bin/redis-*; }
-  [ -e "${php_install_dir}/etc/php.d/05-redis.ini" ] && rm -rf ${php_install_dir}/etc/php.d/05-redis.ini 
+  [ -e "${php_install_dir}/etc/php.d/05-redis.ini" ] && rm -rf ${php_install_dir}/etc/php.d/05-redis.ini
   echo "${CMSG}Redis uninstall completed! ${CEND}"
   echo "${CMSG}Redis uninstall completed! ${CEND}"
 }
 }
 
 
@@ -217,8 +217,8 @@ Print_Memcached() {
 
 
 Uninstall_Memcached() {
 Uninstall_Memcached() {
   [ -e "${memcached_install_dir}" ] && { service memcached stop > /dev/null 2>&1; rm -rf ${memcached_install_dir} /etc/init.d/memcached /usr/bin/memcached; }
   [ -e "${memcached_install_dir}" ] && { service memcached stop > /dev/null 2>&1; rm -rf ${memcached_install_dir} /etc/init.d/memcached /usr/bin/memcached; }
-  [ -e "${php_install_dir}/etc/php.d/05-memcache.ini" ] && rm -rf ${php_install_dir}/etc/php.d/05-memcache.ini 
-  [ -e "${php_install_dir}/etc/php.d/05-memcached.ini" ] && rm -rf ${php_install_dir}/etc/php.d/05-memcached.ini 
+  [ -e "${php_install_dir}/etc/php.d/05-memcache.ini" ] && rm -rf ${php_install_dir}/etc/php.d/05-memcache.ini
+  [ -e "${php_install_dir}/etc/php.d/05-memcached.ini" ] && rm -rf ${php_install_dir}/etc/php.d/05-memcached.ini
   echo "${CMSG}Memcached uninstall completed! ${CEND}"
   echo "${CMSG}Memcached uninstall completed! ${CEND}"
 }
 }
 
 
@@ -239,8 +239,8 @@ What Are You Doing?
 \t${CMSG}0${CEND}. Uninstall All
 \t${CMSG}0${CEND}. Uninstall All
 \t${CMSG}1${CEND}. Uninstall Nginx/Tengine/Apache/Tomcat
 \t${CMSG}1${CEND}. Uninstall Nginx/Tengine/Apache/Tomcat
 \t${CMSG}2${CEND}. Uninstall MySQL/MariaDB/Percona/AliSQL
 \t${CMSG}2${CEND}. Uninstall MySQL/MariaDB/Percona/AliSQL
-\t${CMSG}3${CEND}. Uninstall PostgreSQL 
-\t${CMSG}4${CEND}. Uninstall MongoDB 
+\t${CMSG}3${CEND}. Uninstall PostgreSQL
+\t${CMSG}4${CEND}. Uninstall MongoDB
 \t${CMSG}5${CEND}. Uninstall PHP
 \t${CMSG}5${CEND}. Uninstall PHP
 \t${CMSG}6${CEND}. Uninstall HHVM
 \t${CMSG}6${CEND}. Uninstall HHVM
 \t${CMSG}7${CEND}. Uninstall PureFtpd
 \t${CMSG}7${CEND}. Uninstall PureFtpd
@@ -272,7 +272,7 @@ What Are You Doing?
         Uninstall_Web
         Uninstall_Web
         Uninstall_MySQL
         Uninstall_MySQL
         Uninstall_PostgreSQL
         Uninstall_PostgreSQL
-        Uninstall_MongoDB 
+        Uninstall_MongoDB
         Uninstall_PHP
         Uninstall_PHP
         Uninstall_HHVM
         Uninstall_HHVM
         Uninstall_PureFtpd
         Uninstall_PureFtpd

+ 10 - 10
upgrade.sh

@@ -8,12 +8,12 @@
 #       https://oneinstack.com
 #       https://oneinstack.com
 #       https://github.com/lj2007331/oneinstack
 #       https://github.com/lj2007331/oneinstack
 
 
-export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 clear
 clear
 printf "
 printf "
 #######################################################################
 #######################################################################
 #       OneinStack for CentOS/RadHat 6+ Debian 7+ and Ubuntu 12+      #
 #       OneinStack for CentOS/RadHat 6+ Debian 7+ and Ubuntu 12+      #
-#              Upgrade Software versions for OneinStack               # 
+#              Upgrade Software versions for OneinStack               #
 #       For more information please visit https://oneinstack.com      #
 #       For more information please visit https://oneinstack.com      #
 #######################################################################
 #######################################################################
 "
 "
@@ -48,9 +48,9 @@ ${CMSG}web${CEND}            --->Upgrade Nginx/Tengine/OpenResty/Apache
 ${CMSG}db${CEND}             --->Upgrade MySQL/MariaDB/Percona
 ${CMSG}db${CEND}             --->Upgrade MySQL/MariaDB/Percona
 ${CMSG}php${CEND}            --->Upgrade PHP
 ${CMSG}php${CEND}            --->Upgrade PHP
 ${CMSG}redis${CEND}          --->Upgrade Redis
 ${CMSG}redis${CEND}          --->Upgrade Redis
-${CMSG}memcached${CEND}      --->Upgrade Memcached 
+${CMSG}memcached${CEND}      --->Upgrade Memcached
 ${CMSG}phpmyadmin${CEND}     --->Upgrade phpMyAdmin
 ${CMSG}phpmyadmin${CEND}     --->Upgrade phpMyAdmin
-${CMSG}oneinstack${CEND}     --->Upgrade OneinStack 
+${CMSG}oneinstack${CEND}     --->Upgrade OneinStack
 ${CMSG}acme.sh${CEND}        --->Upgrade acme.sh
 ${CMSG}acme.sh${CEND}        --->Upgrade acme.sh
 
 
 "
 "
@@ -64,10 +64,10 @@ What Are You Doing?
 \t${CMSG}2${CEND}. Upgrade MySQL/MariaDB/Percona
 \t${CMSG}2${CEND}. Upgrade MySQL/MariaDB/Percona
 \t${CMSG}3${CEND}. Upgrade PHP
 \t${CMSG}3${CEND}. Upgrade PHP
 \t${CMSG}4${CEND}. Upgrade Redis
 \t${CMSG}4${CEND}. Upgrade Redis
-\t${CMSG}5${CEND}. Upgrade Memcached 
+\t${CMSG}5${CEND}. Upgrade Memcached
 \t${CMSG}6${CEND}. Upgrade phpMyAdmin
 \t${CMSG}6${CEND}. Upgrade phpMyAdmin
 \t${CMSG}7${CEND}. Upgrade OneinStack
 \t${CMSG}7${CEND}. Upgrade OneinStack
-\t${CMSG}8${CEND}. Upgrade acme.sh 
+\t${CMSG}8${CEND}. Upgrade acme.sh
 \t${CMSG}q${CEND}. Exit
 \t${CMSG}q${CEND}. Exit
 "
 "
     echo
     echo
@@ -84,7 +84,7 @@ What Are You Doing?
           elif [ -e "$openresty_install_dir/nginx/sbin/nginx" ]; then
           elif [ -e "$openresty_install_dir/nginx/sbin/nginx" ]; then
             Upgrade_OpenResty
             Upgrade_OpenResty
           elif [ -e "${apache_install_dir}/conf/httpd.conf" ]; then
           elif [ -e "${apache_install_dir}/conf/httpd.conf" ]; then
-            Upgrade_Apache 
+            Upgrade_Apache
           fi
           fi
           ;;
           ;;
         2)
         2)
@@ -103,7 +103,7 @@ What Are You Doing?
           Upgrade_phpMyAdmin
           Upgrade_phpMyAdmin
           ;;
           ;;
         7)
         7)
-          Upgrade_OneinStack 
+          Upgrade_OneinStack
           ;;
           ;;
         8)
         8)
           [ -e ~/.acme.sh/acme.sh ] && { ~/.acme.sh/acme.sh --upgrade; ~/.acme.sh/acme.sh --version; }
           [ -e ~/.acme.sh/acme.sh ] && { ~/.acme.sh/acme.sh --upgrade; ~/.acme.sh/acme.sh --version; }
@@ -128,7 +128,7 @@ elif [ $# == 1 ]; then
       elif [ -e "$openresty_install_dir/nginx/sbin/nginx" ]; then
       elif [ -e "$openresty_install_dir/nginx/sbin/nginx" ]; then
         Upgrade_OpenResty
         Upgrade_OpenResty
       elif [ -e "${apache_install_dir}/conf/httpd.conf" ]; then
       elif [ -e "${apache_install_dir}/conf/httpd.conf" ]; then
-        Upgrade_Apache 
+        Upgrade_Apache
       fi
       fi
       ;;
       ;;
     db)
     db)
@@ -147,7 +147,7 @@ elif [ $# == 1 ]; then
       Upgrade_phpMyAdmin
       Upgrade_phpMyAdmin
       ;;
       ;;
     oneinstack)
     oneinstack)
-      Upgrade_OneinStack 
+      Upgrade_OneinStack
       ;;
       ;;
     acme.sh)
     acme.sh)
       [ -e ~/.acme.sh/acme.sh ] && { ~/.acme.sh/acme.sh --upgrade; ~/.acme.sh/acme.sh --version; }
       [ -e ~/.acme.sh/acme.sh ] && { ~/.acme.sh/acme.sh --upgrade; ~/.acme.sh/acme.sh --version; }

+ 2 - 2
versions.txt

@@ -9,7 +9,7 @@ tomcat8_ver=8.5.28
 tomcat7_ver=7.0.85
 tomcat7_ver=7.0.85
 tomcat6_ver=6.0.53
 tomcat6_ver=6.0.53
 
 
-apache24_ver=2.4.32
+apache24_ver=2.4.33
 apache22_ver=2.2.34
 apache22_ver=2.2.34
 pcre_ver=8.41
 pcre_ver=8.41
 apr_ver=1.6.3
 apr_ver=1.6.3
@@ -51,7 +51,7 @@ php54_ver=5.4.45
 php53_ver=5.3.29
 php53_ver=5.3.29
 
 
 libiconv_ver=1.15
 libiconv_ver=1.15
-curl_ver=7.58.0
+curl_ver=7.59.0
 libmcrypt_ver=2.5.8
 libmcrypt_ver=2.5.8
 mcrypt_ver=2.6.8
 mcrypt_ver=2.6.8
 mhash_ver=0.9.9.9
 mhash_ver=0.9.9.9

+ 12 - 10
vhost.sh

@@ -8,7 +8,7 @@
 #       https://oneinstack.com
 #       https://oneinstack.com
 #       https://github.com/lj2007331/oneinstack
 #       https://github.com/lj2007331/oneinstack
 
 
-export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
 clear
 clear
 printf "
 printf "
 #######################################################################
 #######################################################################
@@ -140,7 +140,7 @@ Choose_env() {
 }
 }
 
 
 Create_SSL() {
 Create_SSL() {
-  if [ "${Domian_Mode}" == '2' ]; then 
+  if [ "${Domian_Mode}" == '2' ]; then
     printf "
     printf "
 You are about to be asked to enter information that will be incorporated
 You are about to be asked to enter information that will be incorporated
 into your certificate request.
 into your certificate request.
@@ -166,10 +166,10 @@ If you enter '.', the field will be left blank.
     [ -z "${SELFSIGNEDSSL_OU}" ] && SELFSIGNEDSSL_OU="IT Dept."
     [ -z "${SELFSIGNEDSSL_OU}" ] && SELFSIGNEDSSL_OU="IT Dept."
 
 
     openssl req -new -newkey rsa:2048 -sha256 -nodes -out ${PATH_SSL}/${domain}.csr -keyout ${PATH_SSL}/${domain}.key -subj "/C=${SELFSIGNEDSSL_C}/ST=${SELFSIGNEDSSL_ST}/L=${SELFSIGNEDSSL_L}/O=${SELFSIGNEDSSL_O}/OU=${SELFSIGNEDSSL_OU}/CN=${domain}" > /dev/null 2>&1
     openssl req -new -newkey rsa:2048 -sha256 -nodes -out ${PATH_SSL}/${domain}.csr -keyout ${PATH_SSL}/${domain}.key -subj "/C=${SELFSIGNEDSSL_C}/ST=${SELFSIGNEDSSL_ST}/L=${SELFSIGNEDSSL_L}/O=${SELFSIGNEDSSL_O}/OU=${SELFSIGNEDSSL_OU}/CN=${domain}" > /dev/null 2>&1
-    openssl x509 -req -days 36500 -sha256 -in ${PATH_SSL}/${domain}.csr -signkey ${PATH_SSL}/${domain}.key -out ${PATH_SSL}/${domain}.crt > /dev/null 2>&1   
+    openssl x509 -req -days 36500 -sha256 -in ${PATH_SSL}/${domain}.csr -signkey ${PATH_SSL}/${domain}.key -out ${PATH_SSL}/${domain}.crt > /dev/null 2>&1
   elif [ "${Domian_Mode}" == '3' ]; then
   elif [ "${Domian_Mode}" == '3' ]; then
     [ "${moredomainame_flag}" == 'y' ] && moredomainame_D="$(for D in ${moredomainame}; do echo -d ${D}; done)"
     [ "${moredomainame_flag}" == 'y' ] && moredomainame_D="$(for D in ${moredomainame}; do echo -d ${D}; done)"
-    if [ "${nginx_ssl_flag}" == 'y' ] && [ "${moredomain}" != "*.${domain}" ]; then 
+    if [ "${nginx_ssl_flag}" == 'y' ] && [ "${moredomain}" != "*.${domain}" ]; then
       [ ! -d ${web_install_dir}/conf/vhost ] && mkdir ${web_install_dir}/conf/vhost
       [ ! -d ${web_install_dir}/conf/vhost ] && mkdir ${web_install_dir}/conf/vhost
       echo "server {  server_name ${domain}${moredomainame};  root ${vhostdir};  access_log off; }" > ${web_install_dir}/conf/vhost/${domain}.conf
       echo "server {  server_name ${domain}${moredomainame};  root ${vhostdir};  access_log off; }" > ${web_install_dir}/conf/vhost/${domain}.conf
       ${web_install_dir}/sbin/nginx -s reload
       ${web_install_dir}/sbin/nginx -s reload
@@ -349,12 +349,14 @@ What Are You Doing?
     Tomcat_Domain_alias=$(for D in $(echo ${moredomainame}); do echo "<Alias>${D}</Alias>"; done)
     Tomcat_Domain_alias=$(for D in $(echo ${moredomainame}); do echo "<Alias>${D}</Alias>"; done)
 
 
     if [ "${Domian_Mode}" == '3' ] && [ "${moredomain}" != "*.${domain}" ]; then
     if [ "${Domian_Mode}" == '3' ] && [ "${moredomain}" != "*.${domain}" ]; then
-      PUBLIC_IPADDR=$(./include/get_public_ipaddr.py)
+      auth_file=${vhostdir}/"`< /dev/urandom tr -dc A-Za-z0-9 | head -c8`".html
+      auth_str='oneinstack'; echo ${auth_str} > ${auth_file}
       for D in ${domain} ${moredomainame}
       for D in ${domain} ${moredomainame}
       do
       do
-        Domain_IPADDR=$(ping ${D} -c1 2> /dev/null | sed '1{s/[^(]*(//;s/).*//;q}')
-        [ "${PUBLIC_IPADDR%.*}" != "${Domain_IPADDR%.*}" ] && { echo; echo "${CFAILURE}DNS problem: NXDOMAIN looking up A for ${D}${CEND}"; echo; exit 1; }
+        curl_str=`curl --connect-timeout 10 -4 -s $D/${auth_file} 2>&1`
+        [ "${curl_str}" != "${auth_str}" ] && { echo; echo "${CFAILURE}Let's Encrypt Verify error! DNS problem: NXDOMAIN looking up A for ${D}${CEND}"; echo; rm -f ${auth_file}; exit 1; }
       done
       done
+      rm -f ${auth_file}
     fi
     fi
 
 
     if [ -e "${web_install_dir}/sbin/nginx" ]; then
     if [ -e "${web_install_dir}/sbin/nginx" ]; then
@@ -366,7 +368,7 @@ What Are You Doing?
           break
           break
         fi
         fi
       done
       done
-      [ "${redirect_flag}" == 'y' ] && Nginx_redirect="if (\$host != $domain) {  return 301 \$scheme://${domain}\$request_uri;  }"
+      [ "${redirect_flag}" == 'y' ] && Nginx_redirect="if (\$host != ${domain}) {  return 301 \$scheme://${domain}\$request_uri;  }"
     fi
     fi
   fi
   fi
 
 
@@ -617,8 +619,8 @@ EOF
       sed -i "s@^  root.*;@&\n  location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)\$ {@" ${web_install_dir}/conf/vhost/${domain}.conf
       sed -i "s@^  root.*;@&\n  location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)\$ {@" ${web_install_dir}/conf/vhost/${domain}.conf
     fi
     fi
 
 
-    [ "${redirect_flag}" == 'y' ] && sed -i "s@^  root.*;@&\n  if (\$host != $domain) {  return 301 \$scheme://${domain}\$request_uri;  }@" ${web_install_dir}/conf/vhost/${domain}.conf
-    
+    [ "${redirect_flag}" == 'y' ] && sed -i "s@^  root.*;@&\n  if (\$host != ${domain}) {  return 301 \$scheme://${domain}\$request_uri;  }@" ${web_install_dir}/conf/vhost/${domain}.conf
+
     if [ "${nginx_ssl_flag}" == 'y' ]; then
     if [ "${nginx_ssl_flag}" == 'y' ]; then
       sed -i "s@^  listen 80;@&\n  listen ${LISTENOPT};@" ${web_install_dir}/conf/vhost/${domain}.conf
       sed -i "s@^  listen 80;@&\n  listen ${LISTENOPT};@" ${web_install_dir}/conf/vhost/${domain}.conf
       sed -i "s@^  server_name.*;@&\n  ssl_stapling_verify on;@" ${web_install_dir}/conf/vhost/${domain}.conf
       sed -i "s@^  server_name.*;@&\n  ssl_stapling_verify on;@" ${web_install_dir}/conf/vhost/${domain}.conf