#!/bin/bash # info: delete web domain alias # options user domain alias # # The function of deleting the alias domain (parked domain). By this call # default www aliase can be removed as well. #----------------------------------------------------------# # Variable&Function # #----------------------------------------------------------# # Argument defenition user=$1 domain=$(idn -t --quiet -u "$2" ) domain_idn=$(idn -t --quiet -a "$domain" ) dom_alias=$(idn -t --quiet -u "$3" ) dom_alias_idn=$(idn -t --quiet -a "$dom_alias" ) # Importing variables source $VESTA/conf/vars.conf source $V_CONF/vesta.conf source $V_FUNC/shared.func source $V_FUNC/domain.func #----------------------------------------------------------# # Verifications # #----------------------------------------------------------# # Checking arg number check_args '3' "$#" 'user domain dom_alias' # Checking argument format format_validation 'user' 'domain' 'dom_alias' # 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' # Checking alias is added get_web_domain_values check_alias=$(echo ${ALIAS//,/ }|grep -w "$dom_alias") if [ -z "$check_alias" ]; then echo "Error: alias not exist" log_event 'debug' "$E_NOTEXIST $V_EVENT" exit $E_NOTEXIST fi #----------------------------------------------------------# # Action # #----------------------------------------------------------# # Defining new alias string ALIAS=$(echo "$ALIAS" |\ sed -e "s/,/\n/g"|\ sed -e "s/^$dom_alias$//g"|\ sed -e "/^$/d"|\ sed -e ':a;N;$!ba;s/\n/,/g') tpl_file="$V_WEBTPL/apache_$TPL.tpl" conf="$V_HOME/$user/conf/httpd.conf" # Preparing domain values for the template substitution upd_web_domain_values # Recreating vhost del_web_config add_web_config if [ "$SSL" = 'yes' ]; then tpl_file="$V_WEBTPL/apache_$TPL.stpl" conf="$V_HOME/$user/conf/shttpd.conf" del_web_config add_web_config fi # Checking nginx if [ ! -z "$NGINX" ]; then tpl_file="$V_WEBTPL/ngingx_vhost_$NGINX.tpl" conf="$V_HOME/$user/conf/nginx.conf" del_web_config add_web_config if [ "$SSL" = 'yes' ]; then proxy_string="proxy_pass https://$ip:$WEB_SSL_PORT;" tpl_file="$V_WEBTPL/ngingx_vhost_$NGINX.stpl" conf="$V_HOME/$user/conf/snginx.conf" del_web_config add_web_config fi fi #----------------------------------------------------------# # Vesta # #----------------------------------------------------------# # Deleting alias update_web_domain_value '$ALIAS' "$ALIAS" # Adding task to the vesta pipe restart_schedule 'web' # Logging log_history "$V_EVENT" "v_add_web_domain_alias $user $domain $dom_alias" log_event 'system' "$V_EVENT" exit