mirror of
https://github.com/myvesta/vesta
synced 2025-08-19 21:04:07 -07:00
optimized web domain adding (almost 2x faster
This commit is contained in:
parent
1246ded35a
commit
2850492f55
10 changed files with 194 additions and 179 deletions
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# info: add dns domain or dns record based on web domain alias restart
|
# info: add dns domain or dns record after web domain alias
|
||||||
# options: USER DOMAIN
|
# options: USER ALIAS IP [RESTART]
|
||||||
#
|
#
|
||||||
# The function adds dns domain or dns record based on web domain alias.
|
# The function adds dns domain or dns record based on web domain alias.
|
||||||
|
|
||||||
|
@ -11,13 +11,9 @@
|
||||||
|
|
||||||
# Argument defenition
|
# Argument defenition
|
||||||
user=$1
|
user=$1
|
||||||
domain=$(echo $2 | sed -e 's/\.*$//g' -e 's/^\.*//g')
|
alias=$2
|
||||||
domain_idn=$(idn -t --quiet -a "$domain")
|
ip=$3
|
||||||
dom_alias=$(idn -t --quiet -u "$3" )
|
restart=$4
|
||||||
dom_alias=$(echo $dom_alias | sed -e 's/\.*$//g' -e 's/^\.*//g')
|
|
||||||
dom_alias=$(echo $dom_alias | tr '[:upper:]' '[:lower:]')
|
|
||||||
dom_alias_idn=$(idn -t --quiet -a "$dom_alias" )
|
|
||||||
restart="$4"
|
|
||||||
|
|
||||||
# Includes
|
# Includes
|
||||||
source $VESTA/func/main.sh
|
source $VESTA/func/main.sh
|
||||||
|
@ -29,58 +25,54 @@ source $VESTA/conf/vesta.conf
|
||||||
# Verifications #
|
# Verifications #
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
check_args '3' "$#" 'USER DOMAIN ALIAS'
|
check_args '3' "$#" 'USER ALIAS IP [RESTART]'
|
||||||
validate_format 'user' 'domain'
|
validate_format 'user' 'alias' 'ip'
|
||||||
is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
|
|
||||||
is_system_enabled "$DNS_SYSTEM" 'DNS_SYSTEM'
|
is_system_enabled "$DNS_SYSTEM" 'DNS_SYSTEM'
|
||||||
is_object_valid 'user' 'USER' "$user"
|
is_object_valid 'user' 'USER' "$user"
|
||||||
is_object_unsuspended 'user' 'USER' "$user"
|
is_object_unsuspended 'user' 'USER' "$user"
|
||||||
is_object_valid 'web' 'DOMAIN' "$domain"
|
if [ -e "$USER_DATA/dns/$alias.conf" ]; then
|
||||||
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
# Action #
|
# Action #
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
# Parsing domain values
|
# Logging
|
||||||
get_domain_values 'web'
|
log_event "$OK" "$EVENT"
|
||||||
|
|
||||||
# Check if it a simple domain
|
# Define additional vars
|
||||||
if [ $(echo -e "${dom_alias//\./\n}" | wc -l) -le 2 ]; then
|
sub_domain=$(echo "$alias" |awk -F '.' '{print $1}')
|
||||||
if [ ! -e "$USER_DATA/dns/$dom_alias.conf" ]; then
|
top_domain=$(echo "$alias" |sed -e "s/^$sub_domain.//")
|
||||||
$BIN/v-add-dns-domain \
|
domain_lvl=$(echo "$alias" |grep -o "\." |wc -l)
|
||||||
$user $dom_alias $IP '' '' '' '' '' $restart > /dev/null
|
|
||||||
fi
|
# Adding second level domain
|
||||||
|
if [ "$domain_lvl" -eq 1 ] || [ "${#top_domain}" -le '6' ]; then
|
||||||
|
$BIN/v-add-dns-domain \
|
||||||
|
$user $alias $ip '' '' '' '' '' $restart >> /dev/null
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Adding toplevel domain and then its sub
|
||||||
|
$BIN/v-add-dns-domain $user $top_domain $ip '' '' '' '' $restart >> /dev/null
|
||||||
|
|
||||||
|
# Checking top-level domain
|
||||||
|
if [ ! -e "$USER_DATA/dns/$top_domain.conf" ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Checking subdomain record
|
||||||
|
if [ "$sub_domain" == '*' ]; then
|
||||||
|
check_record=$(grep -w "RECORD='\*'" $USER_DATA/dns/$top_domain.conf)
|
||||||
else
|
else
|
||||||
# Check subdomain
|
check_record=$(grep -w "RECORD='$sub_domain'" $USER_DATA/dns/$top_domain.conf)
|
||||||
sub=$(echo "$dom_alias" | cut -f1 -d . -s)
|
fi
|
||||||
dom=$(echo "$dom_alias" | sed -e "s/^$sub.//" )
|
|
||||||
|
|
||||||
# Ignore short domains like co.uk, com.au and so on
|
# Adding subdomain record
|
||||||
if [ "${#dom}" -le '6' ]; then
|
if [ -z "$check_record" ]; then
|
||||||
exit
|
$BIN/v-add-dns-record \
|
||||||
fi
|
$user $top_domain "$sub_domain" A $ip '' '' $restart >> /dev/null
|
||||||
|
|
||||||
if [ ! -e "$USER_DATA/dns/$dom.conf" ]; then
|
|
||||||
$BIN/v-add-dns-domain \
|
|
||||||
$user $dom $IP '' '' '' '' $restart > /dev/null
|
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
$BIN/v-add-dns-record \
|
|
||||||
$user $dom "$sub" A $IP '' '' $restart
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [ "$sub" == '*' ]; then
|
|
||||||
rec=$(grep -w "RECORD='\*'" $USER_DATA/dns/$dom.conf)
|
|
||||||
else
|
|
||||||
rec=$(grep -w "RECORD='$sub'" $USER_DATA/dns/$dom.conf)
|
|
||||||
fi
|
|
||||||
if [ -z "$rec" ]; then
|
|
||||||
$BIN/v-add-dns-record \
|
|
||||||
$user $dom "$sub" A $IP '' '' $restart > /dev/null
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
@ -88,6 +80,6 @@ fi
|
||||||
# Vesta #
|
# Vesta #
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
# No Logging
|
# No logging
|
||||||
|
|
||||||
exit
|
exit
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# info: add web domain
|
# info: add web domain
|
||||||
# options: USER DOMAIN IP [RESTART]
|
# options: USER DOMAIN IP [RESTART] [ALIASES] [PROXY_EXTENTIONS]
|
||||||
#
|
#
|
||||||
# The function adds virtual host to a server. In cases when a template is
|
# The function adds virtual host to a server. In cases when a template is
|
||||||
# undefined in the script, the template "default" will be used. The alias of
|
# undefined in the script, the template "default" will be used. The alias of
|
||||||
|
@ -20,9 +20,12 @@ domain=$(idn -t --quiet -u "$2" )
|
||||||
domain=$(echo $domain | sed -e 's/\.*$//g' -e 's/^\.*//g')
|
domain=$(echo $domain | sed -e 's/\.*$//g' -e 's/^\.*//g')
|
||||||
domain=$(echo $domain | tr '[:upper:]' '[:lower:]')
|
domain=$(echo $domain | tr '[:upper:]' '[:lower:]')
|
||||||
domain_idn=$(idn -t --quiet -a "$domain")
|
domain_idn=$(idn -t --quiet -a "$domain")
|
||||||
ip=$3
|
ip=$3; IP=$3
|
||||||
restart=$4
|
restart=$4
|
||||||
alises=$5
|
aliases=$5
|
||||||
|
default_extentions="jpg,jpeg,gif,png,ico,svg,css,zip,tgz,gz,rar,bz2,doc,xls,\
|
||||||
|
exe,pdf,ppt,txt,odt,ods,odp,odf,tar,wav,bmp,rtf,js,mp3,avi,mpeg,flv,html,htm"
|
||||||
|
extentions=${6-$default_extentions}
|
||||||
|
|
||||||
# Includes
|
# Includes
|
||||||
source $VESTA/func/main.sh
|
source $VESTA/func/main.sh
|
||||||
|
@ -35,8 +38,8 @@ source $VESTA/conf/vesta.conf
|
||||||
# Verifications #
|
# Verifications #
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
check_args '3' "$#" 'USER DOMAIN IP [RESTART]'
|
check_args '3' "$#" 'USER DOMAIN IP [RESTART] [ALIASES] [PROXY_EXTENTIONS]'
|
||||||
validate_format 'user' 'domain' 'ip'
|
validate_format 'user' 'domain' 'ip' 'extentions'
|
||||||
is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
|
is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
|
||||||
is_object_valid 'user' 'USER' "$user"
|
is_object_valid 'user' 'USER' "$user"
|
||||||
is_object_unsuspended 'user' 'USER' "$user"
|
is_object_unsuspended 'user' 'USER' "$user"
|
||||||
|
@ -46,41 +49,22 @@ is_ip_avalable
|
||||||
is_package_full 'WEB_DOMAINS'
|
is_package_full 'WEB_DOMAINS'
|
||||||
template=$(get_user_value '$WEB_TEMPLATE')
|
template=$(get_user_value '$WEB_TEMPLATE')
|
||||||
is_web_template_valid
|
is_web_template_valid
|
||||||
|
if [ ! -z "$aliases" ]; then
|
||||||
|
for domain_alias in $(echo "${aliases//,/ }"); do
|
||||||
|
is_domain_new 'web' "$domain_alias" 'alias'
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ ! -z "$PROXY_SYSTEM" ]; then
|
||||||
|
proxy=$(get_user_value '$PROXY_TEMPLATE')
|
||||||
|
is_proxy_template_valid $proxy
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
# Action #
|
# Action #
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
# Define real ip in case of NAT
|
# Checking domain backend in case PHP-FPM is configured
|
||||||
IP=$ip
|
|
||||||
ip=$(get_real_ip $ip)
|
|
||||||
|
|
||||||
# Defining domain aliases
|
|
||||||
ip_name=$(get_ip_name)
|
|
||||||
ip_name_idn=$(idn -t --quiet -a "$ip_name")
|
|
||||||
domain_alias="www.$domain"
|
|
||||||
domain_alias_idn="www.$domain_idn"
|
|
||||||
if [ ! -z "$ip_name" ]; then
|
|
||||||
domain_alias_dash="${domain//./-}.$ip_name"
|
|
||||||
domain_alias_dash_idn="${domain_idn//./-}.$ip_name_idn"
|
|
||||||
aliases="$domain_alias,$domain_alias_dash"
|
|
||||||
aliases_idn="$domain_alias_idn,$domain_alias_dash_idn"
|
|
||||||
alias_string="ServerAlias $domain_alias_idn $domain_alias_dash_idn"
|
|
||||||
else
|
|
||||||
aliases="$domain_alias"
|
|
||||||
aliases_idn="$domain_alias_idn"
|
|
||||||
alias_string="ServerAlias $domain_alias_idn"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Defining vars for add_config function
|
|
||||||
group="$user"
|
|
||||||
email="info@$domain"
|
|
||||||
docroot="$HOMEDIR/$user/web/$domain/public_html"
|
|
||||||
tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.tpl"
|
|
||||||
conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
|
|
||||||
|
|
||||||
# Checking backend
|
|
||||||
if [ ! -z "$WEB_BACKEND" ]; then
|
if [ ! -z "$WEB_BACKEND" ]; then
|
||||||
is_web_backend_pool_valid
|
is_web_backend_pool_valid
|
||||||
$BIN/v-add-web-domain-backend $user $domain
|
$BIN/v-add-web-domain-backend $user $domain
|
||||||
|
@ -89,8 +73,33 @@ if [ ! -z "$WEB_BACKEND" ]; then
|
||||||
exit $rc
|
exit $rc
|
||||||
fi
|
fi
|
||||||
get_domain_backend_values
|
get_domain_backend_values
|
||||||
|
backend=$(get_user_value '$BACKEND_TEMPLATE')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Defining variables for add_config function
|
||||||
|
ip=$(get_real_ip $ip)
|
||||||
|
group="$user"
|
||||||
|
email="info@$domain"
|
||||||
|
docroot="$HOMEDIR/$user/web/$domain/public_html"
|
||||||
|
tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.tpl"
|
||||||
|
conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
|
||||||
|
|
||||||
|
# Defining domain aliases
|
||||||
|
ip_name=$(get_ip_name)
|
||||||
|
if [ -z "$aliases" ]; then
|
||||||
|
if [ -z "$ip_name" ]; then
|
||||||
|
aliases="www.$domain"
|
||||||
|
else
|
||||||
|
aliases="www.$domain,${domain//./-}.$ip_name"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ ! -z "$ip_name" ]; then
|
||||||
|
aliases="$aliases,${domain//./-}.$ip_name"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
aliases_idn=$(idn -t --quiet -a $aliases)
|
||||||
|
alias_string="ServerAlias ${aliases_idn//,/ }"
|
||||||
|
|
||||||
# Adding web config
|
# Adding web config
|
||||||
add_web_config
|
add_web_config
|
||||||
|
|
||||||
|
@ -166,6 +175,23 @@ if [ -z "$web_include" ] && [ "$WEB_SYSTEM" = 'nginx' ]; then
|
||||||
echo "include $conf;" >> $web_conf
|
echo "include $conf;" >> $web_conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Checking proxy system
|
||||||
|
if [ ! -z "$PROXY_SYSTEM" ]; then
|
||||||
|
PROXY_EXT="$extentions"
|
||||||
|
tpl_file="$WEBTPL/$PROXY_SYSTEM/$proxy.tpl"
|
||||||
|
conf="$HOMEDIR/$user/conf/web/$PROXY_SYSTEM.conf"
|
||||||
|
add_web_config
|
||||||
|
chown root:$user $conf
|
||||||
|
chmod 640 $conf
|
||||||
|
proxy_conf="/etc/$PROXY_SYSTEM/conf.d/vesta.conf"
|
||||||
|
if [ -z "$(grep "$conf" $proxy_conf)" ]; then
|
||||||
|
echo "include $conf;" >> $proxy_conf
|
||||||
|
fi
|
||||||
|
if [ -x $WEBTPL/$PROXY_SYSTEM/$template.sh ]; then
|
||||||
|
$WEBTPL/$PROXY_SYSTEM/$template.sh $user $domain $ip $HOMEDIR $docroot
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
# Vesta #
|
# Vesta #
|
||||||
|
@ -177,10 +203,9 @@ increase_user_value "$user" '$U_WEB_DOMAINS'
|
||||||
increase_user_value "$user" '$U_WEB_ALIASES'
|
increase_user_value "$user" '$U_WEB_ALIASES'
|
||||||
|
|
||||||
# Defining domain variables
|
# Defining domain variables
|
||||||
BACKEND_TPL=$(grep BACKEND_TEMPLATE $USER_DATA/user.conf |cut -f 2 -d \')
|
|
||||||
str="DOMAIN='$domain' IP='$IP' IP6='' ALIAS='$aliases' TPL='$template'"
|
str="DOMAIN='$domain' IP='$IP' IP6='' ALIAS='$aliases' TPL='$template'"
|
||||||
str="$str SSL='no' SSL_HOME='same' FTP_USER='' FTP_MD5=''"
|
str="$str SSL='no' SSL_HOME='same' FTP_USER='' FTP_MD5='' BACKEND='$backend'"
|
||||||
str="$str BACKEND='$BACKEND_TPL' PROXY='' PROXY_EXT='' STATS='' STATS_USER=''"
|
str="$str PROXY='$proxy' PROXY_EXT='$extentions' STATS='' STATS_USER=''"
|
||||||
str="$str STATS_CRYPT='' U_DISK='0' U_BANDWIDTH='0' SUSPENDED='no'"
|
str="$str STATS_CRYPT='' U_DISK='0' U_BANDWIDTH='0' SUSPENDED='no'"
|
||||||
str="$str TIME='$TIME' DATE='$DATE'"
|
str="$str TIME='$TIME' DATE='$DATE'"
|
||||||
|
|
||||||
|
@ -193,6 +218,12 @@ if [ "$restart" != 'no' ]; then
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
exit $E_RESTART
|
exit $E_RESTART
|
||||||
fi
|
fi
|
||||||
|
if [ ! -z "$PROXY_SYSTEM" ]; then
|
||||||
|
$BIN/v-restart-proxy
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit $E_RESTART
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Logging
|
# Logging
|
||||||
|
|
|
@ -39,7 +39,7 @@ is_object_valid 'user' 'USER' "$user"
|
||||||
is_object_unsuspended 'user' 'USER' "$user"
|
is_object_unsuspended 'user' 'USER' "$user"
|
||||||
is_object_valid 'web' 'DOMAIN' "$domain"
|
is_object_valid 'web' 'DOMAIN' "$domain"
|
||||||
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
||||||
is_domain_new 'web' "$dom_alias"
|
is_domain_new 'web' "$dom_alias" 'alias'
|
||||||
is_package_full 'WEB_ALIASES'
|
is_package_full 'WEB_ALIASES'
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ is_object_value_empty 'web' 'DOMAIN' "$domain" '$PROXY'
|
||||||
if [ -z $template ]; then
|
if [ -z $template ]; then
|
||||||
template=$(get_user_value '$PROXY_TEMPLATE')
|
template=$(get_user_value '$PROXY_TEMPLATE')
|
||||||
fi
|
fi
|
||||||
is_proxy_template_valid
|
is_proxy_template_valid $template
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
|
@ -37,7 +37,7 @@ is_object_unsuspended 'user' 'USER' "$user"
|
||||||
case $type in
|
case $type in
|
||||||
WEB) is_web_template_valid;
|
WEB) is_web_template_valid;
|
||||||
update_user_value "$user" '$WEB_TEMPLATE' "$template";;
|
update_user_value "$user" '$WEB_TEMPLATE' "$template";;
|
||||||
PROXY) is_proxy_template_valid;
|
PROXY) is_proxy_template_valid $template;
|
||||||
update_user_value "$user" '$PROXY_TEMPLATE' "$template";;
|
update_user_value "$user" '$PROXY_TEMPLATE' "$template";;
|
||||||
DNS) is_dns_template_valid;
|
DNS) is_dns_template_valid;
|
||||||
update_user_value "$user" '$DNS_TEMPLATE' "$template";;
|
update_user_value "$user" '$DNS_TEMPLATE' "$template";;
|
||||||
|
|
|
@ -39,7 +39,7 @@ is_object_unsuspended 'user' 'USER' "$user"
|
||||||
is_object_valid 'web' 'DOMAIN' "$domain"
|
is_object_valid 'web' 'DOMAIN' "$domain"
|
||||||
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
||||||
is_object_value_exist 'web' 'DOMAIN' "$domain" '$PROXY'
|
is_object_value_exist 'web' 'DOMAIN' "$domain" '$PROXY'
|
||||||
is_proxy_template_valid
|
is_proxy_template_valid $template
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
|
@ -11,6 +11,7 @@ is_web_template_valid() {
|
||||||
|
|
||||||
# Proxy template check
|
# Proxy template check
|
||||||
is_proxy_template_valid() {
|
is_proxy_template_valid() {
|
||||||
|
template=$1
|
||||||
t="$WEBTPL/$PROXY_SYSTEM/$template.tpl"
|
t="$WEBTPL/$PROXY_SYSTEM/$template.tpl"
|
||||||
s="$WEBTPL/$PROXY_SYSTEM/$template.stpl"
|
s="$WEBTPL/$PROXY_SYSTEM/$template.stpl"
|
||||||
if [ ! -e $t ] || [ ! -e $s ]; then
|
if [ ! -e $t ] || [ ! -e $s ]; then
|
||||||
|
@ -84,20 +85,21 @@ is_dns_template_valid() {
|
||||||
is_domain_new() {
|
is_domain_new() {
|
||||||
type="$1"
|
type="$1"
|
||||||
dom=${2-$domain}
|
dom=${2-$domain}
|
||||||
|
object=${3-domain}
|
||||||
|
|
||||||
# Check web domain
|
# Check web domain
|
||||||
if [ ! -z "$WEB_SYSTEM" ]; then
|
if [ ! -z "$WEB_SYSTEM" ]; then
|
||||||
web=$(grep -F -H "DOMAIN='$dom'" $VESTA/data/users/*/web.conf)
|
web=$(grep -F -H "DOMAIN='$dom'" $VESTA/data/users/*/web.conf)
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$web" ] && [ "$type" == 'web' ]; then
|
if [ ! -z "$web" ] && [ "$type" == 'web' ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$web" ]; then
|
if [ ! -z "$web" ]; then
|
||||||
web_user=$(echo "$web" |cut -f 7 -d /)
|
web_user=$(echo "$web" |cut -f 7 -d /)
|
||||||
if [ "$web_user" != "$user" ]; then
|
if [ "$web_user" != "$user" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
|
@ -108,14 +110,14 @@ is_domain_new() {
|
||||||
dns=$(grep -F -H "DOMAIN='$dom'" $VESTA/data/users/*/dns.conf)
|
dns=$(grep -F -H "DOMAIN='$dom'" $VESTA/data/users/*/dns.conf)
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$dns" ] && [ "$type" == 'dns' ]; then
|
if [ ! -z "$dns" ] && [ "$type" == 'dns' ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$dns" ]; then
|
if [ ! -z "$dns" ]; then
|
||||||
dns_user=$(echo "$dns" |cut -f 7 -d /)
|
dns_user=$(echo "$dns" |cut -f 7 -d /)
|
||||||
if [ "$dns_user" != "$user" ]; then
|
if [ "$dns_user" != "$user" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
|
@ -126,14 +128,14 @@ is_domain_new() {
|
||||||
mail=$(grep -F -H "DOMAIN='$dom'" $VESTA/data/users/*/mail.conf)
|
mail=$(grep -F -H "DOMAIN='$dom'" $VESTA/data/users/*/mail.conf)
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$mail" ] && [ "$type" == 'mail' ]; then
|
if [ ! -z "$mail" ] && [ "$type" == 'mail' ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$mail" ]; then
|
if [ ! -z "$mail" ]; then
|
||||||
mail_user=$(echo "$mail" |cut -f 7 -d /)
|
mail_user=$(echo "$mail" |cut -f 7 -d /)
|
||||||
if [ "$mail_user" != "$user" ]; then
|
if [ "$mail_user" != "$user" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
|
@ -149,7 +151,7 @@ is_domain_new() {
|
||||||
c3=$(grep -H ",$dom," $VESTA/data/users/*/web.conf | cut -f 7 -d /)
|
c3=$(grep -H ",$dom," $VESTA/data/users/*/web.conf | cut -f 7 -d /)
|
||||||
c4=$(grep -H ",$dom'" $VESTA/data/users/*/web.conf | cut -f 7 -d /)
|
c4=$(grep -H ",$dom'" $VESTA/data/users/*/web.conf | cut -f 7 -d /)
|
||||||
if [ ! -z "$c1" ] && [ "$type" == "web" ]; then
|
if [ ! -z "$c1" ] && [ "$type" == "web" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
|
@ -160,34 +162,34 @@ is_domain_new() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$c2" ] && [ "$type" == "web" ]; then
|
if [ ! -z "$c2" ] && [ "$type" == "web" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$c2" ] && [ "$c2" != "$user" ]; then
|
if [ ! -z "$c2" ] && [ "$c2" != "$user" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$c3" ] && [ "$type" == "web" ]; then
|
if [ ! -z "$c3" ] && [ "$type" == "web" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$c3" ] && [ "$c3" != "$user" ]; then
|
if [ ! -z "$c3" ] && [ "$c3" != "$user" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$c4" ] && [ "$type" == "web" ]; then
|
if [ ! -z "$c4" ] && [ "$type" == "web" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$c4" ] && [ "$c4" != "$user" ]; then
|
if [ ! -z "$c4" ] && [ "$c4" != "$user" ]; then
|
||||||
echo "Error: domain $dom exist"
|
echo "Error: $object $dom exist"
|
||||||
log_event "$E_EXISTS" "$EVENT"
|
log_event "$E_EXISTS" "$EVENT"
|
||||||
exit $E_EXISTS
|
exit $E_EXISTS
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -40,34 +40,39 @@ if (!empty($_POST['ok'])) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Default proxy extention list
|
// Set domain to lowercase and remove www prefix
|
||||||
$v_proxy_ext = 'jpeg, jpg, png, gif, bmp, ico, svg, tif, tiff, css, js, htm, html, ttf, ';
|
|
||||||
$v_proxy_ext .= 'otf, webp, woff, txt, csv, rtf, doc, docx, xls, xlsx, ppt, pptx, odf, ';
|
|
||||||
$v_proxy_ext .= 'odp, ods, odt, pdf, psd, ai, eot, eps, ps, zip, tar, tgz, gz, rar, ';
|
|
||||||
$v_proxy_ext .= 'bz2, 7z, aac, m4a, mp3, mp4, ogg, wav, wma, 3gp, avi, flv, m4v, mkv, ';
|
|
||||||
$v_proxy_ext .= 'mov, mp4, mpeg, mpg, wmv, exe, iso, dmg, swf';
|
|
||||||
|
|
||||||
// Set advanced option checkmark
|
|
||||||
if (empty($_POST['v_proxy'])) $v_adv = 'yes';
|
|
||||||
if (!empty($_POST['v_ftp'])) $v_adv = 'yes';
|
|
||||||
if ($_POST['v_proxy_ext'] != $v_proxy_ext) $v_adv = 'yes';
|
|
||||||
|
|
||||||
// Set domain name to lowercase and remove www prefix
|
|
||||||
$v_domain = preg_replace("/^www\./i", "", $_POST['v_domain']);
|
$v_domain = preg_replace("/^www\./i", "", $_POST['v_domain']);
|
||||||
$v_domain = escapeshellarg($v_domain);
|
$v_domain = escapeshellarg($v_domain);
|
||||||
$v_domain = strtolower($v_domain);
|
$v_domain = strtolower($v_domain);
|
||||||
|
|
||||||
// Prepare domain values
|
// Define domain ip address
|
||||||
$v_ip = escapeshellarg($_POST['v_ip']);
|
$v_ip = escapeshellarg($_POST['v_ip']);
|
||||||
if ((!empty($_POST['v_aliases'])) && ($_POST['v_aliases'] != 'www.'.$_POST['v_domain'])) $v_adv = 'yes';
|
|
||||||
if ((!empty($_POST['v_ssl'])) || (!empty($_POST['v_elog']))) $v_adv = 'yes';
|
// Define domain aliases
|
||||||
if ((!empty($_POST['v_ssl_crt'])) || (!empty($_POST['v_ssl_key']))) $v_adv = 'yes';
|
|
||||||
if ((!empty($_POST['v_ssl_ca'])) || ($_POST['v_stats'] != 'none')) $v_adv = 'yes';
|
|
||||||
if (!empty($v_domain)) $v_ftp_user_prepath .= $v_domain;
|
|
||||||
if (empty($_POST['v_dns'])) $v_dns = 'off';
|
|
||||||
if (empty($_POST['v_mail'])) $v_mail = 'off';
|
|
||||||
if (empty($_POST['v_proxy'])) $v_proxy = 'off';
|
|
||||||
$v_aliases = $_POST['v_aliases'];
|
$v_aliases = $_POST['v_aliases'];
|
||||||
|
$aliases = preg_replace("/\n/", ",", $v_aliases);
|
||||||
|
$aliases = preg_replace("/\r/", ",", $aliases);
|
||||||
|
$aliases = preg_replace("/\t/", ",", $aliases);
|
||||||
|
$aliases = preg_replace("/ /", ",", $aliases);
|
||||||
|
$aliases_arr = explode(",", $aliases);
|
||||||
|
$aliases_arr = array_unique($aliases_arr);
|
||||||
|
$aliases_arr = array_filter($aliases_arr);
|
||||||
|
$aliases = implode(",",$aliases_arr);
|
||||||
|
$aliases = escapeshellarg($aliases);
|
||||||
|
|
||||||
|
// Define proxy extentions
|
||||||
|
$v_proxy_ext = $_POST['v_proxy_ext'];
|
||||||
|
$proxy_ext = preg_replace("/\n/", ",", $v_proxy_ext);
|
||||||
|
$proxy_ext = preg_replace("/\r/", ",", $proxy_ext);
|
||||||
|
$proxy_ext = preg_replace("/\t/", ",", $proxy_ext);
|
||||||
|
$proxy_ext = preg_replace("/ /", ",", $proxy_ext);
|
||||||
|
$proxy_ext_arr = explode(",", $proxy_ext);
|
||||||
|
$proxy_ext_arr = array_unique($proxy_ext_arr);
|
||||||
|
$proxy_ext_arr = array_filter($proxy_ext_arr);
|
||||||
|
$proxy_ext = implode(",",$proxy_ext_arr);
|
||||||
|
$proxy_ext = escapeshellarg($proxy_ext);
|
||||||
|
|
||||||
|
// Define other options
|
||||||
$v_elog = $_POST['v_elog'];
|
$v_elog = $_POST['v_elog'];
|
||||||
$v_ssl = $_POST['v_ssl'];
|
$v_ssl = $_POST['v_ssl'];
|
||||||
$v_ssl_crt = $_POST['v_ssl_crt'];
|
$v_ssl_crt = $_POST['v_ssl_crt'];
|
||||||
|
@ -77,20 +82,29 @@ if (!empty($_POST['ok'])) {
|
||||||
$v_stats = escapeshellarg($_POST['v_stats']);
|
$v_stats = escapeshellarg($_POST['v_stats']);
|
||||||
$v_stats_user = $data[$v_domain]['STATS_USER'];
|
$v_stats_user = $data[$v_domain]['STATS_USER'];
|
||||||
$v_stats_password = $data[$v_domain]['STATS_PASSWORD'];
|
$v_stats_password = $data[$v_domain]['STATS_PASSWORD'];
|
||||||
$v_proxy_ext = preg_replace("/\n/", " ", $_POST['v_proxy_ext']);
|
|
||||||
$v_proxy_ext = preg_replace("/,/", " ", $v_proxy_ext);
|
|
||||||
$v_proxy_ext = preg_replace('/\s+/', ' ',$v_proxy_ext);
|
|
||||||
$v_proxy_ext = trim($v_proxy_ext);
|
|
||||||
$v_proxy_ext = str_replace(' ', ", ", $v_proxy_ext);
|
|
||||||
$v_ftp = $_POST['v_ftp'];
|
$v_ftp = $_POST['v_ftp'];
|
||||||
$v_ftp_user = $_POST['v_ftp_user'];
|
$v_ftp_user = $_POST['v_ftp_user'];
|
||||||
$v_ftp_password = $_POST['v_ftp_password'];
|
$v_ftp_password = $_POST['v_ftp_password'];
|
||||||
$v_ftp_email = $_POST['v_ftp_email'];
|
$v_ftp_email = $_POST['v_ftp_email'];
|
||||||
|
if (!empty($v_domain)) $v_ftp_user_prepath .= $v_domain;
|
||||||
|
|
||||||
|
// Set advanced option checkmark
|
||||||
|
if (empty($_POST['v_proxy'])) $v_adv = 'yes';
|
||||||
|
if (!empty($_POST['v_ftp'])) $v_adv = 'yes';
|
||||||
|
if ($_POST['v_proxy_ext'] != $v_proxy_ext) $v_adv = 'yes';
|
||||||
|
if ((!empty($_POST['v_aliases'])) && ($_POST['v_aliases'] != 'www.'.$_POST['v_domain'])) $v_adv = 'yes';
|
||||||
|
if ((!empty($_POST['v_ssl'])) || (!empty($_POST['v_elog']))) $v_adv = 'yes';
|
||||||
|
if ((!empty($_POST['v_ssl_crt'])) || (!empty($_POST['v_ssl_key']))) $v_adv = 'yes';
|
||||||
|
if ((!empty($_POST['v_ssl_ca'])) || ($_POST['v_stats'] != 'none')) $v_adv = 'yes';
|
||||||
|
|
||||||
|
// Check advanced features
|
||||||
|
if (empty($_POST['v_dns'])) $v_dns = 'off';
|
||||||
|
if (empty($_POST['v_mail'])) $v_mail = 'off';
|
||||||
|
if (empty($_POST['v_proxy'])) $v_proxy = 'off';
|
||||||
|
|
||||||
// Add web domain
|
// Add web domain
|
||||||
if (empty($_SESSION['error_msg'])) {
|
if (empty($_SESSION['error_msg'])) {
|
||||||
exec (VESTA_CMD."v-add-web-domain ".$user." ".$v_domain." ".$v_ip." 'no'", $output, $return_var);
|
exec (VESTA_CMD."v-add-web-domain ".$user." ".$v_domain." ".$v_ip." 'no' ".$aliases." ".$proxy_ext, $output, $return_var);
|
||||||
check_return_code($return_var,$output);
|
check_return_code($return_var,$output);
|
||||||
unset($output);
|
unset($output);
|
||||||
$domain_added = empty($_SESSION['error_msg']);
|
$domain_added = empty($_SESSION['error_msg']);
|
||||||
|
@ -103,6 +117,18 @@ if (!empty($_POST['ok'])) {
|
||||||
unset($output);
|
unset($output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add DNS for domain aliases
|
||||||
|
if (($_POST['v_dns'] == 'on') && (empty($_SESSION['error_msg']))) {
|
||||||
|
foreach ($aliases_arr as $alias) {
|
||||||
|
if ($alias != "www.".$_POST['v_domain']) {
|
||||||
|
$alias = escapeshellarg($alias);
|
||||||
|
exec (VESTA_CMD."v-add-dns-on-web-alias ".$user." ".$alias." ".$v_ip." 'no'", $output, $return_var);
|
||||||
|
check_return_code($return_var,$output);
|
||||||
|
unset($output);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Add mail domain
|
// Add mail domain
|
||||||
if (($_POST['v_mail'] == 'on') && (empty($_SESSION['error_msg']))) {
|
if (($_POST['v_mail'] == 'on') && (empty($_SESSION['error_msg']))) {
|
||||||
exec (VESTA_CMD."v-add-mail-domain ".$user." ".$v_domain, $output, $return_var);
|
exec (VESTA_CMD."v-add-mail-domain ".$user." ".$v_domain, $output, $return_var);
|
||||||
|
@ -110,47 +136,10 @@ if (!empty($_POST['ok'])) {
|
||||||
unset($output);
|
unset($output);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add domain aliases
|
// Delete proxy support
|
||||||
if ((!empty($_POST['v_aliases'])) && (empty($_SESSION['error_msg']))) {
|
if ((!empty($_SESSION['PROXY_SYSTEM'])) && ($_POST['v_proxy'] == 'off') && (empty($_SESSION['error_msg']))) {
|
||||||
$valiases = preg_replace("/\n/", " ", $_POST['v_aliases']);
|
|
||||||
$valiases = preg_replace("/,/", " ", $valiases);
|
|
||||||
$valiases = preg_replace('/\s+/', ' ',$valiases);
|
|
||||||
$valiases = trim($valiases);
|
|
||||||
$aliases = explode(" ", $valiases);
|
|
||||||
foreach ($aliases as $alias) {
|
|
||||||
if ($alias == 'www.'.$_POST['v_domain']) {
|
|
||||||
$www_alias = 'yes';
|
|
||||||
} else {
|
|
||||||
$alias = escapeshellarg($alias);
|
|
||||||
if (empty($_SESSION['error_msg'])) {
|
|
||||||
exec (VESTA_CMD."v-add-web-domain-alias ".$user." ".$v_domain." ".$alias." 'no'", $output, $return_var);
|
|
||||||
check_return_code($return_var,$output);
|
|
||||||
unset($output);
|
|
||||||
}
|
|
||||||
if (($_POST['v_dns'] == 'on') && (empty($_SESSION['error_msg']))) {
|
|
||||||
exec (VESTA_CMD."v-add-dns-on-web-alias ".$user." ".$v_domain." ".$alias." 'no'", $output, $return_var);
|
|
||||||
check_return_code($return_var,$output);
|
|
||||||
unset($output);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete www. alias if it wasn't found
|
|
||||||
if ((empty($www_alias)) && (empty($_SESSION['error_msg']))) {
|
|
||||||
$alias = preg_replace("/^www./i", "", $_POST['v_domain']);
|
|
||||||
$alias = 'www.'.$alias;
|
|
||||||
$alias = escapeshellarg($alias);
|
|
||||||
exec (VESTA_CMD."v-delete-web-domain-alias ".$user." ".$v_domain." ".$alias." 'no'", $output, $return_var);
|
|
||||||
check_return_code($return_var,$output);
|
|
||||||
unset($output);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add proxy support
|
|
||||||
if ((!empty($_SESSION['PROXY_SYSTEM'])) && ($_POST['v_proxy'] == 'on') && (empty($_SESSION['error_msg']))) {
|
|
||||||
$ext = str_replace(' ', '', $v_proxy_ext);
|
|
||||||
$ext = escapeshellarg($ext);
|
$ext = escapeshellarg($ext);
|
||||||
exec (VESTA_CMD."v-add-web-domain-proxy ".$user." ".$v_domain." '' ".$ext." 'no'", $output, $return_var);
|
exec (VESTA_CMD."v-delete-web-domain-proxy ".$user." ".$v_domain." 'no'", $output, $return_var);
|
||||||
check_return_code($return_var,$output);
|
check_return_code($return_var,$output);
|
||||||
unset($output);
|
unset($output);
|
||||||
}
|
}
|
||||||
|
@ -228,11 +217,11 @@ if (!empty($_POST['ok'])) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Restart backend server
|
// Restart backend server
|
||||||
if ((!empty($_SESSION['WEB_BACKEND'])) && (empty($_SESSION['error_msg']))) {
|
//if ((!empty($_SESSION['WEB_BACKEND'])) && (empty($_SESSION['error_msg']))) {
|
||||||
exec (VESTA_CMD."v-restart-web-backend", $output, $return_var);
|
// exec (VESTA_CMD."v-restart-web-backend", $output, $return_var);
|
||||||
check_return_code($return_var,$output);
|
// check_return_code($return_var,$output);
|
||||||
unset($output);
|
// unset($output);
|
||||||
}
|
//}
|
||||||
|
|
||||||
// Restart proxy server
|
// Restart proxy server
|
||||||
if ((!empty($_SESSION['PROXY_SYSTEM'])) && ($_POST['v_proxy'] == 'on') && (empty($_SESSION['error_msg']))) {
|
if ((!empty($_SESSION['PROXY_SYSTEM'])) && ($_POST['v_proxy'] == 'on') && (empty($_SESSION['error_msg']))) {
|
||||||
|
|
3
web/css/styles.min.css
vendored
3
web/css/styles.min.css
vendored
|
@ -1977,9 +1977,11 @@ div.l-content > div.l-separator:nth-of-type(4) {
|
||||||
right: 3%;
|
right: 3%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
#vstobjects {
|
#vstobjects {
|
||||||
margin-top: -1px;
|
margin-top: -1px;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
#vstobjects .l-center {
|
#vstobjects .l-center {
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
|
@ -2745,4 +2747,3 @@ form#vstobjects.suspended {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
width: 140px;
|
width: 140px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -195,7 +195,7 @@ if (!empty($_POST['save'])) {
|
||||||
exec (VESTA_CMD."v-list-dns-domain ".$v_username." ".$v_domain, $output, $return_var);
|
exec (VESTA_CMD."v-list-dns-domain ".$v_username." ".$v_domain, $output, $return_var);
|
||||||
unset($output);
|
unset($output);
|
||||||
if ($return_var == 0) {
|
if ($return_var == 0) {
|
||||||
exec (VESTA_CMD."v-add-dns-on-web-alias ".$v_username." ".$v_domain." '".$alias."' 'no'", $output, $return_var);
|
exec (VESTA_CMD."v-add-dns-on-web-alias ".$v_username." ".$alias." ".$v_ip." no", $output, $return_var);
|
||||||
check_return_code($return_var,$output);
|
check_return_code($return_var,$output);
|
||||||
unset($output);
|
unset($output);
|
||||||
$restart_dns = 'yes';
|
$restart_dns = 'yes';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue