| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | 
							- #!/bin/bash
 
- #=================================================
 
- # GENERIC START
 
- #=================================================
 
- # IMPORT GENERIC HELPERS
 
- #=================================================
 
- if [ ! -e _common.sh ]; then
 
- 	# Get the _common.sh file if it's not in the current directory
 
- 	cp ../settings/scripts/_common.sh ./_common.sh
 
- 	chmod a+rx _common.sh
 
- fi
 
- source _common.sh
 
- source /usr/share/yunohost/helpers
 
- #=================================================
 
- # MANAGE SCRIPT FAILURE
 
- #=================================================
 
- ynh_clean_setup () {
 
- 	#### Remove this function if there's nothing to clean before calling the remove script.
 
- 	true
 
- }
 
- # Exit if an error occurs during the execution of the script
 
- ynh_abort_if_errors
 
- #=================================================
 
- # LOAD SETTINGS
 
- #=================================================
 
- app=$YNH_APP_INSTANCE_NAME
 
- domain=$(ynh_app_setting_get $app domain)
 
- path_url=$(ynh_app_setting_get $app path)
 
- final_path=$(ynh_app_setting_get $app final_path)
 
- db_name=$(ynh_app_setting_get $app db_name)
 
- #=================================================
 
- # CHECK IF THE APP CAN BE RESTORED
 
- #=================================================
 
- ynh_webpath_available $domain $path_url \
 
- 	|| ynh_die "Path not available: ${domain}${path_url}"
 
- test ! -d $final_path \
 
- 	|| ynh_die "There is already a directory: $final_path "
 
- #=================================================
 
- # STANDARD RESTORATION STEPS
 
- #=================================================
 
- # RESTORE THE NGINX CONFIGURATION
 
- #=================================================
 
- ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf"
 
- #=================================================
 
- # RESTORE THE APP MAIN DIR
 
- #=================================================
 
- ynh_restore_file "$final_path"
 
- #=================================================
 
- # RESTORE THE MYSQL DATABASE
 
- #=================================================
 
- db_pwd=$(ynh_app_setting_get $app mysqlpwd)
 
- ynh_mysql_setup_db $db_name $db_name $db_pwd
 
- ynh_mysql_connect_as $db_name $db_pwd $db_name < ./db.sql
 
- #=================================================
 
- # RECREATE THE DEDICATED USER
 
- #=================================================
 
- # Create the dedicated user (if not existing)
 
- ynh_system_user_create $app
 
- #=================================================
 
- # RESTORE USER RIGHTS
 
- #=================================================
 
- # Restore permissions on app files
 
- chown -R root: $final_path
 
- #=================================================
 
- # RESTORE THE PHP-FPM CONFIGURATION
 
- #=================================================
 
- ynh_restore_file "/etc/php5/fpm/pool.d/$app.conf"
 
- ynh_restore_file "/etc/php5/fpm/conf.d/20-$app.ini"
 
- #=================================================
 
- # SPECIFIC RESTORATION
 
- #=================================================
 
- # REINSTALL DEPENDENCIES
 
- #=================================================
 
- # Define and install dependencies
 
- ynh_install_app_dependencies deb1 deb2
 
- #=================================================
 
- # ADVERTISE SERVICE IN ADMIN PANEL
 
- #=================================================
 
- yunohost service add $app --log "/var/log/$app/APP.log"
 
- #=================================================
 
- # RESTORE SYSTEMD
 
- #=================================================
 
- ynh_restore_file "/etc/systemd/system/$app.service"
 
- systemctl enable $app.service
 
- #=================================================
 
- # RESTORE THE CRON FILE
 
- #=================================================
 
- ynh_restore_file "/etc/cron.d/$app"
 
- #=================================================
 
- # RESTORE THE LOGROTATE CONFIGURATION
 
- #=================================================
 
- ynh_restore_file "/etc/logrotate.d/$app"
 
- #=================================================
 
- # GENERIC FINALIZATION
 
- #=================================================
 
- # RELOAD NGINX AND PHP-FPM
 
- #=================================================
 
- systemctl reload php5-fpm
 
- systemctl reload nginx
 
 
  |