diff --git a/conf/lufi.conf.template b/conf/lufi.conf.template index 7057dbe..222ef18 100644 --- a/conf/lufi.conf.template +++ b/conf/lufi.conf.template @@ -106,7 +106,7 @@ # Remember that it has to be in a directory writable by Lufi user # DO NOT CHANGE THIS IF FILES HAVE BEEN ALREADY UPLOADED: THEY WILL NOT BE DOWNLOADABLE ANYMORE # optional, default is 'files' - #upload_dir => 'files', + upload_dir => '/home/yunohost.app/__APP__', # allow to add a password on files, asked before allowing to download files # optional, default is 0 diff --git a/scripts/install b/scripts/install index 918714e..e57c934 100644 --- a/scripts/install +++ b/scripts/install @@ -95,7 +95,6 @@ db_name=$(ynh_sanitize_dbid --db_name=$app) db_user=$db_name ynh_app_setting_set --app=$app --key=db_name --value=$db_name ynh_psql_setup_db --db_user=$db_user --db_name=$db_name -db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) # Password created in ynh_psql_setup_db function #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -106,6 +105,15 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$final_path" +#================================================= +# CREATE DIRECTORIES +#================================================= + +public_path=/home/yunohost.app/$app +ynh_app_setting_set --app=$app --key=public_path --value=$public_path + +mkdir -p $public_path + #================================================= # NGINX CONFIGURATION #================================================= @@ -121,19 +129,20 @@ ynh_add_nginx_config max_file_size #================================================= ynh_script_progression --message="Configuring $app..." -config=${final_path}/lufi.conf +config=$final_path/lufi.conf cp ../conf/lufi.conf.template "$config" ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$config" ynh_replace_string --match_string="__PATH__" --replace_string="$path_url" --target_file="$config" +ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$config" ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config" ynh_replace_string --match_string="__DB_NAME__" --replace_string="$db_name" --target_file="$config" ynh_replace_string --match_string="__DB_USER__" --replace_string="$db_user" --target_file="$config" ynh_replace_string --match_string="__DB_PWD__" --replace_string="$db_pwd" --target_file="$config" ynh_replace_string --match_string="__MAX_FILE_SIZE__" --replace_string="$max_file_size" --target_file="$config" +ynh_replace_string --match_string="__SECRET__" --replace_string="$secret" --target_file="$config" if [ $max_file_size -eq 0 ]; then # Comment the limitation line if no limit ynh_replace_string --match_string="max_file_size" --replace_string="#max_file_size" --target_file="$config" fi -ynh_replace_string --match_string="__SECRET__" --replace_string="$secret" --target_file="$config" if [ $is_public -eq 0 ]; then @@ -181,6 +190,8 @@ ynh_script_progression --message="Securing files and directories..." # Set permissions to app files chown -R $app:$app $final_path +chown -R $app:$app $public_path +chmod 750 $public_path #================================================= # SETUP LOGROTATE diff --git a/scripts/restore b/scripts/restore index a6153c4..672aada 100644 --- a/scripts/restore +++ b/scripts/restore @@ -75,6 +75,8 @@ ynh_script_progression --message="Restoring user rights..." # Restore permissions on app files chown -R $app:$app $final_path +chown -R $app:$app $public_path +chmod 750 $public_path #================================================= # SPECIFIC RESTORATION diff --git a/scripts/upgrade b/scripts/upgrade index bea6a94..90a5466 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -21,6 +21,7 @@ path_url=$(ynh_app_setting_get --app=$app --key=path) is_public=$(ynh_app_setting_get --app=$app --key=is_public) port=$(ynh_app_setting_get --app=$app --key=port) final_path=$(ynh_app_setting_get --app=$app --key=final_path) +public_path=$(ynh_app_setting_get --app=$app --key=public_path) secret=$(ynh_app_setting_get --app=$app --key=secret) db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name @@ -51,6 +52,13 @@ if [ -z "$final_path" ]; then ynh_app_setting_set --app=$app --key=final_path --value=$final_path fi +# If public_path doesn't exist, create it +if [ -z "$public_path" ]; then + public_path=/home/yunohost.app/$app + mkdir -p $public_path + ynh_app_setting_set --app=$app --key=public_path --value=$public_path +fi + if [ -z "$max_file_size" ]; then max_file_size=100 # 100 Mo ynh_app_setting_set --app=$app --key=max_file_size --value=$max_file_size @@ -133,14 +141,15 @@ cp ../conf/lufi.conf.template "$config" ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$config" ynh_replace_string --match_string="__PATH__" --replace_string="$path_url" --target_file="$config" ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config" +ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$config" ynh_replace_string --match_string="__DB_NAME__" --replace_string="$db_name" --target_file="$config" ynh_replace_string --match_string="__DB_USER__" --replace_string="$db_user" --target_file="$config" ynh_replace_string --match_string="__DB_PWD__" --replace_string="$db_pwd" --target_file="$config" +ynh_replace_string --match_string="__SECRET__" --replace_string="$secret" --target_file="$config" ynh_replace_string --match_string="__MAX_FILE_SIZE__" --replace_string="$max_file_size" --target_file="$config" if [ $max_file_size -eq 0 ]; then # Comment the limitation line if no limit ynh_replace_string --match_string="max_file_size" --replace_string="#max_file_size" --target_file="$config" fi -ynh_replace_string --match_string="__SECRET__" --replace_string="$secret" --target_file="$config" if [ $is_public -eq 0 ]; then @@ -203,6 +212,8 @@ ynh_script_progression --message="Securing files and directories..." # Set permissions on app files chown -R $app:$app $final_path +chown -R $app:$app $public_path +chmod 750 $public_path #================================================= # SETUP SSOWAT