Update letsencrypt.sh

This commit is contained in:
FusionPBX 2018-03-21 11:00:29 -06:00 committed by GitHub
parent 409fddcb5d
commit 62c2dc1a38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 31 additions and 53 deletions

View File

@ -14,74 +14,52 @@ read -p 'Email Address: ' email_address
#domain_name=subdomain.domain.com #domain_name=subdomain.domain.com
#email=username@domain.com #email=username@domain.com
#remove previous install cd /usr/src && git clone https://github.com/lukas2511/dehydrated.git
rm -R /opt/letsencrypt cd /usr/src/dehydrated
rm -R /etc/letsencrypt cp dehydrated /usr/local/sbin
mkdir -p /var/www/dehydrated
mkdir -p /etc/dehydrated/certs
#echo "$domain_name *.$domain_name" > /etc/dehydrated/domains.txt
#use php version 5 for arm #use this for wildcard dns
if [ .$cpu_architecture = .'arm' ]; then echo "*.$domain_name > $domain_name" > /etc/dehydrated/domains.txt
php_version=5
fi
#enable fusionpbx nginx config #manual dns hook
cp nginx/fusionpbx /etc/nginx/sites-available/fusionpbx 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
#prepare socket name mkdir -p /etc/nginx/ssl
if [ ."$php_version" = ."5" ]; then
sed -i /etc/nginx/sites-available/fusionpbx -e 's#unix:.*;#unix:/var/run/php5-fpm.sock;#g'
fi
if [ ."$php_version" = ."7" ]; then
sed -i /etc/nginx/sites-available/fusionpbx -e 's#unix:.*;#unix:/var/run/php/php7.0-fpm.sock;#g'
fi
ln -s /etc/nginx/sites-available/fusionpbx /etc/nginx/sites-enabled/fusionpbx
#read the config dehydrated --register --accept-terms
/usr/sbin/nginx -t && /usr/sbin/nginx -s reload
#add jessie backports #wildcard domain
echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list dehydrated --cron --challenge dns-01 --hook /etc/dehydrated/hook.sh
apt-get update && apt-get upgrade #single domain
apt-get install certbot -t jessie-backports #dehydrated --cron --challenge http-01
#install letsencrypt cd /usr/src/dehydrated
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt cp docs/examples/hook.sh /etc/dehydrated
chmod 755 /opt/letsencrypt/certbot-auto cp docs/examples/config /etc/dehydrated
/opt/letsencrypt/./certbot-auto certonly
#make the directories #vim /etc/dehydrated/config
mkdir -p /etc/letsencrypt/configs sed "s#CONTACT_EMAIL=#CONTACT_EMAIL=$email_address" -i /etc/dehydrated/config
mkdir -p /var/www/letsencrypt/
#cd $pwd
#cd "$(dirname "$0")"
#copy the domain conf
cp letsencrypt/domain_name.conf /etc/letsencrypt/configs/$domain_name.conf
#update the domain_name and email_address
sed "s#{domain_name}#$domain_name#g" -i /etc/letsencrypt/configs/$domain_name.conf
sed "s#{email_address}#$email_address#g" -i /etc/letsencrypt/configs/$domain_name.conf
#letsencrypt
#sed "s@#letsencrypt@location /.well-known/acme-challenge { root /var/www/letsencrypt; }@g" -i /etc/nginx/sites-available/fusionpbx
#get the certs from letsencrypt
cd /opt/letsencrypt && ./letsencrypt-auto --config /etc/letsencrypt/configs/$domain_name.conf certonly
#update nginx config #update nginx config
sed "s@ssl_certificate /etc/ssl/certs/nginx.crt;@ssl_certificate /etc/letsencrypt/live/$domain_name/fullchain.pem;@g" -i /etc/nginx/sites-available/fusionpbx 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/letsencrypt/live/$domain_name/privkey.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
#read the config #read the config
/usr/sbin/nginx -t && /usr/sbin/nginx -s reload /usr/sbin/nginx -t && /usr/sbin/nginx -s reload
#combine the certs into all.pem #combine the certs into all.pem
cat /etc/letsencrypt/live/$domain_name/cert.pem > /etc/letsencrypt/live/$domain_name/all.pem cat /etc/dehydrated/certs/$domain_name/fullchain.pem > /etc/dehydrated/certs/$domain_name/all.pem
cat /etc/letsencrypt/live/$domain_name/privkey.pem >> /etc/letsencrypt/live/$domain_name/all.pem cat /etc/dehydrated/certs/$domain_name/privkey.pem >> /etc/dehydrated/certs/$domain_name/all.pem
cat /etc/letsencrypt/live/$domain_name/chain.pem >> /etc/letsencrypt/live/$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 #copy the certs to the switch tls directory
mkdir -p /etc/freeswitch/tls mkdir -p /etc/freeswitch/tls
cp /etc/letsencrypt/live/$domain_name/*.pem /etc/freeswitch/tls cp /etc/dehydrated/certs/$domain_name/*.pem /etc/freeswitch/tls
cp /etc/freeswitch/tls/all.pem /etc/freeswitch/tls/wss.pem cp /etc/dehydrated/certs/all.pem /etc/freeswitch/tls/wss.pem
chown -R www-data:www-data /etc/freeswitch chown -R www-data:www-data /etc/freeswitch