|
@@ -2,7 +2,7 @@
|
|
|
|
|
|
#request the domain and email
|
|
#request the domain and email
|
|
read -p 'Domain Name: ' domain_name
|
|
read -p 'Domain Name: ' domain_name
|
|
-read -p 'Email Address: ' email
|
|
|
|
|
|
+read -p 'Email Address: ' email_address
|
|
#domain_name=subdomain.domain.com
|
|
#domain_name=subdomain.domain.com
|
|
#[email protected]
|
|
#[email protected]
|
|
|
|
|
|
@@ -14,8 +14,10 @@ rm -R /etc/letsencrypt
|
|
cp nginx/fusionpbx /etc/nginx/sites-available/fusionpbx
|
|
cp nginx/fusionpbx /etc/nginx/sites-available/fusionpbx
|
|
#ln -s /etc/nginx/sites-available/fusionpbx /etc/nginx/sites-enabled/fusionpbx
|
|
#ln -s /etc/nginx/sites-available/fusionpbx /etc/nginx/sites-enabled/fusionpbx
|
|
|
|
|
|
|
|
+#read the config
|
|
/usr/sbin/nginx -t && /usr/sbin/nginx -s reload
|
|
/usr/sbin/nginx -t && /usr/sbin/nginx -s reload
|
|
|
|
|
|
|
|
+#install letsencrypt
|
|
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
|
|
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
|
|
chmod 755 /opt/letsencrypt/certbot-auto
|
|
chmod 755 /opt/letsencrypt/certbot-auto
|
|
/opt/letsencrypt/./certbot-auto
|
|
/opt/letsencrypt/./certbot-auto
|
|
@@ -25,17 +27,33 @@ mkdir -p /var/www/letsencrypt/
|
|
#cd $pwd
|
|
#cd $pwd
|
|
#cd "$(dirname "$0")"
|
|
#cd "$(dirname "$0")"
|
|
|
|
|
|
|
|
+#copy the domain conf
|
|
cp letsencrypt/domain_name.conf /etc/letsencrypt/configs/$domain_name.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#{domain_name}#$domain_name#g" -i /etc/letsencrypt/configs/$domain_name.conf
|
|
-sed "s#{email_address}#$email#g" -i /etc/letsencrypt/configs/$domain_name.conf
|
|
|
|
|
|
+sed "s#{email_address}#$email_address#g" -i /etc/letsencrypt/configs/$domain_name.conf
|
|
|
|
|
|
#letsencrypt
|
|
#letsencrypt
|
|
#sed "s@#letsencrypt@location /.well-known/acme-challenge { root /var/www/letsencrypt; }@g" -i /etc/nginx/sites-available/fusionpbx
|
|
#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
|
|
cd /opt/letsencrypt && ./letsencrypt-auto --config /etc/letsencrypt/configs/$domain_name.conf certonly
|
|
|
|
|
|
|
|
+#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/letsencrypt/live/$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/letsencrypt/live/$domain_name/privkey.pem;@g" -i /etc/nginx/sites-available/fusionpbx
|
|
|
|
|
|
|
|
+#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
|
|
|
|
+cat /opt/letsencrypt/live/$domain_name/cert.pem > /opt/letsencrypt/live/$domain_name/all.pem
|
|
|
|
+cat /opt/letsencrypt/live/$domain_name/privkey.pem >> /opt/letsencrypt/live/$domain_name/all.pem
|
|
|
|
+cat /opt/letsencrypt/live/$domain_name/chain.pem >> /opt/letsencrypt/live/$domain_name/all.pem
|
|
|
|
+
|
|
|
|
+#copy the certs to the switch tls directory
|
|
|
|
+mkdir -p /etc/freeswitch/tls
|
|
|
|
+cp /etc/letsencrypt/live/$domain_name/*.pem /etc/freeswitch/tls
|
|
|
|
+cp /etc/freeswitch/tls/all.pem /etc/freeswitch/tls/wss.pem
|
|
|
|
+chown -R www-data:www-data /etc/freeswitch
|