2015-06-18 23:40:52 +02:00
|
|
|
#!/bin/bash
|
2016-12-24 12:38:35 +01:00
|
|
|
#set -eu
|
2015-06-18 23:40:52 +02:00
|
|
|
|
2016-12-24 12:38:35 +01:00
|
|
|
# Charge les fonctions génériques habituellement utilisées dans le script
|
|
|
|
#source fonctions
|
2015-06-18 23:40:52 +02:00
|
|
|
|
2016-12-24 12:38:35 +01:00
|
|
|
# Active trap pour arrêter le script si une erreur est détectée.
|
|
|
|
#TRAP_ON
|
2015-06-18 23:40:52 +02:00
|
|
|
|
2016-12-24 12:38:35 +01:00
|
|
|
# Source app helpers
|
|
|
|
source /usr/share/yunohost/helpers
|
|
|
|
|
|
|
|
# We retrieve app parameters
|
|
|
|
app=$YNH_APP_INSTANCE_NAME
|
|
|
|
|
|
|
|
# We check variables are not empty
|
|
|
|
CHECK_VAR () { # Vérifie que la variable n'est pas vide.
|
|
|
|
# $1 = Variable à vérifier
|
|
|
|
# $2 = Texte à afficher en cas d'erreur
|
|
|
|
test -n "$1" || (echo "$2" >&2 && false)
|
|
|
|
}
|
|
|
|
CHECK_VAR "$app" "app name not set"
|
|
|
|
|
|
|
|
path=$(ynh_app_setting_get $app path)
|
|
|
|
domain=$(ynh_app_setting_get $app domain)
|
|
|
|
final_path=$(ynh_app_setting_get $app final_path)
|
|
|
|
finalnginxconf=$(ynh_app_setting_get $app finalnginxconf)
|
|
|
|
finalphpconf=$(ynh_app_setting_get $app finalphpconf)
|
|
|
|
|
|
|
|
# Removal of old folder and restart from fresh
|
|
|
|
sudo rm -rf $final_path
|
|
|
|
sudo mkdir -p $final_path
|
|
|
|
|
2016-12-24 14:54:11 +01:00
|
|
|
# We download the sources and go to latest revision
|
|
|
|
sudo rm -rf ./gitsources
|
|
|
|
sudo mkdir gitsources
|
2016-12-24 15:00:03 +01:00
|
|
|
sudo chmod 777 gitsources
|
2016-12-24 14:54:11 +01:00
|
|
|
# We get the repository address
|
|
|
|
URL=`sudo cat ../sources/source_url`;
|
|
|
|
sudo git clone $URL gitsources
|
|
|
|
# We reset to the latest known revision
|
2016-12-24 15:00:03 +01:00
|
|
|
cd gitsources
|
2016-12-24 14:54:11 +01:00
|
|
|
SHA1=`sudo cat ../sources/source_sha1`;
|
2016-12-24 15:00:03 +01:00
|
|
|
sudo git reset --hard $SHA1
|
|
|
|
cd ..
|
2016-12-24 12:38:35 +01:00
|
|
|
|
|
|
|
# Set permissions
|
|
|
|
sudo chmod 775 -R $final_path
|
2016-12-24 12:45:51 +01:00
|
|
|
sudo chown -hR www-data:www-data $final_path
|
2016-12-24 12:38:35 +01:00
|
|
|
|
|
|
|
# Modify Nginx configuration file and copy it to Nginx conf.d directory
|
2015-06-18 23:40:52 +02:00
|
|
|
sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf
|
2016-12-24 12:38:35 +01:00
|
|
|
sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf
|
|
|
|
sed -i "s@NAMETOCHANGE@$app@g" ../conf/nginx.conf
|
|
|
|
sudo cp ../conf/nginx.conf $finalnginxconf
|
2015-06-18 23:40:52 +02:00
|
|
|
|
2016-12-24 12:38:35 +01:00
|
|
|
# Modify php-fpm configuration file and copy it to php-fpm pool.d directory
|
|
|
|
sed -i "s@NAMETOCHANGE@$app@g" ../conf/php-fpm.conf
|
|
|
|
sed -i "s@FOLDERTOCHANGE@$final_path@g" ../conf/php-fpm.conf
|
|
|
|
sed -i "s@USERTOCHANGE@$runninguser@g" ../conf/php-fpm.conf
|
2015-06-18 23:40:52 +02:00
|
|
|
sudo cp ../conf/php-fpm.conf $finalphpconf
|
|
|
|
sudo chown root: $finalphpconf
|
|
|
|
sudo chmod 644 $finalphpconf
|
|
|
|
|
|
|
|
# Make app public if necessary
|
2016-12-24 12:38:35 +01:00
|
|
|
is_public=$(ynh_app_setting_get $app is_public)
|
2015-06-18 23:40:52 +02:00
|
|
|
if [ "$is_public" = "Yes" ];
|
|
|
|
then
|
2016-12-24 12:38:35 +01:00
|
|
|
ynh_app_setting_set $app skipped_uris "/"
|
2015-06-18 23:40:52 +02:00
|
|
|
else
|
2016-12-24 12:38:35 +01:00
|
|
|
ynh_app_setting_set $app protected_uris "/"
|
2015-06-18 23:40:52 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Reload Nginx and regenerate SSOwat conf
|
2016-12-24 12:38:35 +01:00
|
|
|
sudo service php5-fpm reload
|
2015-06-18 23:40:52 +02:00
|
|
|
sudo service nginx reload
|
|
|
|
sudo yunohost app ssowatconf
|