1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/bozon_ynh.git synced 2024-09-03 18:16:09 +02:00

Merge pull request #21 from ewilly/master

Solving App is broken #17 v3
This commit is contained in:
ewilly 2017-01-08 14:13:15 +01:00 committed by GitHub
commit 68370dc20c
6 changed files with 30 additions and 11 deletions

View file

@ -1,6 +1,6 @@
location YNH_EXAMPLE_PATH { location YNH_EXAMPLE_PATH {
# Path to source # Path to source
alias YNH_EXAMPLE_ALIAS ; alias YNH_EXAMPLE_ALIAS/;
if ($scheme = http) { if ($scheme = http) {
rewrite ^ https://$server_name$request_uri? permanent; rewrite ^ https://$server_name$request_uri? permanent;
} }

View file

@ -9,13 +9,24 @@ source /usr/share/yunohost/helpers
# retrieve arguments # retrieve arguments
app=bozon app=bozon
domain=$1 domain=$1
path=${2%/} path=$2
is_public=$3 is_public=$3
language=$4 language=$4
filesize=$5 filesize=$5
admin=$6 admin=$6
password=$7 password=$7
# chech if / is present at start and not at end
if [ "${path:0:1}" != "/" ] && [ ${#path} -gt 0 ]; then
# first char is not / && path not empty => add / at start
path="/$path"
fi
if [ "${path:${#path}-1}" == "/" ] && [ ${#path} -gt 1 ]; then
# last char is / && path is gretter than /
path="${path:0:${#path}-1}"
fi
# definie useful vars # definie useful vars
parent_path=/var/www parent_path=/var/www
final_path="$parent_path"/"$app" final_path="$parent_path"/"$app"
@ -93,23 +104,29 @@ sudo service nginx reload || true
ynh_app_setting_set "$app" unprotected_uris "/" ynh_app_setting_set "$app" unprotected_uris "/"
sudo yunohost app ssowatconf sudo yunohost app ssowatconf
# add alias line in hosts file
echo "127.0.0.1 $domain # $app" | sudo tee -a /etc/hosts
# fill the superadmin creation form # fill the superadmin creation form
curl_path=$([ "$path" == "/" ] || echo "$path") curl_path=$([ "$path" == "/" ] || echo "$path")
curl https://"$domain""$curl_path"/ > /dev/null 2>&1 curl -k https://"$domain""$curl_path"/ > /dev/null 2>&1
curl -X POST \ sleep 1 && curl -kX POST \
--data-urlencode creation="1" \ --data-urlencode creation="1" \
--data-urlencode login="$admin" \ --data-urlencode login="$admin" \
--data-urlencode pass="$password" \ --data-urlencode pass="$password" \
--data-urlencode confirm="$password" \ --data-urlencode confirm="$password" \
https://"$domain""$curl_path"/index.php?p=login > /dev/null 2>&1 https://"$domain""$curl_path"/index.php?p=login > /dev/null 2>&1
# remove alias line from hosts file
sudo sed -i "/# $app/d" /etc/hosts
# if app is private, remove url to SSOWat conf from skipped_uris # if app is private, remove url to SSOWat conf from skipped_uris
if [ "$is_public" = "No" ]; if [ "$is_public" = "No" ];
then then
ynh_app_setting_delete "$app" unprotected_uris ynh_app_setting_delete "$app" unprotected_uris
# escape magic chars in vars (lua magic chars are ().%+-*?[^$ according to https://www.lua.org/pil/20.2.html) # escape magic chars in vars (lua magic chars are ().%+-*?[^$ according to https://www.lua.org/pil/20.2.html)
domainluaregex=$(echo "$domain" | sed -e 's/[]().%+*?[^$[]/\%&/g' | sed -e 's/\-/\%&/g') domainluaregex=$(echo "$domain" | sed -e 's/[]().%+*?[^$[]/\%&/g' | sed -e 's/\-/\%&/g')
pathluaregex=$(echo "$path" | sed -e 's/[]().%+*?[^$[]/\%&/g' | sed -e 's/\-/\%&/g') pathluaregex=$([ "$path" == "/" ] || echo "$path" | sed -e 's/[]().%+*?[^$[]/\%&/g' | sed -e 's/\-/\%&/g')
regexList="${domainluaregex}${pathluaregex}/index.php%?f=.+$","${domainluaregex}${pathluaregex}/index.php%?zipfolder=.+$","${domainluaregex}${pathluaregex}/private/temp/.+%.zip$","${domainluaregex}${pathluaregex}/core/js/.*$","${domainluaregex}${pathluaregex}/templates/.*$" regexList="${domainluaregex}${pathluaregex}/index.php%?f=.+$","${domainluaregex}${pathluaregex}/index.php%?zipfolder=.+$","${domainluaregex}${pathluaregex}/private/temp/.+%.zip$","${domainluaregex}${pathluaregex}/core/js/.*$","${domainluaregex}${pathluaregex}/templates/.*$"
ynh_app_setting_set "$app" unprotected_regex "$regexList" ynh_app_setting_set "$app" unprotected_regex "$regexList"
sudo yunohost app ssowatconf sudo yunohost app ssowatconf

View file

@ -9,6 +9,7 @@ source /usr/share/yunohost/helpers
#retrieve arguments #retrieve arguments
app=$YNH_APP_INSTANCE_NAME app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get "$app" domain) domain=$(ynh_app_setting_get "$app" domain)
path=$(ynh_app_setting_get "$app" path)
# definie useful vars # definie useful vars
parent_path=/var/www parent_path=/var/www
@ -38,7 +39,8 @@ sudo yunohost app checkurl $domain$path -a $app \
You should safely delete it before restoring this app." You should safely delete it before restoring this app."
# add required packages # add required packages
ynh_package_install_from_equivs ../conf/${app}-deps.control || ynh_die "Unable to install dependencies" ynh_package_is_installed "php5-curl" || ynh_package_install "php5-curl"
ynh_package_is_installed "php5-gd" || ynh_package_install "php5-gd"
# restore sources & data # restore sources & data
sudo cp -a ./www "$final_path" sudo cp -a ./www "$final_path"