From 31cf0b05e650e732774c09b7212ccf71289340e8 Mon Sep 17 00:00:00 2001 From: Serghey Rodin Date: Tue, 5 Jul 2011 00:28:04 +0300 Subject: [PATCH] new funcion del_web_domain_nginx --- bin/v_change_web_domain_tpl | 4 +- bin/v_del_web_domain | 6 +-- bin/v_del_web_domain_nginx | 105 ++++++++++++++++++++++++++++++++++++ bin/v_del_web_domain_ssl | 6 +-- func/domain_func.sh | 24 ++++----- 5 files changed, 123 insertions(+), 22 deletions(-) create mode 100755 bin/v_del_web_domain_nginx diff --git a/bin/v_change_web_domain_tpl b/bin/v_change_web_domain_tpl index d1d43ce9b..a0bee7226 100755 --- a/bin/v_change_web_domain_tpl +++ b/bin/v_change_web_domain_tpl @@ -57,7 +57,7 @@ tpl_file="$V_WEBTPL/apache_$tpl_name.tpl" conf="$V_HOME/$user/conf/httpd.conf" # Deleting domain -httpd_del_config +del_web_config # Checking ssl cert=$(get_web_domain_value '$SSL_CERT') @@ -68,7 +68,7 @@ if [ ! -z "$cert" ]; then conf="$V_HOME/$user/conf/shttpd.conf" # Deleting domain - httpd_del_config + del_web_config fi # Defining variables for template replace diff --git a/bin/v_del_web_domain b/bin/v_del_web_domain index cf6a8699b..8d75c17d8 100755 --- a/bin/v_del_web_domain +++ b/bin/v_del_web_domain @@ -54,8 +54,8 @@ tpl_file="$V_WEBTPL/apache_$tpl_name.tpl" conf="$V_HOME/$user/conf/httpd.conf" # Deleting domain -httpd_del_config - +del_web_config +exit # Checking ssl cert=$(get_web_domain_value '$SSL_CERT') if [ ! -z "$cert" ]; then @@ -65,7 +65,7 @@ if [ ! -z "$cert" ]; then conf="$V_HOME/$user/conf/shttpd.conf" # Deleting domain - httpd_del_config + del_web_config fi # Checking stats diff --git a/bin/v_del_web_domain_nginx b/bin/v_del_web_domain_nginx new file mode 100755 index 000000000..63fdf00a9 --- /dev/null +++ b/bin/v_del_web_domain_nginx @@ -0,0 +1,105 @@ +#!/bin/bash +# info: deliting web domain nginx config + +#----------------------------------------------------------# +# Variable&Function # +#----------------------------------------------------------# + +# Argument defenition +user="$1" +domain=$(idn -t --quiet -u "$2" ) +domain_idn=$(idn -t --quiet -a "$domain") + +# Importing variables +source $VESTA/conf/vars.conf +source $V_FUNC/shared_func.sh +source $V_FUNC/domain_func.sh + + +#----------------------------------------------------------# +# Verifications # +#----------------------------------------------------------# + +# Checking arg number +check_args '2' "$#" 'user domain' + +# Checking argument format +format_validation 'user' 'domain' + +# Checking web system is enabled +is_system_enabled 'web' + +# Checking user +is_user_valid + +# Checking user is active +is_user_suspended + +# Checking domain exist +is_web_domain_valid + +# Checking domain is not suspened +is_domain_suspended 'web_domains' + +# Checking ssl is added +is_web_domain_value_exist '$NGINX' + + +#----------------------------------------------------------# +# Action # +#----------------------------------------------------------# + +# Get domain values +tpl_name=$(get_web_domain_value '$NGINX') +tpl_file="$V_WEBTPL/ngingx_vhost_$tpl_name.tpl" +conf="$V_HOME/$user/conf/nginx.conf" +ext=$(get_web_domain_value '$NGINX_EXT' ) + +# Deleting domain +del_web_config + +# Checking ssl +cert=$(get_web_domain_value '$SSL_CERT') +if [ ! -z "$cert" ]; then + tpl_file="$V_WEBTPL/ngingx_vhost_$tpl_name.stpl" + conf="$V_HOME/$user/conf/snginx.conf" + del_web_config +fi + + +#----------------------------------------------------------# +# Vesta # +#----------------------------------------------------------# + +# Deleting nginx keys +update_web_domain_value '$NGINX' '' +update_web_domain_value '$NGINX_EXT' '' + +# Checking last nginx domain +conf='/etc/nginx/conf.d/vesta_users.conf' +last_nginx=$(grep -v "NGINX=''" $V_USERS/$user/web_domains.conf) +last_snginx=$(echo "$last_nginx" | grep -v "SSL_CERT=''") +if [ -z "$last_snginx" ]; then + sline=$(grep -n "$V_HOME/$user/conf/snginx.conf" $conf | cut -f 1 -d : ) + if [ ! -z "$sline" ]; then + sed -i "$sline d" $conf + fi + rm -f $V_HOME/$user/conf/snginx.conf +fi + +if [ -z "$last_nginx" ]; then + line=$(grep -n "$V_HOME/$user/conf/nginx.conf" $conf | cut -f 1 -d : ) + if [ ! -z "$line" ]; then + sed -i "$line d" $conf + fi + rm -f $V_HOME/$user/conf/nginx.conf +fi + +# Adding task to the vesta pipe +restart_schedule 'web' + +# Logging +log_history "$V_EVENT" "v_add_web_domain_nginx $user $domain $tpl_name $ext" +log_event 'system' "$V_EVENT" + +exit $OK diff --git a/bin/v_del_web_domain_ssl b/bin/v_del_web_domain_ssl index 255aca3bd..4aa0f3aeb 100755 --- a/bin/v_del_web_domain_ssl +++ b/bin/v_del_web_domain_ssl @@ -55,7 +55,7 @@ tpl_file="$V_WEBTPL/apache_$tpl_name.stpl" conf="$V_HOME/$user/conf/shttpd.conf" # Deleting domain -httpd_del_config +del_web_config #----------------------------------------------------------# @@ -71,10 +71,10 @@ update_web_domain_value '$SSL_HOME' '' update_web_domain_value '$SSL_CERT' '' # Checking last ssl domain -ssl_dom=$(grep "SSL='yes'" $V_USERS/$user/web_domains.conf | wc -l) +ssl_dom=$(grep -v "SSL_CERT=''" $V_USERS/$user/web_domains.conf) main_conf='/etc/httpd/conf.d/vesta.conf' conf="$V_HOME/$user/conf/shttpd.conf" -if [ "$ssl_dom" -eq '0' ]; then +if [ -z "$ssl_dom" ]; then sed -i "/Include ${conf////\/}/d" $main_conf rm -f $conf fi diff --git a/func/domain_func.sh b/func/domain_func.sh index 3fd07f50a..d493a1606 100644 --- a/func/domain_func.sh +++ b/func/domain_func.sh @@ -459,30 +459,26 @@ is_dns_domain_value_exist() { } -httpd_del_config() { - # Get ServerName line - serv_line=$(grep -n 'ServerName %domain_idn%' "$tpl_file" |cut -f 1 -d :) +del_web_config() { + # Get servername line in template + serv_line=$(grep -ni 'Name %domain_idn%' "$tpl_file" |cut -f 1 -d :) - # Get tpl_file last line + # Get last template line last_line=$(wc -l $tpl_file|cut -f 1 -d ' ') - # Get before line - bfr_line=$((serv_line - 1)) - - # Parsing httpd.conf - str=$(grep -B $bfr_line -n "ServerName $domain_idn" $conf |\ - grep '