updated certbot section to verify files
This commit is contained in:
		
							parent
							
								
									e61d62b972
								
							
						
					
					
						commit
						cc940635a8
					
				
							
								
								
									
										45
									
								
								setup.sh
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								setup.sh
									
									
									
									
									
								
							| @ -25,6 +25,7 @@ unset KeyPath | ||||
| unset CAChainPath | ||||
| unset DHPath | ||||
| 
 | ||||
| certbotFiles=(cert.pem chain.pem fullchain.pem privkey.pem) | ||||
| detectedIP=$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p') | ||||
| regexIP4="(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])" | ||||
| regexHostname="(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])" | ||||
| @ -103,11 +104,47 @@ if [ "${useCertbot}" -eq 1 ]; then | ||||
|                 ;; | ||||
|             *) | ||||
|                 # check hostname for validity | ||||
|                 if [[ "${inputCertbotDomain}" =~ ^${regexHostname}$ ]]; then | ||||
|                     CertbotDomain="${inputCertbotDomain}" | ||||
|                     break | ||||
|                 else | ||||
|                 if [[ ! "${inputCertbotDomain}" =~ ^${regexHostname}$ ]]; then | ||||
|                     echo -e "\n${err}Invalid hostname${norm}" | ||||
|                 else | ||||
|                     # check if Certbot files exist in path implied from hostname | ||||
|                     echo -e "\n${cyan}Verifying Certbot files..." | ||||
|                     echo -e "(/etc/letsencrypt/live/${inputCertbotDomain}/...)${norm}" | ||||
|                     certbotBadFile=() | ||||
|                     for certbotFile in "${certbotFiles[@]}"; do | ||||
|                         if [ -f "/etc/letsencrypt/live/${inputCertbotDomain}/$certbotFile" ]; then | ||||
|                             echo -e "File: ${certbotFile} -- ${ok}OK${norm}" | ||||
|                         else | ||||
|                             echo -e "File: ${certbotFile} -- ${err}X${norm}" | ||||
|                             certbotBadFile+=("${certbotFile}") | ||||
|                         fi | ||||
|                     done | ||||
|                     if [ -z "${certbotBadFile}" ]; then | ||||
|                         echo -e "${cyan}Certbot files seem intact${norm}" | ||||
|                         CertbotDomain="${inputCertbotDomain}" | ||||
|                         break | ||||
|                     else | ||||
|                         echo -e "\n${err}The following files are missing from ${inputCertbotDomain}:" | ||||
|                         echo -e "${warn}${certbotBadFile[@]}${norm}" | ||||
|                         echo -e "${err}These files are all required for proper SSL operation of NGINX using Certbot.${norm}\n" | ||||
|                         while true; do | ||||
|                             read -p "Do you want to use these settings anyways? " yn | ||||
|                             case "${yn}" in | ||||
|                                     [Yy]*) | ||||
|                                         CertbotDomain="${inputCertbotDomain}" | ||||
|                                         break | ||||
|                                         ;; | ||||
|                                     [Nn]*) | ||||
|                                         break | ||||
|                                         ;; | ||||
|                                     *) | ||||
|                                         ;; | ||||
|                             esac | ||||
|                         done | ||||
|                     fi | ||||
|                     if [ -n "${CertbotDomain}" ]; then | ||||
|                         break | ||||
|                     fi | ||||
|                 fi | ||||
|                 ;; | ||||
|         esac | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user