| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | 
							- #!/bin/bash
 
- #=================================================
 
- # GENERIC STARTING
 
- #=================================================
 
- # IMPORT GENERIC HELPERS
 
- #=================================================
 
- source _common.sh
 
- source /usr/share/yunohost/helpers
 
- #=================================================
 
- # LOAD SETTINGS
 
- #=================================================
 
- app=$YNH_APP_INSTANCE_NAME
 
- domain=$(ynh_app_setting_get $app domain)
 
- path_url=$(ynh_app_setting_get $app path)
 
- admin=$(ynh_app_setting_get $app admin)
 
- is_public=$(ynh_app_setting_get $app is_public)
 
- final_path=$(ynh_app_setting_get $app final_path)
 
- port=$(ynh_app_setting_get $app port)
 
- db_name=$(ynh_app_setting_get $app db_name)
 
- #=================================================
 
- # FIX OLD THINGS
 
- #=================================================
 
- if [ "$is_public" = "Yes" ]; then
 
- 	ynh_app_setting_set $app is_public 1	# Fix is_public as a boolean value
 
- 	is_public=1
 
- elif [ "$is_public" = "No" ]; then
 
- 	ynh_app_setting_set $app is_public 0
 
- 	is_public=0
 
- fi
 
- if [ -z $db_name ]; then	# If db_name doesn't exist, create it
 
- 	db_name=$(ynh_sanitize_dbid $app)
 
- 	ynh_app_setting_set $app db_name $db_name
 
- fi
 
- #=================================================
 
- # CHECK THE PATH
 
- #=================================================
 
- # Normalize the url path syntax
 
- path_url=$(ynh_normalize_url_path $path_url)
 
- #=================================================
 
- # STANDARD UPGRADE STEPS
 
- #=================================================
 
- # DOWNLOAD, CHECK AND UNPACK SOURCE
 
- #=================================================
 
- # Download, check integrity, uncompress and patch the source from app.src
 
- ynh_setup_source "$final_path"
 
- #=================================================
 
- # NGINX CONFIGURATION
 
- #=================================================
 
- # Create a dedicated nginx config
 
- ynh_nginx_config
 
- #=================================================
 
- # CREATE DEDICATED USER
 
- #=================================================
 
- # Create a system user
 
- ynh_system_user_create $app
 
- #=================================================
 
- # PHP-FPM CONFIGURATION
 
- #=================================================
 
- # Create a dedicated php-fpm config
 
- ynh_fpm_config
 
- #=================================================
 
- # SPECIFIC UPGRADE
 
- #=================================================
 
- # ...
 
- #=================================================
 
- # Verify the checksum and backup the file if it's different
 
- ynh_backup_if_checksum_is_different "$final_path/CONFIG_FILE"
 
- # Recalculate and store the config file checksum into the app settings
 
- ynh_store_file_checksum "$final_path/CONFIG_FILE"
 
- #=================================================
 
- # SETUP LOGROTATE
 
- #=================================================
 
- # Use logrotate to manage the logfile
 
- ynh_use_logrotate
 
- #=================================================
 
- # SETUP SYSTEMD
 
- #=================================================
 
- # Create a dedicated systemd config
 
- ynh_systemd_config
 
- #=================================================
 
- # GENERIC FINALISATION
 
- #=================================================
 
- # SECURING FILES AND DIRECTORIES
 
- #=================================================
 
- # Set right permissions for curl install
 
- sudo chown -R root: $final_path
 
- #=================================================
 
- # SETUP SSOWAT
 
- #=================================================
 
- if [ $is_public -eq 0 ]
 
- then	# Remove the public access
 
- 	ynh_app_setting_delete $app skipped_uris
 
- fi
 
- # Make app public if necessary
 
- if [ $is_public -eq 1 ]
 
- then
 
- 	# unprotected_uris allows SSO credentials to be passed anyway.
 
- 	ynh_app_setting_set $app unprotected_uris "/"
 
- fi
 
- #=================================================
 
- # RELOAD NGINX
 
- #=================================================
 
- sudo systemctl reload nginx
 
 
  |