Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

49 rindas
1.7KB

  1. #!/bin/bash
  2. CFG_FILE=/etc/haproxy/haproxy.cfg
  3. mkdir -p /etc/letsencrypt/haproxy
  4. # Let's Encrypt
  5. # Get Let's Encrypt certificates
  6. HAPROXY_CERTS=""
  7. SERVER_NAMES="${NEXTCLOUD_SERVER_NAME} ${GITEA_SERVER_NAME} ${BLOG_1_SERVER_NAME} ${HAUK_SERVER_NAME}"
  8. #echo Server names: $SERVER_NAMES
  9. for domain in ${DOMAINS}; do
  10. for server_name in ${SERVER_NAMES}; do
  11. _URL=${server_name}.${domain};
  12. echo ${_URL}
  13. HAPROXY_CERTS="${HAPROXY_CERTS} crt /etc/letsencrypt/haproxy/${_URL}.pem";
  14. if [[ ! -s /etc/letsencrypt/haproxy/${_URL}.pem ]]; then
  15. # Query Let's Encrypt
  16. certbot certonly --standalone -d ${_URL} \
  17. --email admin@${domain} --non-interactive --agree-tos
  18. if [ $? -eq 0 ]; then
  19. cat /etc/letsencrypt/live/${_URL}/fullchain.pem \
  20. /etc/letsencrypt/live/${_URL}/privkey.pem \
  21. > /etc/letsencrypt/haproxy/${_URL}.pem
  22. fi
  23. fi
  24. done
  25. done
  26. #sed -i "s/\${NEXTCLOUD_URL}/${NEXTCLOUD_URL}/g" $CFG_FILE
  27. #sed -i "s/\${GITEA_URL}/${GITEA_URL}/g" $CFG_FILE
  28. sed -i "s/\${NEXTCLOUD_SERVER_NAME}/${NEXTCLOUD_SERVER_NAME}/g" $CFG_FILE
  29. sed -i "s/\${GITEA_SERVER_NAME}/${GITEA_SERVER_NAME}/g" $CFG_FILE
  30. sed -i "s/\${BLOG_1_SERVER_NAME}/${BLOG_1_SERVER_NAME}/g" $CFG_FILE
  31. sed -i "s/\${HAUK_SERVER_NAME}/${HAUK_SERVER_NAME}/g" $CFG_FILE
  32. #echo sed -i "s/\${HAPROXY_CERTS}/${HAPROXY_CERTS}/g" ${CFG_FILE}
  33. sed -i "s/\${HAPROXY_CERTS}/${HAPROXY_CERTS//\//\\/}/g" ${CFG_FILE}
  34. # Create renew cron job
  35. mv /usr/local/bin/letsencrypt.cron /etc/cron.daily/letsencrypt
  36. # remove default cron job
  37. mv /etc/cron.d/certbot /tmp
  38. service cron status || service cron start
  39. # Start HAProxy
  40. haproxy -f $CFG_FILE