You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.0 KiB

#!/usr/bin/env bash
source .env
APP_NAME='wordpress'
CONT_NAME='litespeed'
DOC_FD=''
help_message(){
case ${1} in
"1")
echo "Script will get 'DOMAIN' and 'database info'from .env file and install the wordpress site for you at the first time."
;;
"2")
echo 'Service finished, enjoy your accelarated LiteSpeed server!'
;;
esac
}
domain_filter(){
if [ ! -n "${DOMAIN}" ]; then
echo "Parameters not supplied, please check!"
exit 1
fi
DOMAIN="${1}"
DOMAIN="${DOMAIN#http://}"
DOMAIN="${DOMAIN#https://}"
DOMAIN="${DOMAIN#ftp://}"
DOMAIN="${DOMAIN#scp://}"
DOMAIN="${DOMAIN#scp://}"
DOMAIN="${DOMAIN#sftp://}"
DOMAIN=${DOMAIN%%/*}
}
gen_root_fd(){
DOC_FD="./sites/${1}/"
if [ -d "./sites/${1}" ]; then
echo -e "[O] The root folder \033[32m${DOC_FD}\033[0m exist."
else
echo "Creating document root..."
bash bin/domain.sh -add ${1}
echo "Finished document root."
fi
}
store_credential(){
if [ -f ${DOC_FD}/.db_pass ]; then
echo 'Back up old db file.'
mv ${DOC_FD}/.db_pass ${DOC_FD}/.db_pass.bk
fi
if [ ! -n "${MYSQL_DATABASE}" ] || [ ! -n "${MYSQL_USER}" ] || [ ! -n "${MYSQL_PASSWORD}" ]; then
echo "Parameters not supplied, please check!"
exit 1
fi
echo 'Storing database parameter'
cat > "${DOC_FD}/.db_pass" << EOT
"Database":"${MYSQL_DATABASE}"
"Username":"${MYSQL_USER}"
"Password":"$(echo ${MYSQL_PASSWORD} | tr -d "'")"
EOT
}
app_download(){
docker-compose exec ${CONT_NAME} su -c "appinstallctl.sh -app ${1} -domain ${2}"
}
lsws_restart(){
bash bin/webadmin.sh -r
}
main(){
domain_filter ${DOMAIN}
gen_root_fd ${DOMAIN}
store_credential
app_download ${APP_NAME} ${DOMAIN}
lsws_restart
help_message 2
}
while [ ! -z "${1}" ]; do
case ${1} in
-[hH] | -help | --help)
help_message 1
;;
*)
help_message 1
;;
esac
shift
done
main