From 0f8cef9cf843d30fdfcda93642a66b4d35fdcbb1 Mon Sep 17 00:00:00 2001 From: Josue-T Date: Thu, 10 May 2018 00:05:46 +0200 Subject: [PATCH] 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