| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | #!/bin/bash# causes the shell to exit if any subcommand or pipeline returns a non-zero statusset -eapp=ynhexample# Retrieve argumentsdomain=$1path=$2admin=$3is_public=$4# Save app settingssudo yunohost app setting $app admin -v "$admin"sudo yunohost app setting $app is_public -v "$is_public"# Check domain/path availabilitysudo yunohost app checkurl $domain$path -a $app \	|| (echo "Path not available: $domain$path" && exit 1)# Copy source filesfinal_path=/var/www/$appsudo mkdir -p $final_pathsudo 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 directorysed -i "s@YNH_WWW_PATH@$path@g" ../conf/nginx.confsed -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.confsudo 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_urisif [ "$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 servicessudo service nginx reloadsudo yunohost app ssowatconf
 |