Changes in change_ssl_directives.sh: skip replacement if directive is already present.
This commit is contained in:
parent
1e60c49b19
commit
031b099eff
@ -2815,7 +2815,7 @@ echo_failed(){
|
|||||||
echo -e "\033[75G[ \033[1;31mfailed\033[m ]"
|
echo -e "\033[75G[ \033[1;31mfailed\033[m ]"
|
||||||
}
|
}
|
||||||
echo_skipped() {
|
echo_skipped() {
|
||||||
echo -e "\033[75G[ \033[33m\033[1mskipped\033[m ]"
|
echo -e "\033[75G[ \033[37m\033[1mskipped\033[m ]"
|
||||||
}
|
}
|
||||||
|
|
||||||
## - Check if a given array (parameter 2) contains a given string (parameter 1)
|
## - Check if a given array (parameter 2) contains a given string (parameter 1)
|
||||||
@ -2940,11 +2940,16 @@ fi
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echononl " Backup existing VHost Directory .."
|
echononl " Backup existing VHost Directory .."
|
||||||
cp -a \$VHOST_DIR \${VHOST_DIR}.\$_date
|
if [[ "\$(dirname \$VHOST_DIR)" =~ vhosts?/?\$ ]] ; then
|
||||||
|
BACKUP_SRC_DIR="\$(dirname \$VHOST_DIR)"
|
||||||
|
else
|
||||||
|
BACKUP_SRC_DIR="\$VHOST_DIR"
|
||||||
|
fi
|
||||||
|
cp -a "\$BACKUP_SRC_DIR" "\${BACKUP_SRC_DIR}.\$_date"
|
||||||
if [[ \$? -eq 0 ]] ; then
|
if [[ \$? -eq 0 ]] ; then
|
||||||
echo_ok
|
echo_ok
|
||||||
else
|
else
|
||||||
echo_skipped
|
echo_failed
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
@ -2988,40 +2993,60 @@ while IFS=' ' read -r site_server_name rest ; do
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
failed=false
|
failed=false
|
||||||
|
_ssl_directive_changed=false
|
||||||
if [[ "\$VHOST_DIR" =~ apache ]]; then
|
if [[ "\$VHOST_DIR" =~ apache ]]; then
|
||||||
|
# - Apache or nginx ?
|
||||||
|
# -
|
||||||
for _name in \${vhost_file_arr[@]} ; do
|
for _name in \${vhost_file_arr[@]} ; do
|
||||||
perl -i -n -p -e s"#^(\s*)SSLCertificateFile.*#\1SSLCertificateFile \${_cert_dir}/fullchain.pem#" \$_name
|
if ! grep -q -i -E "\s*SSLCertificateFile\s*\${_cert_dir}/fullchain.pem" \$_name 2> /dev/null ; then
|
||||||
[[ \$? -ne 0 ]] && failed=true
|
perl -i -n -p -e s"#^(\s*)SSLCertificateFile.*#\1SSLCertificateFile \${_cert_dir}/fullchain.pem#" \$_name
|
||||||
perl -i -n -p -e s"#^(\s*)SSLCertificateKeyFile.*#\1SSLCertificateKeyFile \${_cert_dir}/privkey.pem#" \$_name
|
[[ \$? -ne 0 ]] && failed=true
|
||||||
[[ \$? -ne 0 ]] && failed=true
|
_ssl_directive_changed=true
|
||||||
sed -i '/SSLCertificateChainFile/d' \$_name
|
fi
|
||||||
[[ \$? -ne 0 ]] && failed=true
|
if ! grep -q -i -E "\s*SSLCertificateKeyFile\s+\${_cert_dir}/privkey.pem" \$_name 2> /dev/null ; then
|
||||||
|
perl -i -n -p -e s"#^(\s*)SSLCertificateKeyFile.*#\1SSLCertificateKeyFile \${_cert_dir}/privkey.pem#" \$_name
|
||||||
|
[[ \$? -ne 0 ]] && failed=true
|
||||||
|
_ssl_directive_changed=true
|
||||||
|
fi
|
||||||
|
if grep -q -i -E "\s*/SSLCertificateChainFile" \$_name 2> /dev/null ; then
|
||||||
|
sed -i '/SSLCertificateChainFile/d' \$_name
|
||||||
|
[[ \$? -ne 0 ]] && failed=true
|
||||||
|
_ssl_directive_changed=true
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
for _name in \${vhost_file_arr[@]} ; do
|
for _name in \${vhost_file_arr[@]} ; do
|
||||||
perl -i -n -p -e s"#^(\s*)ssl_certificate\s+.*#\1ssl_certificate \${_cert_dir}/fullchain.pem;#" \$_name
|
if ! grep -q -i -E "\s*\s*ssl_certificate\s+\${_cert_dir}/fullchain.pem" \$_name 2> /dev/null ; then
|
||||||
[[ \$? -ne 0 ]] && failed=true
|
perl -i -n -p -e s"#^(\s*)ssl_certificate\s+.*#\1ssl_certificate \${_cert_dir}/fullchain.pem;#" \$_name
|
||||||
perl -i -n -p -e s"#^(\s*)ssl_certificate_key\s+.*#\1ssl_certificate_key \${_cert_dir}/privkey.pem;#" \$_name
|
[[ \$? -ne 0 ]] && failed=true
|
||||||
[[ \$? -ne 0 ]] && failed=true
|
_ssl_directive_changed=true
|
||||||
sed -i '/SSLCertificateChainFile/d' \$_name
|
fi
|
||||||
[[ \$? -ne 0 ]] && failed=true
|
if ! grep -q -i -E "\s*\s*ssl_certificate_key\s+\${_cert_dir}/privkey.pem" \$_name 2> /dev/null ; then
|
||||||
|
perl -i -n -p -e s"#^(\s*)ssl_certificate_key\s+.*#\1ssl_certificate_key \${_cert_dir}/privkey.pem;#" \$_name
|
||||||
|
[[ \$? -ne 0 ]] && failed=true
|
||||||
|
_ssl_directive_changed=true
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
if \$failed ; then
|
if \$_ssl_directive_changed ; then
|
||||||
echo_failed
|
if \$failed ; then
|
||||||
|
echo_failed
|
||||||
|
else
|
||||||
|
echo_ok
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo_ok
|
echo_skipped
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done < <(cat \$DOMAINS_TXT_FILE)
|
done < <(cat \$DOMAINS_TXT_FILE)
|
||||||
|
|
||||||
if [[ -d "\${VHOST_DIR}.\$_date" ]]; then
|
if [[ -d "\${BACKUP_SRC_DIR}.\$_date" ]]; then
|
||||||
diff -Nur \$VHOST_DIR \${VHOST_DIR}.\$_date > /dev/null 2>&1
|
diff -Nur "\$BACKUP_SRC_DIR" "\${BACKUP_SRC_DIR}.\$_date" > /dev/null 2>&1
|
||||||
if [[ \$? -eq 0 ]]; then
|
if [[ \$? -eq 0 ]]; then
|
||||||
info "No VHosts configuration has changed.\n\t Removing previously created backup"
|
info "No VHosts configuration has changed.\n\t Removing previously created backup"
|
||||||
echononl "Delete \"\${VHOST_DIR}.\$_date\".."
|
echononl "Delete \"\${BACKUP_SRC_DIR}.\$_date\".."
|
||||||
rm -rf \${VHOST_DIR}.\$_date
|
rm -rf "\${BACKUP_SRC_DIR}.\$_date"
|
||||||
if [[ \$? -eq 0 ]]; then
|
if [[ \$? -eq 0 ]]; then
|
||||||
echo_ok
|
echo_ok
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user