Преглед изворни кода

new funcion del_web_domain_nginx

Serghey Rodin пре 14 година
родитељ
комит
31cf0b05e6
5 измењених фајлова са 123 додато и 22 уклоњено
  1. 2 2
      bin/v_change_web_domain_tpl
  2. 3 3
      bin/v_del_web_domain
  3. 105 0
      bin/v_del_web_domain_nginx
  4. 3 3
      bin/v_del_web_domain_ssl
  5. 10 14
      func/domain_func.sh

+ 2 - 2
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

+ 3 - 3
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

+ 105 - 0
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

+ 3 - 3
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

+ 10 - 14
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 '<VirtualHost')
+    # Parsing config
+    str=$(grep -ni "Name $domain_idn" $conf | cut -f 1 -d :)
 
     # Checking result
-    if [ -z "$str" ] || [ -z "$serv_line" ] || [ -z "$bfr_line" ]; then
+    if [ -z "$str" ] || [ -z "$serv_line" ]; then
         echo "Error: httpd parsing error"
         log_event 'debug' "$E_PARSE_ERROR $V_EVENT"
         exit $E_PARSE_ERROR
     fi
 
-    # String number
-    top_line=$(echo $str | sed -e "s/-/+/" | cut -f 1 -d '+')
-    bottom_line=$((top_line + last_line - 1))
+    # Deleting lines from config
+    top_line=$((str - serv_line + 1))
+    bottom_line=$((top_line + last_line -1))
     sed -i "$top_line,$bottom_line d" $conf
 }