#!/bin/bash #================================================= # GENERIC STARTING #================================================= # IMPORT GENERIC HELPERS #================================================= source _common.sh source /usr/share/yunohost/helpers #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --weight=5 # Backup the current version of the app ynh_clean_setup () { # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.d" # restore it if the upgrade fails ynh_restore_upgradebackup } #================================================= # ACTIVATE MAINTENANCE MODE #================================================= path_url=$old_path domain=$old_domain ynh_maintenance_mode_ON #================================================= # STANDARD MODIFICATIONS #================================================= # MODIFY URL IN NGINX CONF #================================================= ynh_script_progression --message="Updating NGINX web server configuration..." --weight=2 nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf nginx_extra_conf_dir=/etc/nginx/conf.d/$old_domain.d/$app.d # Change the path in the NGINX config file if [ $change_path -eq 1 ] ynh_print_info --message="Change the path in the Nginx config file" then # Make a backup of the original NGINX config file if modified ynh_backup_if_checksum_is_different --file="$nginx_conf_path" # Set global variables for NGINX helper domain="$old_domain" path_url="$new_path" # Update custom error file path if needed if [ $custom_error_file ] ynh_print_info --message="Change the custom error config file" then ynh_add_config --template="nginx-code-error.conf" --destination="$nginx_extra_conf_dir/error-code.conf" fi # Create a dedicated NGINX configssh ynh_add_nginx_config fi # Change the domain for NGINX if [ $change_domain -eq 1 ] then # Delete file checksum for the old conf file location ynh_delete_file_checksum --file="$nginx_conf_path" ynh_delete_file_checksum --file="$nginx_extra_conf_dir/php.conf" #ynh_delete_file_checksum --file="$nginx_extra_conf_dir/nginx-code-error.conf" path_url="$new_path" domain="$old_domain" ynh_remove_nginx_config domain="$new_domain" ynh_add_nginx_config mv $nginx_extra_conf_dir /etc/nginx/conf.d/$new_domain.d/$app.d # Store file checksum for the new config file location ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.d/php.conf" #ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.d/nginx-code-error.conf" fi #================================================= # DEACTIVE MAINTENANCE MODE #================================================= path_url=$old_path domain=$old_domain ynh_maintenance_mode_OFF #================================================= # END OF SCRIPT #================================================= ynh_script_progression --message="Change of URL completed for $app" --last