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.

102 lines
2.3 KiB

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