garage_ynh/scripts/install

70 lines
2.1 KiB
Bash
Executable file
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# causes the shell to exit if any subcommand or pipeline returns a non-zero status
set -e
app=ynhexample
# Retrieve arguments
domain=$1
path=$2
admin=$3
is_public=$4
# Save app settings
sudo yunohost app setting $app admin -v "$admin"
sudo yunohost app setting $app is_public -v "$is_public"
# Check domain/path availability
sudo yunohost app checkurl $domain$path -a $app \
|| (echo "Path not available: $domain$path" && exit 1)
# Copy source files
final_path=/var/www/$app
sudo mkdir -p $final_path
sudo cp -a ../sources/. $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:root $final_path
# If your app use a MySQL database you can use these lines to bootstrap
# a database, an associated user and save the password in app settings
# db_pwd=$(openssl rand -hex 15)
# sudo yunohost app initdb $app -p $db_pwd
# sudo yunohost app setting $app mysqlpwd -v $db_pwd
# Modify Nginx configuration file and copy it to Nginx conf directory
sed -i "s@YNH_WWW_PATH@$path@g" ../conf/nginx.conf
sed -i "s@YNH_WWW_ALIAS@$final_path/@g" ../conf/nginx.conf
# If a dedicated php-fpm process is used:
# Don't forget to modify ../conf/nginx.conf accordingly or your app will not work!
#
#sudo sed -i "s@YNH_WWW_APP@$app@g" ../conf/nginx.conf
sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf
# If a dedicated php-fpm process is used:
# Adjustment and copy dedicated php-fpm conf file
# Don't forget to modify ../conf/php-fpm.conf accordingly or your app will not work!
#
#sed -i "s@YNH_WWW_APP@$app@g" ../conf/php-fpm.conf
#sed -i "s@YNH_WWW_ALIAS@$final_path/@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
# If app is public, add url to SSOWat conf as skipped_uris
if [ "$is_public" = "Yes" ];
then
# unprotected_uris allows SSO credentials to be passed anyway.
sudo yunohost app setting $app unprotected_uris -v "/"
fi
# If dedicated php-fpm process:
#
#sudo service php5-fpm reload
# Restart services
sudo service nginx reload