mirror of
https://github.com/YunoHost-Apps/bozon_ynh.git
synced 2024-09-03 18:16:09 +02:00
commit
81745fdba0
3 changed files with 58 additions and 33 deletions
|
@ -63,15 +63,6 @@
|
||||||
},
|
},
|
||||||
"default": "2G"
|
"default": "2G"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "version",
|
|
||||||
"ask": {
|
|
||||||
"en": "Select the version of BoZoN you want to install",
|
|
||||||
"fr": "Sélectionnez la version de BoZoN que vous souhaitez installer"
|
|
||||||
},
|
|
||||||
"choices": ["Stable","Latest"],
|
|
||||||
"default": "Stable"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "admin",
|
"name": "admin",
|
||||||
"type": "user",
|
"type": "user",
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
# causes the shell to exit if any subcommand or pipeline returns a non-zero status
|
# causes the shell to exit if any subcommand or pipeline returns a non-zero status
|
||||||
set -e
|
set -e
|
||||||
|
# causes the shell to exit if you try to use an uninitialised variable
|
||||||
|
set -u
|
||||||
|
|
||||||
# retrieve arguments
|
# retrieve arguments
|
||||||
domain=$1
|
domain=$1
|
||||||
|
@ -9,9 +11,8 @@ path=$2
|
||||||
is_public=$3
|
is_public=$3
|
||||||
default_lang=$4
|
default_lang=$4
|
||||||
filesize=$5
|
filesize=$5
|
||||||
version=$6
|
admin=$6
|
||||||
admin=$7
|
password=$7
|
||||||
password=$8
|
|
||||||
|
|
||||||
# definie useful vars
|
# definie useful vars
|
||||||
app=bozon
|
app=bozon
|
||||||
|
@ -35,22 +36,20 @@ if [[ ! $? -eq 0 ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# retrieve stable version of bozon
|
||||||
|
stable=$(cat ../BoZoN-stable)
|
||||||
|
|
||||||
# save app settings
|
# save app settings
|
||||||
sudo yunohost app setting $app admin_user -v "$admin"
|
sudo yunohost app setting $app admin_user -v "$admin"
|
||||||
sudo yunohost app setting $app is_public -v "$is_public"
|
sudo yunohost app setting $app is_public -v "$is_public"
|
||||||
sudo yunohost app setting $app domain -v "$domain"
|
sudo yunohost app setting $app domain -v "$domain"
|
||||||
sudo yunohost app setting $app path -v "$path"
|
sudo yunohost app setting $app path -v "$path"
|
||||||
|
sudo yunohost app setting $app version -v "$stable"
|
||||||
|
|
||||||
# download bozon
|
# download stable version of bozon
|
||||||
if [ "$version" = "Latest" ];
|
sudo wget https://github.com/broncowdd/BoZoN/archive/$stable.zip -O $parent_path/bozon-$stable.zip
|
||||||
then
|
sudo unzip $parent_path/bozon-$stable.zip -d $parent_path/
|
||||||
sudo wget https://github.com/broncowdd/BoZoN/archive/master.zip -O $parent_path/master.zip
|
sudo rm $parent_path/bozon-$stable.zip
|
||||||
else
|
|
||||||
stable=$(curl https://raw.githubusercontent.com/ewilly/bozon_ynh/master/BoZoN-stable)
|
|
||||||
sudo wget https://github.com/broncowdd/BoZoN/archive/$stable.zip -O $parent_path/master.zip
|
|
||||||
fi
|
|
||||||
sudo unzip $parent_path/master.zip -d $parent_path/
|
|
||||||
sudo rm $parent_path/master.zip
|
|
||||||
sudo mv $parent_path/BoZoN-* $parent_path/$app
|
sudo mv $parent_path/BoZoN-* $parent_path/$app
|
||||||
|
|
||||||
# add required packages
|
# add required packages
|
||||||
|
|
|
@ -2,21 +2,56 @@
|
||||||
|
|
||||||
# causes the shell to exit if any subcommand or pipeline returns a non-zero status
|
# causes the shell to exit if any subcommand or pipeline returns a non-zero status
|
||||||
set -e
|
set -e
|
||||||
|
# causes the shell to exit if you try to use an uninitialised variable
|
||||||
app=bozon
|
set -u
|
||||||
parent_path=/var/www
|
|
||||||
final_path=$parent_path/$app
|
|
||||||
data_path=/home/yunohost.app/$app
|
|
||||||
|
|
||||||
# retrieve arguments
|
# retrieve arguments
|
||||||
path=$(sudo yunohost app setting $app path)
|
path=$(sudo yunohost app setting $app path)
|
||||||
|
stable=$(sudo yunohost app setting $app version)
|
||||||
|
is_public=$(sudo yunohost app setting $app is_public)
|
||||||
|
|
||||||
# download bozon
|
# definie useful vars
|
||||||
sudo wget https://github.com/broncowdd/BoZoN/archive/master.zip -O $parent_path/master.zip
|
app=bozon
|
||||||
sudo unzip $parent_path/master.zip -d $parent_path/
|
parent_path=/var/www
|
||||||
sudo rm $parent_path/master.zip
|
data_path=/home/yunohost.app/$app
|
||||||
sudo rsync -avz --exclude="config.php" --exclude=".htaccess" $parent_path/BoZoN-master/* $parent_path/$app/
|
final_path=$parent_path/$path
|
||||||
sudo rm -R $parent_path/BoZoN-master
|
|
||||||
|
# retrieve stable version of bozon
|
||||||
|
stable=$(cat ../BoZoN-stable)
|
||||||
|
|
||||||
|
# download stable version of bozon
|
||||||
|
sudo wget https://github.com/broncowdd/BoZoN/archive/$stable.zip -O $parent_path/bozon-$stable.zip
|
||||||
|
sudo unzip $parent_path/bozon-$stable.zip -d $parent_path/
|
||||||
|
sudo rm $parent_path/bozon-$stable.zip
|
||||||
|
sudo rsync -avz --exclude="config.php" --exclude=".htaccess" $parent_path/BoZoN-$stable/* $final_path
|
||||||
|
sudo rm -R $parent_path/BoZoN-$stable
|
||||||
|
|
||||||
|
# configure nginx settings
|
||||||
|
## file upload size limit
|
||||||
|
postsize=$(echo "${filesize%?}.1${filesize: -1}")
|
||||||
|
sudo sed -i "s@YNH_FILE_SIZE@$filesize@g" ../conf/nginx.conf
|
||||||
|
sudo sed -i "s@YNH_POST_SIZE@$postsize@g" ../conf/nginx.conf
|
||||||
|
## path
|
||||||
|
folder_path=${path%/}
|
||||||
|
sudo sed -i "s@YNH_EXAMPLE_PATH@$path@g" ../conf/nginx.conf
|
||||||
|
# if path is only / (without subfolder), add trailing slash to alias
|
||||||
|
alias_path=$final_path
|
||||||
|
[ "$path" == '/' ] && alias_path=$alias_path'/'
|
||||||
|
sudo sed -i "s@YNH_EXAMPLE_ALIAS@$alias_path@g" ../conf/nginx.conf
|
||||||
|
sudo sed -i "s@YNH_EXAMPLE_FOLDER@$folder_path@g" ../conf/nginx.conf
|
||||||
|
|
||||||
|
sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf
|
||||||
|
|
||||||
|
# if app is private, remove url to SSOWat conf from skipped_uris
|
||||||
|
if [ "$is_public" = "No" ];
|
||||||
|
then
|
||||||
|
# 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')
|
||||||
|
pathluaregex=$(echo "$path" | sed -e 's/[]().%+*?[^$[]/\%&/g' | sed -e 's/\-/\%&/g')
|
||||||
|
# redirect to SSOwat login in
|
||||||
|
sudo yunohost app setting $app unprotected_uris -d
|
||||||
|
sudo yunohost app setting $app unprotected_regex -v "$domainluaregex$pathluaregex/index.php%?f=.+$","$domainluaregex$pathluaregex/index.php%?zipfolder=.+$","$domainluaregex$pathluaregex/private/temp/.+%.zip$","$domainluaregex$pathluaregex/core/js/.*$","$domainluaregex$pathluaregex/templates/.*$"
|
||||||
|
fi
|
||||||
|
|
||||||
# Restart services
|
# Restart services
|
||||||
sudo service nginx reload
|
sudo service nginx reload
|
||||||
|
|
Loading…
Add table
Reference in a new issue