Skip to content

Commit a2ac36b

Browse files
committed
Merge changes from upstream & more
1 parent c20998b commit a2ac36b

22 files changed

+5760
-4261
lines changed

bin/v-add-dns-on-web-alias

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<<<<<<< HEAD
12
#!/bin/bash
23
# info: add dns domain or dns record based on web domain alias restart
34
# options: USER DOMAIN
@@ -78,3 +79,92 @@ fi
7879
# No Logging
7980

8081
exit
82+
=======
83+
#!/bin/bash
84+
# info: add dns domain or dns record based on web domain alias restart
85+
# options: USER DOMAIN
86+
#
87+
# The function adds dns domain or dns record based on web domain alias.
88+
89+
90+
#----------------------------------------------------------#
91+
# Variable&Function #
92+
#----------------------------------------------------------#
93+
94+
# Argument defenition
95+
user=$1
96+
domain=$(echo $2 | sed -e 's/\.*$//g' -e 's/^\.*//g')
97+
domain_idn=$(idn -t --quiet -a "$domain")
98+
dom_alias=$(idn -t --quiet -u "$3" )
99+
dom_alias=$(echo $dom_alias | sed -e 's/\.*$//g' -e 's/^\.*//g')
100+
dom_alias=$(echo $dom_alias | tr '[:upper:]' '[:lower:]')
101+
dom_alias_idn=$(idn -t --quiet -a "$dom_alias" )
102+
restart="$4"
103+
104+
# Includes
105+
source $VESTA/conf/vesta.conf
106+
source $VESTA/func/main.sh
107+
source $VESTA/func/domain.sh
108+
109+
110+
#----------------------------------------------------------#
111+
# Verifications #
112+
#----------------------------------------------------------#
113+
114+
check_args '3' "$#" 'USER DOMAIN ALIAS'
115+
validate_format 'user' 'domain'
116+
is_system_enabled "$WEB_SYSTEM"
117+
is_system_enabled "$DNS_SYSTEM"
118+
is_object_valid 'user' 'USER' "$user"
119+
is_object_unsuspended 'user' 'USER' "$user"
120+
is_object_valid 'web' 'DOMAIN' "$domain"
121+
is_object_unsuspended 'web' 'DOMAIN' "$domain"
122+
123+
124+
#----------------------------------------------------------#
125+
# Action #
126+
#----------------------------------------------------------#
127+
128+
# Parsing domain values
129+
get_domain_values 'web'
130+
131+
# Check if it a simple domain
132+
if [ $(echo -e "${dom_alias//\./\n}" | wc -l) -le 2 ]; then
133+
if [ ! -e "$USER_DATA/dns/$dom_alias.conf" ]; then
134+
$BIN/v-add-dns-domain \
135+
$user $dom_alias $IP '' '' '' '' '' $restart > /dev/null
136+
fi
137+
else
138+
# Check subdomain
139+
sub=$(echo "$dom_alias" | cut -f1 -d . -s)
140+
dom=$(echo "$dom_alias" | sed -e "s/^$sub.//" )
141+
if [ ! -e "$USER_DATA/dns/$dom.conf" ]; then
142+
$BIN/v-add-dns-domain \
143+
$user $dom $IP '' '' '' '' '' $restart > /dev/null
144+
145+
if [ $? -eq 0 ]; then
146+
$BIN/v-add-dns-domain-record \
147+
$user $dom "$sub" A $IP '' '' $restart
148+
fi
149+
else
150+
if [ "$sub" == '*' ]; then
151+
rec=$(grep -w "RECORD='\*'" $USER_DATA/dns/$dom.conf)
152+
else
153+
rec=$(grep -w "RECORD='$sub'" $USER_DATA/dns/$dom.conf)
154+
fi
155+
if [ -z "$rec" ]; then
156+
$BIN/v-add-dns-domain-record \
157+
$user $dom "$sub" A $IP '' '' $restart > /dev/null
158+
fi
159+
fi
160+
fi
161+
162+
163+
#----------------------------------------------------------#
164+
# Vesta #
165+
#----------------------------------------------------------#
166+
167+
# No Logging
168+
169+
exit
170+
>>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d

bin/v-add-web-domain-ftp

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<<<<<<< HEAD
12
#!/bin/bash
23
# info: add ftp account for web domain.
34
# options: USER DOMAIN FTP_USER FTP_PASSWORD
@@ -69,3 +70,82 @@ log_history "added ftp account $ftp_user for $domain"
6970
log_event "$OK" "$EVENT"
7071

7172
exit
73+
=======
74+
#!/bin/bash
75+
# info: add ftp account for web domain.
76+
# options: USER DOMAIN FTP_USER FTP_PASSWORD
77+
#
78+
# The function creates addutional ftp account for web domain.
79+
80+
81+
#----------------------------------------------------------#
82+
# Variable&Function #
83+
#----------------------------------------------------------#
84+
85+
# Argument defenition
86+
user=$1
87+
domain=$(idn -t --quiet -u "$2" )
88+
domain_idn=$(idn -t --quiet -a "$domain")
89+
ftp_user=${1}_${3}
90+
ftp_password=$4
91+
92+
# Includes
93+
source $VESTA/conf/vesta.conf
94+
source $VESTA/func/main.sh
95+
source $VESTA/func/domain.sh
96+
97+
# Hiding password
98+
A4='******'
99+
EVENT="DATE='$DATE' TIME='$TIME' CMD='$SCRIPT' A1='$A1' A2='$A2' A3='$A3'"
100+
EVENT="$EVENT A4='$A4' A5='$A5' A6='$A6' A7='$A7' A8='$A8' A9='$A9'"
101+
102+
#----------------------------------------------------------#
103+
# Verifications #
104+
#----------------------------------------------------------#
105+
106+
check_args '4' "$#" 'USER DOMAIN FTP_USER FTP_PASSWORD'
107+
validate_format 'user' 'domain' 'ftp_user' 'ftp_password'
108+
is_system_enabled "$WEB_SYSTEM"
109+
is_object_valid 'user' 'USER' "$user"
110+
is_object_unsuspended 'user' 'USER' "$user"
111+
is_object_valid 'web' 'DOMAIN' "$domain"
112+
is_object_unsuspended 'web' 'DOMAIN' "$domain"
113+
114+
115+
#----------------------------------------------------------#
116+
# Action #
117+
#----------------------------------------------------------#
118+
119+
get_domain_values 'web'
120+
check_ftp_user=$(grep "^$ftp_user:" /etc/passwd)
121+
if [ ! -z "$check_ftp_user" ] && [ "$FTP_USER" != "$ftp_user" ]; then
122+
echo "Error: ftp user $ftp_user already exists"
123+
log_event "$E_EXISTS $EVENT"
124+
exit $E_EXISTS
125+
fi
126+
127+
if [ ! -z "$FTP_USER" ]; then
128+
/usr/sbin/userdel $FTP_USER
129+
fi
130+
131+
# Adding user
132+
/usr/sbin/adduser $ftp_user -g $user -s /sbin/nologin -M \
133+
-d "$HOMEDIR/$user/web/$domain" > /dev/null 2>&1
134+
echo "$ftp_password" | /usr/bin/passwd "$ftp_user" --stdin &>/dev/null
135+
ftp_md5="$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)"
136+
137+
138+
#----------------------------------------------------------#
139+
# Vesta #
140+
#----------------------------------------------------------#
141+
142+
# Update config
143+
update_object_value 'web' 'DOMAIN' "$domain" '$FTP_USER' "$ftp_user"
144+
update_object_value 'web' 'DOMAIN' "$domain" '$FTP_MD5' "$ftp_md5"
145+
146+
# Logging
147+
log_history "added ftp account $ftp_user for $domain"
148+
log_event "$OK" "$EVENT"
149+
150+
exit
151+
>>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d

0 commit comments

Comments
 (0)