From db482f77df1c2e1fc592f7b9c1f6ee6d6d012b3e Mon Sep 17 00:00:00 2001 From: frju365 Date: Sun, 5 Mar 2017 15:29:13 +0100 Subject: [PATCH] =?UTF-8?q?=C3=80=20revoir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/upgrade | 96 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 scripts/upgrade diff --git a/scripts/upgrade b/scripts/upgrade new file mode 100644 index 0000000..360e5d6 --- /dev/null +++ b/scripts/upgrade @@ -0,0 +1,96 @@ +#!/bin/bash + +# Exit on command errors and treat unset variables as an error +set -eu + +# See comments in install script +app=$YNH_APP_INSTANCE_NAME + +# Source YunoHost helpers +source /usr/share/yunohost/helpers + +# Retrieve app settings +domain=$(ynh_app_setting_get "$app" domain) +path_url=$(ynh_app_setting_get "$app" path_url) +admin=$(ynh_app_setting_get "$app" admin) +is_public=$(ynh_app_setting_get "$app" is_public) +language=$(ynh_app_setting_get "$app" language) + +# Remove trailing "/" for next commands +path_url=${path_url%/} + +sudo cp $final_path/conf/config.yml /tmp/ + +#================================================= +# DOWNLOAD, CHECK AND UNPACK SOURCE +#================================================= + +final_path=/var/www/$app +ynh_app_setting_set $app final_path $final_path +SETUP_SOURCE # Télécharge la source, décompresse et copie dans $final_path + +# Set permissions to app files +# you may need to make some file and/or directory writeable by www-data (nginx user) +sudo chown -R root: $src_path + +sudo mv /tmp/config.yml $final_path/conf/config.yml + +pushd $final_path +sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" +sudo php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" +sudo php composer-setup.php +sudo php -r "unlink('composer-setup.php');" +sudo ./composer.phar install --no-dev -o; +# Install base fixtures +sudo ./bin/roadiz install -n +# Install DefaultTheme +sudo ./bin/roadiz themes:install -n "/Themes/DefaultTheme/DefaultThemeApp" +# Install DefaultTheme node-type, settings and tags +sudo ./bin/roadiz themes:install -n --data "/Themes/DefaultTheme/DefaultThemeApp" +# Generate node-type Doctrine entities +sudo ./bin/roadiz generate:nsentities +# Update database with new node-types +sudo ./bin/roadiz orm:schema-tool:update -n --force +# Add DefaultTheme node fixtures +sudo ./bin/roadiz themes:install -n --nodes "/Themes/DefaultTheme/DefaultThemeApp" +# Clear caches +sudo ./bin/roadiz cache:clear -e dev +sudo ./bin/roadiz cache:clear -e prod +sudo php ./bin/roadiz cache:clear -e prod --preview +popd + +# Modify Nginx configuration file and copy it to Nginx conf directory +nginx_conf=../conf/nginx.conf +sed -i "s@YNH_WWW_PATH@$path_url@g" $nginx_conf +sed -i "s@YNH_WWW_ALIAS@$src_path/@g" $nginx_conf +# If a dedicated php-fpm process is used: +# +# sed -i "s@YNH_WWW_APP@$app@g" $nginx_conf +sudo cp $nginx_conf /etc/nginx/conf.d/$domain.d/$app.conf + +### PHP (remove if not used) ### +# If a dedicated php-fpm process is used: +# # Modify PHP-FPM pool configuration and copy it to the pool directory +final_path=/var/www/$app +sed -i "s@__NAMETOCHANGE__@$app@g" ../conf/php-fpm.conf +sed -i "s@__FINALPATH__@$final_path@g" ../conf/php-fpm.conf +sed -i "s@__USER__@$app@g" ../conf/php-fpm.conf +finalphpconf=/etc/php5/fpm/pool.d/$app.conf +sudo cp ../conf/php-fpm.conf $finalphpconf +sudo chown root: $finalphpconf +sudo chmod 644 $finalphpconf +finalphpini=/etc/php5/fpm/conf.d/20-$app.ini +sudo cp ../conf/php-fpm.ini $finalphpini +sudo chown root: $finalphpini +sudo chmod 644 $finalphpini +sudo service php5-fpm restart +### PHP end ### + +# If app is public, add url to SSOWat conf as skipped_uris +if [[ $is_public -eq 1 ]]; then + # See install script + ynh_app_setting_set "$app" unprotected_uris "/" +fi + +# Reload nginx service +sudo service nginx reload