From 0f8cef9cf843d30fdfcda93642a66b4d35fdcbb1 Mon Sep 17 00:00:00 2001 From: Josue-T Date: Thu, 10 May 2018 00:05:46 +0200 Subject: [PATCH 1/2] Helper - improve ynh_add_nginx_config Add 2 new features : - Permit to replace some others variables in the template - Manage automatically the redirection (alias_transversal issue fix) --- data/helpers.d/backend | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/data/helpers.d/backend b/data/helpers.d/backend index 28c5b8e91..a912cd337 100644 --- a/data/helpers.d/backend +++ b/data/helpers.d/backend @@ -117,7 +117,10 @@ ynh_remove_systemd_config () { # Create a dedicated nginx config # -# usage: ynh_add_nginx_config +# usage: ynh_add_nginx_config "list of others variables to replace" +# +# | arg: list of others variables to replace separeted by a space +# | for example : 'path_2 port_2 ...' # # This will use a template in ../conf/nginx.conf # __PATH__ by $path_url @@ -126,8 +129,13 @@ ynh_remove_systemd_config () { # __NAME__ by $app # __FINALPATH__ by $final_path # +# And dynamic variables (from the last example) : +# __PATH_2__ by $path_2 +# __PORT_2__ by $port_2 +# ynh_add_nginx_config () { - finalnginxconf="/etc/nginx/conf.d/$domain.d/$app.conf" + local finalnginxconf="/etc/nginx/conf.d/$domain.d/$app.conf" + local others_var=${1:-} ynh_backup_if_checksum_is_different "$finalnginxconf" sudo cp ../conf/nginx.conf "$finalnginxconf" @@ -151,6 +159,18 @@ ynh_add_nginx_config () { if test -n "${final_path:-}"; then ynh_replace_string "__FINALPATH__" "$final_path" "$finalnginxconf" fi + + # Replace all other variable given as arguments + for v in $others_var + do + ynh_replace_string "__${v^^}__" "${!v}" "$finalnginxconf" + done + + if [ "${path_url:-}" != "/" ] + then + ynh_replace_string "^#sub_path_only" "" "$finalnginxconf" + fi + ynh_store_file_checksum "$finalnginxconf" sudo systemctl reload nginx From 82b598b5ca33b5230c1f509767ecd87191a3565a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Sat, 12 May 2018 21:31:12 +0200 Subject: [PATCH 2/2] Fix from comment PR #462 --- data/helpers.d/backend | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/data/helpers.d/backend b/data/helpers.d/backend index a912cd337..8dce2df06 100644 --- a/data/helpers.d/backend +++ b/data/helpers.d/backend @@ -134,7 +134,7 @@ ynh_remove_systemd_config () { # __PORT_2__ by $port_2 # ynh_add_nginx_config () { - local finalnginxconf="/etc/nginx/conf.d/$domain.d/$app.conf" + finalnginxconf="/etc/nginx/conf.d/$domain.d/$app.conf" local others_var=${1:-} ynh_backup_if_checksum_is_different "$finalnginxconf" sudo cp ../conf/nginx.conf "$finalnginxconf" @@ -161,14 +161,18 @@ ynh_add_nginx_config () { fi # Replace all other variable given as arguments - for v in $others_var + for var_to_replace in $others_var do - ynh_replace_string "__${v^^}__" "${!v}" "$finalnginxconf" + # ${var_to_replace^^} make the content of the variable on upper-cases + # ${!var_to_replace} get the content of the variable named $var_to_replace + ynh_replace_string "__${var_to_replace^^}__" "${!var_to_replace}" "$finalnginxconf" done if [ "${path_url:-}" != "/" ] then ynh_replace_string "^#sub_path_only" "" "$finalnginxconf" + else + ynh_replace_string "^#root_path_only" "" "$finalnginxconf" fi ynh_store_file_checksum "$finalnginxconf"