#!/bin/bash #set -eu # Charge les fonctions génériques habituellement utilisées dans le script #source fonctions # Active trap pour arrêter le script si une erreur est détectée. #TRAP_ON # 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 # We download the sources and go to latest revision URL=`sudo cat ../sources/source_url`; SHA1=`sudo cat ../sources/source_sha1`; sudo rm -rf ./gitsources sudo mkdir gitsources sudo chmod 777 gitsources # We get the repository address sudo git clone $URL gitsources # We reset to the latest known revision and copy the files to final_path cd gitsources sudo git reset --hard $SHA1 sudo cp -a * $final_path cd .. # Set permissions sudo chmod 775 -R $final_path sudo chown -hR www-data:www-data $final_path # Modify Nginx configuration file and copy it to Nginx conf.d directory sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf 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 # 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 sudo cp ../conf/php-fpm.conf $finalphpconf sudo chown root: $finalphpconf sudo chmod 644 $finalphpconf # Make app public if necessary is_public=$(ynh_app_setting_get $app is_public) if [ "$is_public" = "Yes" ]; then ynh_app_setting_set $app skipped_uris "/" else ynh_app_setting_set $app protected_uris "/" fi # Reload Nginx and regenerate SSOwat conf sudo service php5-fpm reload sudo service nginx reload sudo yunohost app ssowatconf