autocertbot.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/bash
  2. # script convert end make ssl sert for https
  3. # info -
  4. #
  5. path_certbot="/etc/letsencrypt/live";
  6. path_ssl="/etc/ssl/private";
  7. source certbot.conf;
  8. logfile="/var/log/syslog";
  9. #
  10. cmd=$1;
  11. #
  12. function makesslkey() {
  13. :>/etc/ssl/crt-list.txt
  14. for ((dmn=0; dmn != ${#domains[@]}; dmn++))
  15. do
  16. cat $path_certbot/${domains[$dmn]}/cert.pem > $path_ssl/${domains[$dmn]}.pem;
  17. cat $path_certbot/${domains[$dmn]}/chain.pem >> $path_ssl/${domains[$dmn]}.pem;
  18. cat $path_certbot/${domains[$dmn]}/fullchain.pem >> $path_ssl/${domains[$dmn]}.pem;
  19. cat $path_certbot/${domains[$dmn]}/privkey.pem >> $path_ssl/${domains[$dmn]}.pem;
  20. done
  21. for ((icrt=0; icrt != ${#domains[@]}; icrt++))
  22. do
  23. echo "$path_ssl/${domains[$icrt]}.pem">>/etc/ssl/crt-list.txt
  24. done
  25. }
  26. function renew() {
  27. /etc/init.d/haproxy stop;
  28. certbot renew;
  29. /etc/init.d/haproxy start;
  30. }
  31. function createCert() {
  32. certbot register --agree-tos -m $adminmail;
  33. /etc/init.d/haproxy stop;
  34. for ((dmn=0; dmn != ${#domains[@]}; dmn++))
  35. do
  36. certbot certonly --preferred-challenges http --standalone -d ${domains[$dmn]};
  37. done
  38. /etc/init.d/haproxy start;
  39. }
  40. case "$cmd" in
  41. ## create cert
  42. "--create" | "--create" )
  43. createCert;
  44. ;;
  45. ## update cert
  46. "--update" | "--update" )
  47. renew;
  48. ;;
  49. ## start defaults
  50. * )
  51. echo "please input pameters: autocertbot.sh --create | --update";
  52. echo "autocertbot.sh --create; create new certificate"
  53. echo "autocertbot.sh --update; update certificates;"
  54. ;;
  55. esac