#!/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 ../settings/scripts/_common.sh source /usr/share/yunohost/helpers #================================================= # MANAGE SCRIPT FAILURE #================================================= # 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) admin=$(ynh_app_setting_get $app admin) #================================================= # 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 " # Check user ynh_user_exists "$admin" #================================================= # 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 #================================================= # SPECIFIC RESTORATION #================================================= # REINSTALL DEPENDENCIES #================================================= # Define and install dependencies ynh_install_app_dependencies $pkg_dependencies #Check & regen local for i in $lang ; do ynh_replace_string "# $i" "$i" /etc/locale.gen done locale-gen #Temporaire - mettre en config ln -s $final_path/lang/fr $final_path/lang/fr_FR ln -s $final_path/lang/it $final_path/lang/it_IT ln -s $final_path/www/template-exemple $final_path/template-exemple #================================================= # RESTORE POSTFIX ALIASES #================================================= cp -R ../sources/hooks/conf_regen/98-postfix_emailpoubelle /usr/share/yunohost/hooks/conf_regen/ yunohost service regen-conf postfix #create an alias for deleted junk adresses if ! [ grep "devnull:/dev/null" /etc/aliases ] ; then cp /etc/aliases /etc/aliases.emailpoubelle.bak #backup it echo "devnull:/dev/null" | tee -a /etc/aliases newaliases fi #================================================= # RESTORE THE CRON FILE #================================================= ynh_restore_file "/etc/cron.d/$app" #================================================= # GENERIC FINALIZATION #================================================= # RELOAD NGINX & ALIASES #================================================= postmap $final_path/var/virtual systemctl reload nginx systemctl restart php7.0-fpm systemctl reload postfix