Skip to content

Commit dec702d

Browse files
committed
add web/dns/mail domain wrapper
1 parent 18d3867 commit dec702d

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

bin/v-add-domain

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
#!/bin/bash
2+
# info: add web/dns/mail domain
3+
# options: USER DOMAIN [IP]
4+
#
5+
# The function adds web/dns/mail domain to a server.
6+
7+
8+
#----------------------------------------------------------#
9+
# Variable&Function #
10+
#----------------------------------------------------------#
11+
12+
# Argument defenition
13+
user=$1
14+
domain=$2
15+
ip=$3
16+
17+
# Includes
18+
source $VESTA/conf/vesta.conf
19+
source $VESTA/func/main.sh
20+
source $VESTA/func/ip.sh
21+
22+
23+
#----------------------------------------------------------#
24+
# Verifications #
25+
#----------------------------------------------------------#
26+
27+
check_args '2' "$#" 'USER DOMAIN [IP]'
28+
validate_format 'user' 'domain'
29+
if [ ! -z "$ip" ]; then
30+
validate_format 'ip'
31+
fi
32+
is_object_valid 'user' 'USER' "$user"
33+
is_object_unsuspended 'user' 'USER' "$user"
34+
35+
36+
#----------------------------------------------------------#
37+
# Action #
38+
#----------------------------------------------------------#
39+
40+
# Get ip if it wasn't defined
41+
if [ -z "$ip" ]; then
42+
ip=$(grep -H "OWNER='$user'" $VESTA/data/ips/* 2>/dev/null|head -n1)
43+
ip=$(echo "$ip" | cut -f 7 -d / | cut -f 1 -d :)
44+
if [ -z "$ip" ]; then
45+
# Check shared ips
46+
admin_ips=$(grep -H "OWNER='admin'" $VESTA/data/ips/* 2>/dev/null)
47+
admin_ips=$(echo "$admin_ips" | cut -f 7 -d / | cut -f 1 -d :)
48+
for admin_ip in $admin_ips; do
49+
if [ -z "$ip" ]; then
50+
shared=$(grep "STATUS='shared'" $VESTA/data/ips/$admin_ip)
51+
if [ ! -z "$shared" ]; then
52+
ip=$admin_ip
53+
fi
54+
fi
55+
done
56+
fi
57+
fi
58+
59+
# Web dmain
60+
if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
61+
$BIN/v-add-web-domain $user $domain $ip
62+
retun_code=$?
63+
fi
64+
65+
# DNS domain
66+
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
67+
if [ "$retun_code" -eq 0 ]; then
68+
$BIN/v-add-dns-domain $user $domain $ip
69+
retun_code=$?
70+
fi
71+
fi
72+
73+
# Mail domain
74+
if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
75+
if [ "$retun_code" -eq 0 ]; then
76+
$BIN/v-add-mail-domain $user $domain
77+
retun_code=$?
78+
fi
79+
fi
80+
81+
82+
#----------------------------------------------------------#
83+
# Vesta #
84+
#----------------------------------------------------------#
85+
86+
exit $retun_code

0 commit comments

Comments
 (0)