diff --git a/install_dehydrated.sh b/install_dehydrated.sh index 80dffdf..1f6ac88 100755 --- a/install_dehydrated.sh +++ b/install_dehydrated.sh @@ -529,13 +529,19 @@ EOF echo_skipped fi + if [[ ! -d "/var/lib/dehydrated/certs/${HOST_NAME}" ]]; then + URL_SCHEMA="http" + else + URL_SCHEMA="https" + fi + echononl " Adjust ${GITLAB_CONF_FILE} - external_url" if ! grep -E "^\s*external_url" $GITLAB_CONF_FILE 2> /dev/null | grep -q -E "${HOST_NAME}" 2> /dev/null ; then if grep -q -E "^\s*external_url" $GITLAB_CONF_FILE 2> /dev/null ; then - perl -i -n -p -e "s#^(\s*(external_url).*)#\#\# \1\n\2 'https://${HOST_NAME}'#" $GITLAB_CONF_FILE + perl -i -n -p -e "s#^(\s*(external_url).*)#\#\# \1\n\2 '${URL_SCHEMA}://${HOST_NAME}'#" $GITLAB_CONF_FILE if [[ $? -eq 0 ]] ; then echo_ok gitlab_reconfigure=true @@ -550,7 +556,7 @@ EOF ## Added by dehydrated install script $(basename $0) ################################################################################ -external_url 'https://${HOST_NAME}' +external_url '${URL_SCHEMA}://${HOST_NAME}' EOF if [[ $? -eq 0 ]] ; then @@ -560,7 +566,7 @@ EOF echo_failed fi else - perl -i -n -p -e "s#^(\s*\#\s*(external_url).*)#\1\n\2 'https://${HOST_NAME}'#" $GITLAB_CONF_FILE + perl -i -n -p -e "s#^(\s*\#\s*(external_url).*)#\1\n\2 '${URL_SCHEMA}://${HOST_NAME}'#" $GITLAB_CONF_FILE if [[ $? -eq 0 ]] ; then echo_ok gitlab_reconfigure=true @@ -637,22 +643,24 @@ EOF echo_skipped fi - echononl " Adjust ${GITLAB_CONF_FILE} - nginx['redirect_http_to_https']" + if [[ ! -d "/var/lib/dehydrated/certs/${HOST_NAME}" ]]; then + + echononl " Adjust ${GITLAB_CONF_FILE} - nginx['redirect_http_to_https']" - if ! grep -E "^\s*nginx\['redirect_http_to_https'\]" $GITLAB_CONF_FILE 2> /dev/null | grep -q -E "true" 2> /dev/null ; then + if ! grep -E "^\s*nginx\['redirect_http_to_https'\]" $GITLAB_CONF_FILE 2> /dev/null | grep -q -E "true" 2> /dev/null ; then - if grep -q -E "^\s*nginx\['redirect_http_to_https'\]" $GITLAB_CONF_FILE 2> /dev/null ; then + if grep -q -E "^\s*nginx\['redirect_http_to_https'\]" $GITLAB_CONF_FILE 2> /dev/null ; then - perl -i -n -p -e "s#^(\s*(nginx\['redirect_http_to_https'\]).*)#\#\# \1\n\2 = true#" $GITLAB_CONF_FILE - if [[ $? -eq 0 ]] ; then - echo_ok - gitlab_reconfigure=true - else - echo_failed - fi - - elif ! grep -q -E "^\s*#\s*nginx\['redirect_http_to_https'\]" $GITLAB_CONF_FILE 2> /dev/null ; then - cat <> ${GITLAB_CONF_FILE} + perl -i -n -p -e "s#^(\s*(nginx\['redirect_http_to_https'\]).*)#\#\# \1\n\2 = true#" $GITLAB_CONF_FILE + if [[ $? -eq 0 ]] ; then + echo_ok + gitlab_reconfigure=true + else + echo_failed + fi + + elif ! grep -q -E "^\s*#\s*nginx\['redirect_http_to_https'\]" $GITLAB_CONF_FILE 2> /dev/null ; then + cat <> ${GITLAB_CONF_FILE} ################################################################################ ## Added by dehydrated install script $(basename $0) @@ -661,6 +669,28 @@ EOF nginx['redirect_http_to_https'] = true EOF + if [[ $? -eq 0 ]] ; then + echo_ok + gitlab_reconfigure=true + else + echo_failed + fi + else + perl -i -n -p -e "s#^(\s*\#\s*(nginx\['redirect_http_to_https'\]).*)#\1\n\2 = true#" $GITLAB_CONF_FILE + if [[ $? -eq 0 ]] ; then + echo_ok + gitlab_reconfigure=true + else + echo_failed + fi + fi + else + echo_skipped + fi + + echononl " Create Directory '/etc/gitlab/ssl'.." + if [[ ! -d "/etc/gitlab/ssl" ]]; then + mkdir -p "/etc/gitlab/ssl" > /dev/null 2>&1 if [[ $? -eq 0 ]] ; then echo_ok gitlab_reconfigure=true @@ -668,7 +698,17 @@ EOF echo_failed fi else - perl -i -n -p -e "s#^(\s*\#\s*(nginx\['redirect_http_to_https'\]).*)#\1\n\2 = true#" $GITLAB_CONF_FILE + echo_skipped + fi + + echononl " Create Symlink '/etc/gitlab/ssl/${HOST_NAME}.key'.." + + if [[ -h "/etc/gitlab/ssl/${HOST_NAME}.key" ]] \ + && [[ "$(readlink -qs "/etc/gitlab/ssl/${HOST_NAME}.key")" = "/var/lib/dehydrated/certs/${HOST_NAME}/privkey.pem" ]] ; then + echo_skipped + else + rm -rf "/etc/gitlab/ssl/${HOST_NAME}.key" > /dev/null 2>&1 + ln -s "/var/lib/dehydrated/certs/${HOST_NAME}/privkey.pem" "/etc/gitlab/ssl/${HOST_NAME}.key" > /dev/null 2>&1 if [[ $? -eq 0 ]] ; then echo_ok gitlab_reconfigure=true @@ -676,52 +716,22 @@ EOF echo_failed fi fi - else - echo_skipped - fi - echononl " Create Directory '/etc/gitlab/ssl'.." - if [[ ! -d "/etc/gitlab/ssl" ]]; then - mkdir -p "/etc/gitlab/ssl" > /dev/null 2>&1 - if [[ $? -eq 0 ]] ; then - echo_ok - gitlab_reconfigure=true + echononl " Create Symlink '/etc/gitlab/ssl/${HOST_NAME}.crt'.." + if [[ -h "/etc/gitlab/ssl/${HOST_NAME}.crt" ]] \ + && [[ "$(readlink -qs "/etc/gitlab/ssl/${HOST_NAME}.crt")" = "/var/lib/dehydrated/certs/${HOST_NAME}/fullchain.pem" ]]; then + echo_skipped else - echo_failed + rm -rf "/etc/gitlab/ssl/${HOST_NAME}.crt" > /dev/null 2>&1 + ln -s "/var/lib/dehydrated/certs/${HOST_NAME}/fullchain.pem" "/etc/gitlab/ssl/${HOST_NAME}.crt" > /dev/null 2>&1 + if [[ $? -eq 0 ]] ; then + echo_ok + gitlab_reconfigure=true + else + echo_failed + fi fi - else - echo_skipped - fi - echononl " Create Symlink '/etc/gitlab/ssl/${HOST_NAME}.key'.." - - if [[ -h "/etc/gitlab/ssl/${HOST_NAME}.key" ]] \ - && [[ "$(readlink -qs "/etc/gitlab/ssl/${HOST_NAME}.key")" = "/var/lib/dehydrated/certs/${HOST_NAME}/privkey.pem" ]] ; then - echo_skipped - else - rm -rf "/etc/gitlab/ssl/${HOST_NAME}.key" > /dev/null 2>&1 - ln -s "/var/lib/dehydrated/certs/${HOST_NAME}/privkey.pem" "/etc/gitlab/ssl/${HOST_NAME}.key" > /dev/null 2>&1 - if [[ $? -eq 0 ]] ; then - echo_ok - gitlab_reconfigure=true - else - echo_failed - fi - fi - - echononl " Create Symlink '/etc/gitlab/ssl/${HOST_NAME}.crt'.." - if [[ -h "/etc/gitlab/ssl/${HOST_NAME}.crt" ]] \ - && [[ "$(readlink -qs "/etc/gitlab/ssl/${HOST_NAME}.crt")" = "/var/lib/dehydrated/certs/${HOST_NAME}/fullchain.pem" ]]; then - echo_skipped - else - rm -rf "/etc/gitlab/ssl/${HOST_NAME}.crt" > /dev/null 2>&1 - ln -s "/var/lib/dehydrated/certs/${HOST_NAME}/fullchain.pem" "/etc/gitlab/ssl/${HOST_NAME}.crt" > /dev/null 2>&1 - if [[ $? -eq 0 ]] ; then - echo_ok - gitlab_reconfigure=true - else - echo_failed - fi fi fi