diff --git a/setup.sh b/setup.sh index ec931a6..17fe527 100644 --- a/setup.sh +++ b/setup.sh @@ -113,150 +113,152 @@ if [ "${useCertbot}" -eq 1 ]; then done fi -# not using Certbot: get location of certificate -while true; do - read -p "What is the path to your primary SSL certificate? " inputCertPath - case "${inputCertPath}" in - '') - echo -e "\n${err}You cannot have an empty path to your SSL certificate${norm}" - ;; - [Xx]*) - echo -e "\n${cyan}---exiting---\n${norm}" - exit 1 - ;; - *) - # validate path - if [ -f "${inputCertPath}" ]; then - CertPath="${inputCertPath}" - break - else - echo -e "\n${warn}The file you specified doesn't exist${norm}" - while true; do - read -p "Do you want to use this path anyways? " yn - case $yn in - [Yy]*) - CertPath="${inputCertPath}" - break - ;; - [Nn]*) - break - ;; - *) - ;; - esac - done - if [ -n "${CertPath}" ]; then +# only process manual certificate paths if NOT using Certbot +if [ "${useCertbot}" -eq 0 ]; then + # not using Certbot: get location of certificate + while true; do + read -p "What is the path to your primary SSL certificate? " inputCertPath + case "${inputCertPath}" in + '') + echo -e "\n${err}You cannot have an empty path to your SSL certificate${norm}" + ;; + [Xx]*) + echo -e "\n${cyan}---exiting---\n${norm}" + exit 1 + ;; + *) + # validate path + if [ -f "${inputCertPath}" ]; then + CertPath="${inputCertPath}" break + else + echo -e "\n${warn}The file you specified doesn't exist${norm}" + while true; do + read -p "Do you want to use this path anyways? " yn + case $yn in + [Yy]*) + CertPath="${inputCertPath}" + break + ;; + [Nn]*) + break + ;; + *) + ;; + esac + done + if [ -n "${CertPath}" ]; then + break + fi fi - fi - ;; - esac -done + ;; + esac + done -# not using Certbot: get location of private key -while true; do - read -p "What is the path to your primary SSL private key? " inputKeyPath - case "${inputKeyPath}" in - '') - echo -e "\n${err}You cannot have an empty path to your SSL private key${norm}" - ;; - [Xx]*) - echo -e "\n${cyan}---exiting---\n${norm}" - exit 1 - ;; - *) - # validate path - if [ -f "${inputKeyPath}" ]; then - KeyPath="${inputKeyPath}" - break - else - echo -e "\n${warn}The file you specified doesn't exist${norm}" - while true; do - read -p "Do you want to use this path anyways? " yn - case $yn in - [Yy]*) - KeyPath="${inputKeyPath}" - break - ;; - [Nn]*) - break - ;; - *) - ;; - esac - done - if [ -n "${KeyPath}" ]; then + # not using Certbot: get location of private key + while true; do + read -p "What is the path to your primary SSL private key? " inputKeyPath + case "${inputKeyPath}" in + '') + echo -e "\n${err}You cannot have an empty path to your SSL private key${norm}" + ;; + [Xx]*) + echo -e "\n${cyan}---exiting---\n${norm}" + exit 1 + ;; + *) + # validate path + if [ -f "${inputKeyPath}" ]; then + KeyPath="${inputKeyPath}" break + else + echo -e "\n${warn}The file you specified doesn't exist${norm}" + while true; do + read -p "Do you want to use this path anyways? " yn + case $yn in + [Yy]*) + KeyPath="${inputKeyPath}" + break + ;; + [Nn]*) + break + ;; + *) + ;; + esac + done + if [ -n "${KeyPath}" ]; then + break + fi fi - fi - ;; - esac -done + ;; + esac + done -# dhparam: get location of DH Parameters file -while true; do - read -p "What is the path to your DH Parameters file? (default: /etc/ssl/certs/dhparam.pem) " inputDHPath - case "${inputDHPath}" in - '') - # verify default path exists - inputDHPath="/etc/ssl/certs/dhparam.pem" - if [ -f "${inputDHPath}" ]; then - DHPath="${inputDHPath}" - break - else - echo -e "\n${warn}The file you specified doesn't exist${norm}" - while true; do - read -p "Do you want to use this path anyways? " yn - case $yn in - [Yy]*) - DHPath="${inputDHPath}" - break - ;; - [Nn]*) - break - ;; - *) - ;; - esac - done - if [ -n "${DHPath}" ]; then + # dhparam: get location of DH Parameters file + while true; do + read -p "What is the path to your DH Parameters file? (default: /etc/ssl/certs/dhparam.pem) " inputDHPath + case "${inputDHPath}" in + '') + # verify default path exists + inputDHPath="/etc/ssl/certs/dhparam.pem" + if [ -f "${inputDHPath}" ]; then + DHPath="${inputDHPath}" break + else + echo -e "\n${warn}The file you specified doesn't exist${norm}" + while true; do + read -p "Do you want to use this path anyways? " yn + case $yn in + [Yy]*) + DHPath="${inputDHPath}" + break + ;; + [Nn]*) + break + ;; + *) + ;; + esac + done + if [ -n "${DHPath}" ]; then + break + fi fi - fi - ;; - [Xx]*) - echo -e "\n${cyan}---exiting---\n${norm}" - exit 1 - ;; - *) - # validate path - if [ -f "${inputDHPath}" ]; then - DHPath="${inputDHPath}" - break - else - echo -e "\n${warn}The file you specified doesn't exist${norm}" - while true; do - read -p "Do you want to use this path anyways? " yn - case $yn in - [Yy]*) - DHPath="${inputDHPath}" - break - ;; - [Nn]*) - break - ;; - *) - ;; - esac - done - if [ -n "${DHPath}" ]; then + ;; + [Xx]*) + echo -e "\n${cyan}---exiting---\n${norm}" + exit 1 + ;; + *) + # validate path + if [ -f "${inputDHPath}" ]; then + DHPath="${inputDHPath}" break + else + echo -e "\n${warn}The file you specified doesn't exist${norm}" + while true; do + read -p "Do you want to use this path anyways? " yn + case $yn in + [Yy]*) + DHPath="${inputDHPath}" + break + ;; + [Nn]*) + break + ;; + *) + ;; + esac + done + if [ -n "${DHPath}" ]; then + break + fi fi - fi - ;; - esac -done - + ;; + esac + done +fi # debug section echo "Local IP4: $IP4"