| 
					
				 | 
			
			
				@@ -0,0 +1,112 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#!/bin/bash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# ============================================================================= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#                     YUNOHOST 2.7 FORTHCOMING HELPERS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# ============================================================================= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Create a dedicated nginx config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# usage: ynh_add_nginx_config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ynh_add_nginx_config () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	finalnginxconf="/etc/nginx/conf.d/$domain.d/$app.conf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_backup_if_checksum_is_different "$finalnginxconf" 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo cp ../conf/nginx.conf "$finalnginxconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# To avoid a break by set -u, use a void substitution ${var:-}. If the variable is not set, it's simply set with an empty variable. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# Substitute in a nginx config file only if the variable is not empty 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if test -n "${path_url:-}"; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_replace_string "__PATH__" "$path_url" "$finalnginxconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if test -n "${domain:-}"; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_replace_string "__DOMAIN__" "$domain" "$finalnginxconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if test -n "${port:-}"; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_replace_string "__PORT__" "$port" "$finalnginxconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if test -n "${app:-}"; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_replace_string "__NAME__" "$app" "$finalnginxconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if test -n "${final_path:-}"; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_replace_string "__FINALPATH__" "$final_path" "$finalnginxconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_store_checksum_config "$finalnginxconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo systemctl reload nginx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Remove the dedicated nginx config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# usage: ynh_remove_nginx_config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ynh_remove_nginx_config () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_secure_remove "/etc/nginx/conf.d/$domain.d/$app.conf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo systemctl reload nginx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Create a dedicated php-fpm config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# usage: ynh_add_fpm_config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ynh_add_fpm_config () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	finalphpconf="/etc/php5/fpm/pool.d/$app.conf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_backup_if_checksum_is_different "$finalphpconf" 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo cp ../conf/php-fpm.conf "$finalphpconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_replace_string "__NAMETOCHANGE__" "$app" "$finalphpconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_replace_string "__FINALPATH__" "$final_path" "$finalphpconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_replace_string "__USER__" "$app" "$finalphpconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo chown root: "$finalphpconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_store_file_checksum "$finalphpconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if [ -e "../conf/php-fpm.ini" ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		finalphpini="/etc/php5/fpm/conf.d/20-$app.ini" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_compare_checksum_config "$finalphpini" 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		sudo cp ../conf/php-fpm.ini "$finalphpini" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		sudo chown root: "$finalphpini" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_store_checksum_config "$finalphpini" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo systemctl reload php5-fpm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Remove the dedicated php-fpm config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# usage: ynh_remove_fpm_config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ynh_remove_fpm_config () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_secure_remove "/etc/php5/fpm/pool.d/$app.conf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_secure_remove "/etc/php5/fpm/conf.d/20-$app.ini" 2>&1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo systemctl reload php5-fpm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Create a dedicated systemd config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# usage: ynh_add_systemd_config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ynh_add_systemd_config () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	finalsystemdconf="/etc/systemd/system/$app.service" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_compare_checksum_config "$finalsystemdconf" 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo cp ../conf/systemd.service "$finalsystemdconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# To avoid a break by set -u, use a void substitution ${var:-}. If the variable is not set, it's simply set with an empty variable. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# Substitute in a nginx config file only if the variable is not empty 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if test -n "${final_path:-}"; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_replace_string "__FINALPATH__" "$final_path" "$finalsystemdconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if test -n "${app:-}"; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_replace_string "__APP__" "$app" "$finalsystemdconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ynh_store_checksum_config "$finalsystemdconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo chown root: "$finalsystemdconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo systemctl enable $app 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sudo systemctl daemon-reload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Remove the dedicated systemd config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# usage: ynh_remove_systemd_config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ynh_remove_systemd_config () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	finalsystemdconf="/etc/systemd/system/$app.service" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if [ -e "$finalsystemdconf" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		sudo systemctl stop $app 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		sudo systemctl disable $app 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ynh_secure_remove "$finalsystemdconf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |