#!/bin/bash
-# Download
-echo " ------------------------------- "
-echo "| Updating Download Certificate |"
-echo " ------------------------------- "
-host="download.giorgioravera.it"
-user="root"
-ALIVE=$(ping -c 1 $host |grep ttl)
-if [ ! -z "$ALIVE" ]; then
- rsync -rlptDv /etc/letsencrypt/archive $user@$host:/etc/letsencrypt/
- rsync -rlptDv /etc/letsencrypt/live $user@$host:/etc/letsencrypt/
- ssh $user@$host /etc/init.d/apache2 restart
-else
- echo "Host $host not alive, skipped"
-fi
-echo ""
+# Parameters
+src_folder="/etc/letsencrypt/live/server.giorgioravera.it"
+src_cert="$src_folder/cert.pem"
+src_key="$src_folder/privkey.pem"
+src_chain="$src_folder/chain.pem"
+src_fullchain="$src_folder/fullchain.pem"
+dst_folder="/etc/ssl/giorgioravera.it/"
+dst_cert="$dst_folder/cert.pem"
+dst_key="$dst_folder/privkey.pem"
+dst_chain="$dst_folder/chain.pem"
+dst_fullchain="$dst_folder/fullchain.pem"
+dst_server="$dst_folder/server.pem"
+dst_tmp_folder="/tmp"
+dst_tmp_cert="$dst_tmp_folder/cert.pem"
+dst_tmp_key="$dst_tmp_folder/key.pem"
+dst_tmp_server="$dst_tmp_folder/server.pem"
+PATH="$PATH:/usr/local/bin"
+
+# Update Function
+function update_certificate () {
+ ALIVE=$(ping -c 1 $host |grep ttl)
+ if [ ! -z "$ALIVE" ]; then
+ ssh $user@$host mkdir -p $dst_folder
+ scp $src_cert $user@$host:$dst_cert
+ scp $src_key $user@$host:$dst_key
+ scp $src_chain $user@$host:$dst_chain
+ scp $src_fullchain $user@$host:$dst_fullchain
+ ssh $user@$host "cat $dst_cert > $dst_server"
+ ssh $user@$host "cat $dst_key >> $dst_server"
+ ssh $user@$host $command
+ else
+ echo "Host $host not alive, skipped"
+ fi
+}
+
+function copy_certificate () {
+ ALIVE=$(ping -c 1 $host |grep ttl)
+ if [ ! -z "$ALIVE" ]; then
+ scp $src_cert $user@$host:$dst_tmp_cert
+ scp $src_key $user@$host:$dst_tmp_key
+ ssh $user@$host "cat $dst_tmp_cert > $dst_tmp_server"
+ ssh $user@$host "cat $dst_tmp_key >> $dst_tmp_server"
+ ssh $user@$host $command
+ ssh $user@$host rm $dst_tmp_cert $dst_tmp_key $dst_tmp_server
+ else
+ echo "Host $host not alive, skipped"
+ fi
+}
+
+## Download
+#echo " ------------------------------- "
+#echo "| Updating Download Certificate |"
+#echo " ------------------------------- "
+#host="download.giorgioravera.it"
+#user="root"
+#command="/etc/init.d/apache2 restart"
+##command="systemctl restart apache2.service"
+#update_certificate
+#echo ""
# Docker
echo " ------------------------------- "
echo " ------------------------------- "
host="docker.giorgioravera.it"
user="root"
-ALIVE=$(ping -c 1 $host |grep ttl)
-if [ ! -z "$ALIVE" ]; then
- rsync -rlptDv /etc/letsencrypt/archive $user@$host:/etc/letsencrypt/
- rsync -rlptDv /etc/letsencrypt/live $user@$host:/etc/letsencrypt/
-# ssh $user@$host systemctl restart xo-server.service
- ssh $user@$host docker container restart traefik
-else
- echo "Host $host not alive, skipped"
-fi
+command="docker container restart traefik mosquitto"
+update_certificate
echo ""
# Asterisk
echo " ------------------------------- "
host="asterisk.giorgioravera.it"
user="root"
-ALIVE=$(ping -c 1 $host |grep ttl)
-if [ ! -z "$ALIVE" ]; then
- update_certificate_asterisk
-else
- echo "Host $host not alive, skipped"
-fi
+command="cat $dst_tmp_cert > /etc/asterisk/keys/Asterisk.crt &&
+ cat $dst_tmp_key > /etc/asterisk/keys/Asterisk.key &&
+ cat $dst_tmp_cert > /etc/httpd/pki/webserver.crt &&
+ cat $dst_tmp_key > /etc/httpd/pki/webserver.key &&
+ fwconsole certificate --import &&
+ fwconsole certificate --default=0 &&
+ fwconsole reload &&
+ systemctl reload httpd.service"
+copy_certificate
echo ""
# NAS
echo " ------------------------------- "
host="nas.giorgioravera.it"
user="admin"
-ALIVE=$(ping -c 1 $host |grep ttl)
-if [ ! -z "$ALIVE" ]; then
- scp /etc/letsencrypt/live/server.giorgioravera.it/cert.pem $user@$host:/etc/stunnel
- scp /etc/letsencrypt/live/server.giorgioravera.it/privkey.pem $user@$host:/etc/stunnel
- ssh $user@$host 'cat /etc/stunnel/privkey.pem > /etc/stunnel/stunnel.pem'
- ssh $user@$host 'cat /etc/stunnel/cert.pem >> /etc/stunnel/stunnel.pem'
- ssh $user@$host /etc/init.d/stunnel.sh restart
-else
- echo "Host $host not alive, skipped"
-fi
+command="cat $dst_tmp_server > /etc/stunnel/stunnel.pem &&
+ /etc/init.d/stunnel.sh restart"
+copy_certificate
echo ""
# Firewall
echo " ------------------------------- "
host="xenserver.giorgioravera.it"
user="root"
-ALIVE=$(ping -c 1 $host |grep ttl)
-if [ ! -z "$ALIVE" ]; then
- update_certificate_xenserver
-else
- echo "Host $host not alive, skipped"
-fi
+command="cat $dst_tmp_server > /etc/xensource/xapi-ssl.pem &&
+ systemctl restart xapi.service"
+copy_certificate
echo ""