forked from norman/fusionpbx-install.sh-github-mirror
installation script for OS Devuan (#95)
* adding devuan * add devaun desc to README make update and upgrade more noisy correct path for devuan in pre-install * some untested code for the source install - source installation is broken in Debian installation script and I have not debugged the problem. Focusing on the packaged version first.
This commit is contained in:
80
devuan/resources/letsencrypt.sh
Executable file
80
devuan/resources/letsencrypt.sh
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/bin/sh
|
||||
|
||||
#move to script directory so all relative paths work
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
#includes
|
||||
. ./config.sh
|
||||
. ./colors.sh
|
||||
. ./environment.sh
|
||||
|
||||
#request the domain and email
|
||||
read -p 'Domain Name: ' domain_name
|
||||
read -p 'Email Address: ' email_address
|
||||
#domain_name=subdomain.domain.com
|
||||
#email=username@domain.com
|
||||
|
||||
#remove previous install
|
||||
rm -R /opt/letsencrypt
|
||||
rm -R /etc/letsencrypt
|
||||
|
||||
#use php version 5 for arm
|
||||
if [ .$cpu_architecture = .'arm' ]; then
|
||||
php_version=5
|
||||
fi
|
||||
|
||||
#enable fusionpbx nginx config
|
||||
cp nginx/fusionpbx /etc/nginx/sites-available/fusionpbx
|
||||
|
||||
#prepare socket name
|
||||
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
|
||||
/usr/sbin/nginx -t && /usr/sbin/nginx -s reload
|
||||
|
||||
#install letsencrypt
|
||||
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
|
||||
chmod 755 /opt/letsencrypt/certbot-auto
|
||||
/opt/letsencrypt/./certbot-auto
|
||||
mkdir -p /etc/letsencrypt/configs
|
||||
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
|
||||
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
|
||||
|
||||
#read the config
|
||||
/usr/sbin/nginx -t && /usr/sbin/nginx -s reload
|
||||
|
||||
#combine the certs into all.pem
|
||||
cat /etc/letsencrypt/live/$domain_name/cert.pem > /etc/letsencrypt/live/$domain_name/all.pem
|
||||
cat /etc/letsencrypt/live/$domain_name/privkey.pem >> /etc/letsencrypt/live/$domain_name/all.pem
|
||||
cat /etc/letsencrypt/live/$domain_name/chain.pem >> /etc/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
|
||||
Reference in New Issue
Block a user