#!/bin/bash # info: add web domain alias # options: user domain alias # # The call is intended for adding aliases to a domain (it is also called # "domain parking"). The function supports wildcards *.domain.tpl. #----------------------------------------------------------# # 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 on the server is_domain_new 'quiet' "$dom_alias" if [ $? -ne 0 ]; then # Checking alias owner is_domain_owner "$dom_alias" # Checking alias service is_web_domain_free "$dom_alias" fi # Checking package is_package_full 'web_alias' #----------------------------------------------------------# # Action # #----------------------------------------------------------# # Parsing domain values get_web_domain_values tpl_file="$V_WEBTPL/apache_$TPL.tpl" conf="$V_HOME/$user/conf/httpd.conf" # Parsing domain aliases if [ -z "$ALIAS" ]; then ALIAS="$dom_alias" else ALIAS="$ALIAS,$dom_alias" fi # 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 # #----------------------------------------------------------# # Adding new alias update_web_domain_value '$ALIAS' "$ALIAS" # Adding task to the vesta pipe restart_schedule 'web' log_history "$V_EVENT" "v_delete_web_domain_alias $user $domain $dom_alias" log_event 'system' "$V_EVENT" exit