diff --git a/scripts/restore.orig b/scripts/restore.orig new file mode 100755 index 0000000..3a978b5 --- /dev/null +++ b/scripts/restore.orig @@ -0,0 +1,152 @@ +#!/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 +#================================================= + +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading settings..." --time --weight=1 + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get --app=$app --key=domain) +path_url=$(ynh_app_setting_get --app=$app --key=path) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +db_name=$(ynh_app_setting_get --app=$app --key=db_name) +db_user=$db_name + +#================================================= +# CHECK IF THE APP CAN BE RESTORED +#================================================= +ynh_script_progression --message="Validating restoration parameters..." --time --weight=1 + +ynh_webpath_available --domain=$domain --path_url=$path_url \ +|| ynh_die --message="Path not available: ${domain}${path_url}" +test ! -d $final_path \ +|| ynh_die --message="There is already a directory: $final_path "s + +#================================================= +# STANDARD RESTORATION STEPS +#================================================= +# RESTORE THE NGINX CONFIGURATION +#================================================= + +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" + +#================================================= +# RESTORE THE APP MAIN DIR +#================================================= + +ynh_script_progression --message="Restoring the app main directory..." --time --weight=1 + +ynh_restore_file --origin_path="$final_path" + +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1 + +# Create the dedicated user (if not existing) +ynh_system_user_create --username=$app + +#================================================= +# RESTORE USER RIGHTS +#================================================= + +# Restore permissions on app files +chown -R $app: $final_path + +#================================================= +# RESTORE THE PHP-FPM CONFIGURATION +#================================================= + +ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" + +#================================================= +# SPECIFIC RESTORATION +#================================================= +# REINSTALL DEPENDENCIES +#================================================= +ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 + +# Define and install dependencies +ynh_install_app_dependencies $pkg_dependencies + +#================================================= +# RESTORE THE MYSQL DATABASE +#================================================= +ynh_script_progression --message="Restoring the MySQL database..." --time --weight=1 + +db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) +ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd +ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql + +#================================================= +# ADVERTISE SERVICE IN ADMIN PANEL +#================================================= + +yunohost service add $app --log "/var/log/$app/$app.log" + +#================================================= +# RESTORE THE LOGROTATE CONFIGURATION +#================================================= + +ynh_restore_file --origin_path="/etc/logrotate.d/$app" + +#================================================= +# SPECIFIC UPGRADE +#================================================= +init_composer $final_path +<<<<<<< HEAD +cd $final_path && sudo /usr/bin/$phpversion artisan migrate --env=production --force +cd $final_path && sudo /usr/bin/$phpversion artisan cache:clear +cd $final_path && sudo /usr/bin/$phpversion firefly:upgrade-database +cd $final_path && sudo /usr/bin/$phpversion firefly:verify +cd $final_path && sudo /usr/bin/$phpversion passport:install +======= +cd $final_path && sudo /usr/bin/php$phpversion artisan migrate --env=production --force +cd $final_path && sudo /usr/bin/php$phpversion artisan cache:clear +cd $final_path && sudo /usr/bin/php$phpversion artisan firefly:upgrade-database +cd $final_path && sudo /usr/bin/php$phpversion artisan firefly:verify +cd $final_path && sudo /usr/bin/php$phpversion artisan passport:install +>>>>>>> 87fccba099c4ee4e22f4988fd409a8b760b3bfaf + +#================================================= +# GENERIC FINALIZATION +#================================================= +# RELOAD NGINX AND PHP-FPM +#================================================= +ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 + +<<<<<<< HEAD +ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload +======= +ynh_systemd_action --service_name=php$phpversion-fpm --action=reload +>>>>>>> 87fccba099c4ee4e22f4988fd409a8b760b3bfaf +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Restoration completed for $app" --time --last diff --git a/scripts/restore~ b/scripts/restore~ new file mode 100755 index 0000000..3a978b5 --- /dev/null +++ b/scripts/restore~ @@ -0,0 +1,152 @@ +#!/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 +#================================================= + +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading settings..." --time --weight=1 + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get --app=$app --key=domain) +path_url=$(ynh_app_setting_get --app=$app --key=path) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +db_name=$(ynh_app_setting_get --app=$app --key=db_name) +db_user=$db_name + +#================================================= +# CHECK IF THE APP CAN BE RESTORED +#================================================= +ynh_script_progression --message="Validating restoration parameters..." --time --weight=1 + +ynh_webpath_available --domain=$domain --path_url=$path_url \ +|| ynh_die --message="Path not available: ${domain}${path_url}" +test ! -d $final_path \ +|| ynh_die --message="There is already a directory: $final_path "s + +#================================================= +# STANDARD RESTORATION STEPS +#================================================= +# RESTORE THE NGINX CONFIGURATION +#================================================= + +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" + +#================================================= +# RESTORE THE APP MAIN DIR +#================================================= + +ynh_script_progression --message="Restoring the app main directory..." --time --weight=1 + +ynh_restore_file --origin_path="$final_path" + +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1 + +# Create the dedicated user (if not existing) +ynh_system_user_create --username=$app + +#================================================= +# RESTORE USER RIGHTS +#================================================= + +# Restore permissions on app files +chown -R $app: $final_path + +#================================================= +# RESTORE THE PHP-FPM CONFIGURATION +#================================================= + +ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" + +#================================================= +# SPECIFIC RESTORATION +#================================================= +# REINSTALL DEPENDENCIES +#================================================= +ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 + +# Define and install dependencies +ynh_install_app_dependencies $pkg_dependencies + +#================================================= +# RESTORE THE MYSQL DATABASE +#================================================= +ynh_script_progression --message="Restoring the MySQL database..." --time --weight=1 + +db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) +ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd +ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql + +#================================================= +# ADVERTISE SERVICE IN ADMIN PANEL +#================================================= + +yunohost service add $app --log "/var/log/$app/$app.log" + +#================================================= +# RESTORE THE LOGROTATE CONFIGURATION +#================================================= + +ynh_restore_file --origin_path="/etc/logrotate.d/$app" + +#================================================= +# SPECIFIC UPGRADE +#================================================= +init_composer $final_path +<<<<<<< HEAD +cd $final_path && sudo /usr/bin/$phpversion artisan migrate --env=production --force +cd $final_path && sudo /usr/bin/$phpversion artisan cache:clear +cd $final_path && sudo /usr/bin/$phpversion firefly:upgrade-database +cd $final_path && sudo /usr/bin/$phpversion firefly:verify +cd $final_path && sudo /usr/bin/$phpversion passport:install +======= +cd $final_path && sudo /usr/bin/php$phpversion artisan migrate --env=production --force +cd $final_path && sudo /usr/bin/php$phpversion artisan cache:clear +cd $final_path && sudo /usr/bin/php$phpversion artisan firefly:upgrade-database +cd $final_path && sudo /usr/bin/php$phpversion artisan firefly:verify +cd $final_path && sudo /usr/bin/php$phpversion artisan passport:install +>>>>>>> 87fccba099c4ee4e22f4988fd409a8b760b3bfaf + +#================================================= +# GENERIC FINALIZATION +#================================================= +# RELOAD NGINX AND PHP-FPM +#================================================= +ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 + +<<<<<<< HEAD +ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload +======= +ynh_systemd_action --service_name=php$phpversion-fpm --action=reload +>>>>>>> 87fccba099c4ee4e22f4988fd409a8b760b3bfaf +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Restoration completed for $app" --time --last diff --git a/scripts/upgrade b/scripts/upgrade index dc1ef09..f16bc97 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -152,7 +152,7 @@ ynh_system_user_create --username=$app ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1 # Create a dedicated php-fpm config -ynh_add_fpm_config --phpversion=7.2 +ynh_add_fpm_config --phpversion="$phpversion" #================================================= # STORE THE CONFIG FILE CHECKSUM @@ -175,6 +175,9 @@ ynh_use_logrotate --non-append #================================================= # SPECIFIC UPGRADE #================================================= +# Install via composer +ynh_install_composer --phpversion="$phpversion" + # Get the admin email email=$(ynh_user_get_info --username=$admin --key='mail') @@ -190,12 +193,13 @@ ynh_replace_string --match_string"yunobase" --replace_string="$db_name" --f ynh_replace_string --match_string"yunomail" --replace_string="$email" --file="$final_path/.env" ynh_replace_string --match_string"yunodomain" --replace_string="$domain" --file="$final_path/.env" -init_composer $final_path -cd $final_path && sudo /usr/bin/php7.2 artisan migrate --env=production --force -cd $final_path && sudo /usr/bin/php7.2 artisan cache:clear -cd $final_path && sudo /usr/bin/php7.2 artisan firefly:upgrade-database -cd $final_path && sudo /usr/bin/php7.2 artisan firefly:verify -cd $final_path && sudo /usr/bin/php7.2 artisan passport:install +#init_composer $final_path + +cd $final_path && php$phpversion artisan migrate --env=production --force +cd $final_path && php$phpversion artisan cache:clear +cd $final_path && php$phpversion artisan firefly:upgrade-database +cd $final_path && php$phpversion artisan firefly:verify +cd $final_path && php$phpversion artisan passport:install # Verify the checksum and backup the file if it's different ynh_backup_if_checksum_is_different --file="$final_path/.env" @@ -210,6 +214,7 @@ ynh_store_file_checksum --file="$final_path/.env" # Set right permissions chown -R $app: $final_path +chmod -R 775 ${final_path}/storage #================================================= # SETUP SSOWAT @@ -228,8 +233,8 @@ fi #================================================= ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 +ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload -ynh_systemd_action --service_name=php7.2-fpm --action=reload #================================================= # END OF SCRIPT