|
|
@ -1,6 +1,7 @@
|
|
|
|
#!/bin/bash
|
|
|
|
#!/bin/bash
|
|
|
|
DEFAULT_VH_ROOT='/var/www/vhosts'
|
|
|
|
DEFAULT_VH_ROOT='/var/www/vhosts'
|
|
|
|
VH_DOC_ROOT=''
|
|
|
|
VH_DOC_ROOT=''
|
|
|
|
|
|
|
|
VHNAME=''
|
|
|
|
APP_NAME=''
|
|
|
|
APP_NAME=''
|
|
|
|
DOMAIN=''
|
|
|
|
DOMAIN=''
|
|
|
|
WWW_UID=''
|
|
|
|
WWW_UID=''
|
|
|
@ -9,7 +10,7 @@ PUB_IP=$(curl http://checkip.amazonaws.com)
|
|
|
|
|
|
|
|
|
|
|
|
help_message(){
|
|
|
|
help_message(){
|
|
|
|
echo 'Command [-app app_name] [-domain domain_name]'
|
|
|
|
echo 'Command [-app app_name] [-domain domain_name]'
|
|
|
|
echo 'Example: download.sh -app wordpress -d example.com'
|
|
|
|
echo 'Example: appinstallctl.sh -app wordpress -d example.com'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
check_input(){
|
|
|
|
check_input(){
|
|
|
@ -38,17 +39,19 @@ get_owner(){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
get_db_pass(){
|
|
|
|
get_db_pass(){
|
|
|
|
if [ -f ${DEFAULT_VH_ROOT}/${1}/.db_pass ]; then
|
|
|
|
if [ -f ${DEFAULT_VH_ROOT}/${1}/.db_pass ]; then
|
|
|
|
SQL_DB=$(grep -i Database ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
|
|
|
SQL_DB=$(grep -i Database ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
|
|
|
SQL_USER=$(grep -i Username ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
|
|
|
SQL_USER=$(grep -i Username ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
|
|
|
SQL_PASS=$(grep -i Password ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
|
|
|
SQL_PASS=$(grep -i Password ${VH_DOC_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
|
|
|
else
|
|
|
|
else
|
|
|
|
echo 'DB_PASS can not locate!'
|
|
|
|
echo 'DB_PASS can not locate!'
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
set_vh_docroot(){
|
|
|
|
set_vh_docroot(){
|
|
|
|
if [ -d ${DEFAULT_VH_ROOT}/${1}/html ]; then
|
|
|
|
if [ "${VHNAME}" != '' ]; then
|
|
|
|
|
|
|
|
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${VHNAME}/html"
|
|
|
|
|
|
|
|
elif [ -d ${DEFAULT_VH_ROOT}/${1}/html ]; then
|
|
|
|
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${1}/html"
|
|
|
|
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${1}/html"
|
|
|
|
else
|
|
|
|
else
|
|
|
|
echo "${DEFAULT_VH_ROOT}/${1}/html does not exist, please add domain first! Abort!"
|
|
|
|
echo "${DEFAULT_VH_ROOT}/${1}/html does not exist, please add domain first! Abort!"
|
|
|
@ -57,16 +60,15 @@ set_vh_docroot(){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
check_sql_native(){
|
|
|
|
check_sql_native(){
|
|
|
|
local COUNTER=0
|
|
|
|
local COUNTER=0
|
|
|
|
local LIMIT_NUM=100
|
|
|
|
local LIMIT_NUM=100
|
|
|
|
until [ "$(curl -v mysql:3306 2>&1 | grep native)" ];
|
|
|
|
until [ "$(curl -v mysql:3306 2>&1 | grep native)" ]; do
|
|
|
|
do
|
|
|
|
echo "Counter: ${COUNTER}/${LIMIT_NUM}"
|
|
|
|
echo "Counter: ${COUNTER}/${LIMIT_NUM}"
|
|
|
|
|
|
|
|
COUNTER=$((COUNTER+1))
|
|
|
|
COUNTER=$((COUNTER+1))
|
|
|
|
if [ ${COUNTER} = 10 ]; then
|
|
|
|
if [ ${COUNTER} = 10 ]; then
|
|
|
|
echo '--- MySQL is starting, please wait... ---'
|
|
|
|
echo '--- MySQL is starting, please wait... ---'
|
|
|
|
elif [ ${COUNTER} = ${LIMIT_NUM} ]; then
|
|
|
|
elif [ ${COUNTER} = ${LIMIT_NUM} ]; then
|
|
|
|
echo '--- MySQL is timeout, exit! ---'
|
|
|
|
echo '--- MySQL is timeout, exit! ---'
|
|
|
|
exit 1
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
sleep 1
|
|
|
|
sleep 1
|
|
|
@ -84,12 +86,12 @@ preinstall_wordpress(){
|
|
|
|
NEWDBPWD="define('DB_NAME', '${SQL_DB}');"
|
|
|
|
NEWDBPWD="define('DB_NAME', '${SQL_DB}');"
|
|
|
|
linechange 'DB_NAME' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
|
|
|
|
linechange 'DB_NAME' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
|
|
|
|
elif [ -f ${VH_DOC_ROOT}/wp-config.php ]; then
|
|
|
|
elif [ -f ${VH_DOC_ROOT}/wp-config.php ]; then
|
|
|
|
echo "${VH_DOC_ROOT}/wp-config.php already exist, exit !"
|
|
|
|
echo "${VH_DOC_ROOT}/wp-config.php already exist, exit !"
|
|
|
|
exit 1
|
|
|
|
exit 1
|
|
|
|
else
|
|
|
|
else
|
|
|
|
echo 'Skip!'
|
|
|
|
echo 'Skip!'
|
|
|
|
exit 2
|
|
|
|
exit 2
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
app_wordpress_dl(){
|
|
|
|
app_wordpress_dl(){
|
|
|
@ -108,34 +110,37 @@ main(){
|
|
|
|
get_owner
|
|
|
|
get_owner
|
|
|
|
cd ${VH_DOC_ROOT}
|
|
|
|
cd ${VH_DOC_ROOT}
|
|
|
|
if [ "${APP_NAME}" = 'wordpress' ] || [ "${APP_NAME}" = 'wp' ]; then
|
|
|
|
if [ "${APP_NAME}" = 'wordpress' ] || [ "${APP_NAME}" = 'wp' ]; then
|
|
|
|
check_sql_native
|
|
|
|
check_sql_native
|
|
|
|
app_wordpress_dl
|
|
|
|
app_wordpress_dl
|
|
|
|
preinstall_wordpress
|
|
|
|
preinstall_wordpress
|
|
|
|
exit 0
|
|
|
|
exit 0
|
|
|
|
else
|
|
|
|
else
|
|
|
|
echo "APP: ${APP_NAME} not support, exit!"
|
|
|
|
echo "APP: ${APP_NAME} not support, exit!"
|
|
|
|
exit 1
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
while [ ! -z "${1}" ]; do
|
|
|
|
while [ ! -z "${1}" ]; do
|
|
|
|
case ${1} in
|
|
|
|
case ${1} in
|
|
|
|
-[hH] | -help | --help)
|
|
|
|
-[hH] | -help | --help)
|
|
|
|
help_message
|
|
|
|
help_message
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
-app | -a | -A) shift
|
|
|
|
-app | -a | -A) shift
|
|
|
|
check_input "${1}"
|
|
|
|
check_input "${1}"
|
|
|
|
APP_NAME="${1}"
|
|
|
|
APP_NAME="${1}"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
-d | -D | -domain) shift
|
|
|
|
-d | -D | -domain) shift
|
|
|
|
check_input "${1}"
|
|
|
|
check_input "${1}"
|
|
|
|
DOMAIN="${1}"
|
|
|
|
DOMAIN="${1}"
|
|
|
|
set_vh_docroot ${DOMAIN}
|
|
|
|
set_vh_docroot ${DOMAIN}
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
-vhname) shift
|
|
|
|
help_message
|
|
|
|
VHNAME="${1}"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
*)
|
|
|
|
shift
|
|
|
|
help_message
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
done
|
|
|
|
main
|
|
|
|
main
|