Files
VPS-scripts_Web-V2/Scripts/EnableSSL.sh

55 lines
2.0 KiB
Bash

#loading install vars
source /etc/ICTM/mainvar.list
#Setting Vars
sitename=CONFname
domain=DOMAINname
domainwww=DomainWWW
webserv=WebServer
webservice=WebServer
#Correcting service name for Apache
if [ $webservice = apache ]; then\
source /etc/ICTM/apachevar.list
webservice="$apacheService"
ext=.conf
fi
#Correcting service name for nginx_nonphp
if [ $webservice = nginx_nonphp ]; then
webservice=nginx
webserv=nginx
fi
#Backing-up and removing current config
sed -n '/#beginConf/,/#endConf/p' /etc/"$webservice"/sites-available/"$sitename"_nossl"$ext" > /tmp/"$sitename"-config
sed -n -i '/#beginConf/{:a;N;/#endConf/!ba;N;s/.*\n/#ConfHere\n/};p' /etc/"$webservice"/sites-available/"$sitename"_nossl"$ext"
systemctl reload $webservice
#Enabling SSL
if [ $domainwww = 1 ]; then
/opt/acmesh/acme.sh --config-home '/etc/acmesh/data' --issue --"$webserv" --ocsp --keylength 'ec-384' -d "$domain" -d "www.$domain"
certsatus=$?
elif [ $domainwww = 0 ]; then
/opt/acmesh/acme.sh --config-home '/etc/acmesh/data' --issue --"$webserv" --ocsp --keylength 'ec-384' -d "$domain"
certsatus=$?
fi
if test $certsatus -eq 0
then
site_ext="ssl"
mkdir -p /etc/acmesh/inst/$domain
/opt/acmesh/acme.sh --config-home '/etc/acmesh/data' --install-cert --ecc --domain $domain --cert-file /etc/acmesh/inst/$domain/cert.pem --key-file /etc/acmesh/inst/$domain/key.pem --ca-file /etc/acmesh/inst/$domain/ca.cer --fullchain-file /etc/acmesh/inst/$domain/fullchain.pem --reloadcmd 'systemctl reload $(cat /etc/ICTM/SslServices)'
else
site_ext="nossl"
rm -rf /etc/acmesh/certs/$domain*
echo "LE failed, restoring configuration"
fi
unset certsatus
#Restoring config
sed -i -e "0,/^#ConfHere/s/\(^#Conf.*\)/#ConfHere1 /" -e "/#ConfHere1/ r /tmp/"$sitename"-config" -e '/#ConfHere/c\' /etc/"$webservice"/sites-available/"$sitename"_"$site_ext""$ext"
source <(curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/CoreModules/"$webserv"/ssl-handler.sh)
if [ $site_ext = ssl ]; then
rm -- "$0"
fi