fusionpbx-install.sh/debian/resources/letsencrypt.sh

71 lines
2.4 KiB
Bash
Raw Normal View History

2017-02-02 21:57:24 +01:00
#!/bin/sh
2017-03-04 20:53:41 +01:00
#move to script directory so all relative paths work
cd "$(dirname "$0")"
#includes
. ./config.sh
2017-05-21 08:10:20 +02:00
#. ./colors.sh
2017-10-07 19:24:08 +02:00
. ./environment.sh
2017-03-04 20:53:41 +01:00
2018-03-21 18:20:07 +01:00
#request the domain name, email address and wild card domain
2017-02-02 23:31:00 +01:00
read -p 'Domain Name: ' domain_name
read -p 'Email Address: ' email_address
2018-03-21 18:20:07 +01:00
read -p 'Wild card domain name? (y/n): ' wilcard_domain_name
2017-02-02 21:22:29 +01:00
2018-03-21 18:20:07 +01:00
#get and install dehydrated
2018-03-21 18:00:29 +01:00
cd /usr/src && git clone https://github.com/lukas2511/dehydrated.git
cd /usr/src/dehydrated
cp dehydrated /usr/local/sbin
mkdir -p /var/www/dehydrated
mkdir -p /etc/dehydrated/certs
#echo "$domain_name *.$domain_name" > /etc/dehydrated/domains.txt
2017-02-02 22:34:35 +01:00
2018-03-21 18:20:07 +01:00
#create an alias when using wildcard dns
if [ .$wilcard_domain_name = ."y" ]; then
echo "*.$domain_name > $domain_name" > /etc/dehydrated/domains.txt
else
echo "$domain_name" > /etc/dehydrated/domains.txt
fi
2017-03-11 20:43:31 +01:00
2018-03-21 18:00:29 +01:00
#manual dns hook
cd /usr/src
git clone https://github.com/owhen/dns-01-manual.git
cd /usr/src/dns-01-manual/
cp hook.sh /etc/dehydrated/hook.sh
2018-03-21 18:25:51 +01:00
chmod 755 /etc/dehydrated/hook.sh
2017-03-11 20:40:29 +01:00
2018-03-21 18:00:29 +01:00
mkdir -p /etc/nginx/ssl
2017-02-02 23:08:15 +01:00
2018-03-21 18:00:29 +01:00
dehydrated --register --accept-terms
2017-02-02 21:57:24 +01:00
2018-03-21 18:00:29 +01:00
#wildcard domain
dehydrated --cron --challenge dns-01 --hook /etc/dehydrated/hook.sh
#single domain
#dehydrated --cron --challenge http-01
2017-02-02 22:34:35 +01:00
2018-03-21 18:00:29 +01:00
cd /usr/src/dehydrated
cp docs/examples/hook.sh /etc/dehydrated
cp docs/examples/config /etc/dehydrated
2017-02-02 22:34:35 +01:00
2018-03-21 18:00:29 +01:00
#vim /etc/dehydrated/config
sed "s#CONTACT_EMAIL=#CONTACT_EMAIL=$email_address" -i /etc/dehydrated/config
2017-02-02 22:34:35 +01:00
#update nginx config
2018-03-21 18:00:29 +01:00
sed "s@ssl_certificate /etc/ssl/certs/nginx.crt;@ssl_certificate /etc/dehydrated/certs/$domain_name/fullchain.pem;@g" -i /etc/nginx/sites-available/fusionpbx
sed "s@ssl_certificate_key /etc/ssl/private/nginx.key;@ssl_certificate_key /etc/dehydrated/certs/$domain_name/privkey.pem;@g" -i /etc/nginx/sites-available/fusionpbx
2017-02-02 22:34:35 +01:00
#read the config
2017-02-02 22:34:35 +01:00
/usr/sbin/nginx -t && /usr/sbin/nginx -s reload
#combine the certs into all.pem
2018-03-21 18:00:29 +01:00
cat /etc/dehydrated/certs/$domain_name/fullchain.pem > /etc/dehydrated/certs/$domain_name/all.pem
cat /etc/dehydrated/certs/$domain_name/privkey.pem >> /etc/dehydrated/certs/$domain_name/all.pem
#cat /etc/dehydrated/certs/$domain_name/chain.pem >> /etc/dehydrated/certs/$domain_name/all.pem
#copy the certs to the switch tls directory
mkdir -p /etc/freeswitch/tls
2018-03-21 18:00:29 +01:00
cp /etc/dehydrated/certs/$domain_name/*.pem /etc/freeswitch/tls
cp /etc/dehydrated/certs/all.pem /etc/freeswitch/tls/wss.pem
chown -R www-data:www-data /etc/freeswitch