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.

81 lines
2.0 KiB

#!/usr/bin/env bash
DOMAIN=''
TYPE=0
CONT_NAME='litespeed'
help_message(){
echo 'Command [your_domain]'
echo 'Script will get database password and wordpress password from .env file and install the demo wordpress site for you'
}
check_input(){
if [ -z "${1}" ]; then
help_message
exit 1
fi
}
www_domain(){
CHECK_WWW=$(echo ${1} | cut -c1-4)
if [[ ${CHECK_WWW} == www. ]] ; then
DOMAIN=$(echo ${1} | cut -c 5-)
else
DOMAIN=${1}
fi
WWW_DOMAIN="www.${DOMAIN}"
}
domain_verify(){
curl -Is http://${DOMAIN}/ | grep -i LiteSpeed > /dev/null 2>&1
if [ ${?} = 0 ]; then
echo "[OK] ${DOMAIN} is accessible."
TYPE=1
curl -Is http://${WWW_DOMAIN}/ | grep -i LiteSpeed > /dev/null 2>&1
if [ ${?} = 0 ]; then
echo "[OK] ${WWW_DOMAIN} is accessible."
TYPE=2
else
echo "${WWW_DOMAIN} is inaccessible."
fi
else
echo "${MY_DOMAIN} is inaccessible, please verify."; exit 1
fi
}
lecertapply(){
if [ ${TYPE} = 1 ]; then
docker-compose exec litespeed su -c "certbot certonly --agree-tos --register-unsafely-without-email \
--non-interactive --webroot -w /var/www/vhosts/${1}/html -d ${1}"
elif [ ${TYPE} = 2 ]; then
docker-compose exec litespeed su -c "certbot certonly --agree-tos --register-unsafely-without-email \
--non-interactive --webroot -w /var/www/vhosts/${1}/html -d ${1} -d www.${1}"
else
echo 'unknown Type!'
exit 2
fi
}
certbothook(){
docker-compose exec ${CONT_NAME} su -s /bin/bash -c "certhookctl.sh"
}
main(){
www_domain ${1}
domain_verify
lecertapply ${DOMAIN}
certbothook
bash bin/webadmin.sh -r
}
check_input ${1}
while [ ! -z "${1}" ]; do
case ${1} in
-[hH] | -help | --help)
help_message
;;
*)
main ${1}
;;
esac
shift
done