12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #!/bin/bash
- #=================================================
- # GENERIC STARTING
- #=================================================
- # IMPORT GENERIC HELPERS
- #=================================================
- source _common.sh
- source /usr/share/yunohost/helpers
- #=================================================
- # RETRIEVE ARGUMENTS
- #=================================================
- old_domain=$YNH_APP_OLD_DOMAIN
- old_path=$YNH_APP_OLD_PATH
- new_domain=$YNH_APP_NEW_DOMAIN
- new_path=$YNH_APP_NEW_PATH
- app=$YNH_APP_INSTANCE_NAME
- #=================================================
- # CHECK THE SYNTAX OF THE PATHS
- #=================================================
- test -n "$old_path" || old_path="/"
- test -n "$new_path" || new_path="/"
- new_path=$(ynh_normalize_url_path $new_path)
- old_path=$(ynh_normalize_url_path $old_path)
- #=================================================
- # CHECK WHICH PARTS SHOULD BE CHANGED
- #=================================================
- change_domain=0
- if [ "$old_domain" != "$new_domain" ]
- then
- change_domain=1
- fi
- change_path=0
- if [ "$old_path" != "$new_path" ]
- then
- change_path=1
- fi
- #=================================================
- # STANDARD MODIFICATIONS
- #=================================================
- # MODIFY URL IN NGINX CONF
- #=================================================
- nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf
- # Change the path in the nginx config file
- if [ $change_path -eq 1 ]
- then
- # Replace locations starting with old_path
- # Look for every location possible patterns (see https://nginx.org/en/docs/http/ngx_http_core_module.html#location)
- sudo sed --in-place "s@location\( \(=\|~\|~\*\|\^~\)\)\? $old_path@location\1 $new_path@" "$nginx_conf_path"
- # Replace path in "return" directives
- sudo sed --in-place "s@return \([[:digit:]]\{3\}\) $old_path@return \1 $new_path@" "$nginx_conf_path"
- fi
- # Change the domain for nginx
- if [ $change_domain -eq 1 ]
- then
- mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf
- fi
- #=================================================
- # SPECIFIC MODIFICATIONS
- #=================================================
- # ...
- #=================================================
- #=================================================
- # GENERIC FINALISATION
- #=================================================
- # RELOAD NGINX
- #=================================================
- systemctl reload nginx
|