change_url 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/bin/bash
  2. #=================================================
  3. # GENERIC STARTING
  4. #=================================================
  5. # IMPORT GENERIC HELPERS
  6. #=================================================
  7. source /usr/share/yunohost/helpers
  8. #=================================================
  9. # RETRIEVE ARGUMENTS
  10. #=================================================
  11. old_domain=$YNH_APP_OLD_DOMAIN
  12. old_path=$YNH_APP_OLD_PATH
  13. new_domain=$YNH_APP_NEW_DOMAIN
  14. new_path=$YNH_APP_NEW_PATH
  15. app=$YNH_APP_INSTANCE_NAME
  16. #=================================================
  17. # CHECK THE SYNTAX OF THE PATHS
  18. #=================================================
  19. test -n "$old_path" || old_path="/"
  20. test -n "$new_path" || new_path="/"
  21. new_path=$(ynh_normalize_url_path $new_path)
  22. old_path=$(ynh_normalize_url_path $old_path)
  23. #=================================================
  24. # CHECK WHICH PARTS SHOULD BE CHANGED
  25. #=================================================
  26. change_domain=0
  27. if [ "$old_domain" != "$new_domain" ]
  28. then
  29. change_domain=1
  30. fi
  31. change_path=0
  32. if [ "$old_path" != "$new_path" ]
  33. then
  34. change_path=1
  35. fi
  36. #=================================================
  37. # STANDARD MODIFICATIONS
  38. #=================================================
  39. # MODIFY URL IN NGINX CONF
  40. #=================================================
  41. nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf
  42. # Change the path in the nginx config file
  43. if [ $change_path -eq 1 ]
  44. then
  45. ynh_replace_string "location $old_path" "location $new_path" "$nginx_conf_path"
  46. fi
  47. # Change the domain for nginx
  48. if [ $change_domain -eq 1 ]
  49. then
  50. sudo mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf
  51. fi
  52. #=================================================
  53. # SPECIFIC MODIFICATIONS
  54. #=================================================
  55. # ...
  56. #=================================================
  57. #=================================================
  58. # GENERIC FINALISATION
  59. #=================================================
  60. # RELOAD NGINX
  61. #=================================================
  62. sudo systemctl reload nginx