Skip to content

Commit caec3b5

Browse files
authored
Merge pull request hestiacp#10 from serghey-rodin/master
update from master
2 parents 96e3bad + 17d0fb1 commit caec3b5

File tree

10 files changed

+171
-172
lines changed

10 files changed

+171
-172
lines changed

bin/v-change-sys-ip-nat

Lines changed: 50 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -34,48 +34,72 @@ is_ip_valid "$ip"
3434
# Action #
3535
#----------------------------------------------------------#
3636

37-
# Changing nat ip
37+
# Updating IP
3838
if [ -z "$(grep NAT= $VESTA/data/ips/$ip)" ]; then
3939
sed -i "s/^TIME/NAT='$nat_ip'\nTIME/g" $VESTA/data/ips/$ip
40+
old=''
41+
new=$nat_ip
4042
else
41-
update_ip_value '$NAT' "$nat_ip"
43+
old=$(get_ip_value '$NAT')
44+
new=$nat_ip
45+
sed -i "s/NAT=.*/NAT='$new'/" $VESTA/data/ips/$ip
46+
if [ -z "$nat_ip" ]; then
47+
new=$ip
48+
fi
4249
fi
4350

44-
# Check ftp system
45-
if [ "$FTP_SYSTEM" = 'vsftpd' ]; then
46-
47-
# Find configuration
48-
if [ -e '/etc/vsftpd/vsftpd.conf' ]; then
49-
conf='/etc/vsftpd/vsftpd.conf'
50-
fi
51+
# Updating WEB configs
52+
if [ ! -z "$old" ] && [ ! -z "$WEB_SYSTEM" ]; then
53+
sed -i "s/$old/$new/" $VESTA/data/users/*/web.conf
54+
for user in $(ls $VESTA/data/users/); do
55+
$BIN/v-rebuild-web-domains $user no
56+
done
57+
$BIN/v-restart-dns $restart
58+
fi
5159

52-
if [ -e '/etc/vsftpd.conf' ]; then
53-
conf='/etc/vsftpd.conf'
54-
fi
60+
# Updating DNS configs
61+
if [ ! -z "$old" ] && [ ! -z "$DNS_SYSTEM" ]; then
62+
sed -i "s/$old/$new/" $VESTA/data/users/*/dns.conf
63+
sed -i "s/$old/$new/" $VESTA/data/users/*/dns/*.conf
64+
for user in $(ls $VESTA/data/users/); do
65+
$BIN/v-rebuild-dns-domains $user no
66+
done
67+
$BIN/v-restart-dns $restart
68+
fi
5569

56-
# Update config
57-
if [ -z "$(grep pasv_address $conf)" ]; then
58-
if [ ! -z "$nat_ip" ]; then
59-
echo "pasv_address=$nat_ip" >> $conf
60-
fi
61-
else
62-
if [ ! -z "$nat_ip" ]; then
63-
sed -i "s/pasv_address=.*/pasv_address='$nat_ip'/g" $conf
64-
else
65-
sed -i "/pasv_address/d" $conf
70+
# Updating FTP
71+
if [ ! -z "$old" ] && [ ! -z "$FTP_SYSTEM" ]; then
72+
conf=$(find /etc -name $FTP_SYSTEM.conf)
73+
if [ -e "$conf" ]; then
74+
sed -i "s/$old/$new/g" $conf
75+
if [ "$FTP_SYSTEM" = 'vsftpd' ]; then
76+
check_pasv=$(grep pasv_address $conf)
77+
if [ -z "$check_pasv" ] && [ ! -z "$nat_ip" ]; then
78+
echo "pasv_address=$nat_ip" >> $conf
79+
fi
80+
if [ ! -z "$check_pasv" ] && [ -z "$nat_ip" ]; then
81+
sed -i "/pasv_address/d" $conf
82+
fi
83+
if [ ! -z "$check_pasv" ] && [ ! -z "$nat_ip" ]; then
84+
sed -i "s/pasv_address=.*/pasv_address='$nat_ip'/g" $conf
85+
fi
6686
fi
6787
fi
88+
$BIN/v-restart-ftp $restart
89+
fi
90+
91+
# Updating firewall
92+
if [ ! -z "$old" ] && [ ! -z "$FIREWALL_SYSTEM" ]; then
93+
sed -i "s/$old/$new/g" $VESTA/data/firewall/*.conf
94+
$BIN/v-update-firewall
6895
fi
6996

7097

98+
7199
#----------------------------------------------------------#
72100
# Vesta #
73101
#----------------------------------------------------------#
74102

75-
# Restart ftp server
76-
$BIN/v-restart-ftp $restart
77-
check_result $? "FTP restart failed" >/dev/null
78-
79103
# Logging
80104
log_history "changed associated nat address on $ip to $nat_ip" '' 'admin'
81105
log_event "$OK" "$ARGUMENTS"

bin/v-change-web-domain-ip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ is_ip_valid "$ip" "$user"
4949
# Preparing variables for vhost replace
5050
get_domain_values 'web'
5151
old=$(get_real_ip $IP)
52-
new=$ip
52+
new=$(get_real_ip $ip)
5353

5454
# Replacing vhost
5555
replace_web_config "$WEB_SYSTEM" "$TPL.tpl"

bin/v-update-sys-ip

Lines changed: 67 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22
# info: update system ip
3-
# options: [USER] [IP_STATUS]
3+
# options: [NONE]
44
#
55
# The function scans configured ip in the system and register them with vesta
66
# internal database. This call is intended for use on vps servers, where ip is
@@ -11,115 +11,108 @@
1111
# Variable&Function #
1212
#----------------------------------------------------------#
1313

14-
# Argument definition
15-
user=${1-admin}
16-
ip_status=${2-shared}
14+
# Importing system variables
15+
source /etc/profile
1716

1817
# Includes
19-
source /etc/profile.d/vesta.sh
2018
source $VESTA/func/main.sh
21-
source $VESTA/func/ip.sh
2219
source $VESTA/conf/vesta.conf
2320

2421

2522
#----------------------------------------------------------#
2623
# Verifications #
2724
#----------------------------------------------------------#
2825

29-
check_args '0' "$#" '[USER] [IP_STATUS]'
30-
is_format_valid 'user' 'ip_status'
31-
is_object_valid 'user' 'USER' "$user" "$user"
32-
3326

3427
#----------------------------------------------------------#
3528
# Action #
3629
#----------------------------------------------------------#
3730

38-
# Get list of ip addresses
39-
ip_list=$(/sbin/ip addr|grep 'inet '|grep global|awk '{print $2}')
40-
ip_list=$(echo "$ip_list"|cut -f 1 -d /)
41-
ip_num=$(echo "$ip_list" | wc -l)
42-
43-
# WorkAround for DHCP IP address
44-
vst_ip_list=$(ls $VESTA/data/ips/)
45-
vst_ip_num=$(echo "$vst_ip_list" | wc -l)
46-
47-
if [ ! -z "$vst_ip_list" ] && [ "$vst_ip_num" -eq '1' ]; then
48-
if [ $ip_num -eq 1 ] && [ "$ip_list" != "$vst_ip_list" ]; then
49-
new=$ip_list
50-
old=$vst_ip_list
51-
mv $VESTA/data/ips/$old $VESTA/data/ips/$new
52-
if [ ! -z "$PROXY_SYSTEM" ]; then
53-
mv /etc/$PROXY_SYSTEM/conf.d/$old.conf \
54-
/etc/$PROXY_SYSTEM/conf.d/$new.conf
55-
sed -i "s/$old/$new/g" /etc/$PROXY_SYSTEM/conf.d/$new.conf
56-
fi
57-
if [ ! -z "$WEB_SYSTEM" ]; then
58-
mv /etc/$WEB_SYSTEM/conf.d/$old.conf \
59-
/etc/$WEB_SYSTEM/conf.d/$new.conf
60-
sed -i "s/$old/$new/g" /etc/$WEB_SYSTEM/conf.d/$new.conf
61-
sed -i "s/$old/$new/g" $VESTA/data/users/*/web.conf
62-
63-
# Rebuild web domains
64-
for user in $(ls $VESTA/data/users/); do
65-
$BIN/v-rebuild-web-domains $user no
66-
done
67-
fi
68-
if [ ! -z "$FTP_SYSTEM" ];then
69-
ftpd_conf_file=$(find /etc/ -maxdepth 2 -name $FTP_SYSTEM.conf)
70-
sed -i "s/$old/$new/g" $ftpd_conf_file
71-
fi
72-
73-
# Restarting web server
74-
$BIN/v-restart-web
31+
# Listing system ip addresses
32+
ips=$(/sbin/ip addr |grep 'inet ' |grep global |awk '{print $2}' |cut -f1 -d/)
33+
v_ips=$(ls $VESTA/data/ips/)
34+
ip_num=$(echo "$ips" |wc -l)
35+
v_ip_num=$(echo "$v_ips" |wc -l)
36+
37+
# Checking primary IP change
38+
if [[ "$ip_num" -eq '1' ]] && [[ "$v_ip_num" -eq 1 ]]; then
39+
if [ "$ips" != "$v_ips" ]; then
40+
new=$ips
41+
old=$v_ips
42+
fi
43+
fi
7544

76-
# Restarting ftp server
77-
$BIN/v-restart-ftp
45+
# Updating configs
46+
if [ ! -z "$new" ]; then
47+
mv $VESTA/data/ips/$old $VESTA/data/ips/$new
7848

79-
# Restarting proxy server
80-
if [ ! -z "$PROXY_SYSTEM" ]; then
81-
$BIN/v-restart-proxy
49+
# Updating PROXY
50+
if [ ! -z "$PROXY_SYSTEM" ]; then
51+
cd /etc/$PROXY_SYSTEM/conf.d
52+
if [ -e "$old.conf" ]; then
53+
mv $old.conf $new.conf
54+
sed -i "s/$old/$new/g" $new.conf
8255
fi
56+
fi
8357

84-
# Restarting firewall
85-
if [ ! -z "$FIREWALL_SYSTEM" ]; then
86-
$BIN/v-update-firewall
58+
# Updating WEB
59+
if [ ! -z "$WEB_SYSTEM" ]; then
60+
cd /etc/$WEB_SYSTEM/conf.d
61+
if [ -e "$old.conf" ]; then
62+
mv $old.conf $new.conf
63+
sed -i "s/$old/$new/g" $new.conf
8764
fi
65+
sed -i "s/$old/$new/g" $VESTA/data/users/*/web.conf
66+
for user in $(ls $VESTA/data/users/); do
67+
$BIN/v-rebuild-web-domains $user no
68+
done
69+
$BIN/v-restart-proxy
70+
$BIN/v-restart-web
71+
fi
8872

89-
if [ ! -z "$DNS_SYSTEM" ]; then
90-
# Rebuild dns domains
91-
for user in $(ls $VESTA/data/users/); do
92-
sed -i "s/$old/$new/g" $VESTA/data/users/$user/dns.conf
93-
sed -i "s/$old/$new/g" $VESTA/data/users/$user/dns/*.conf
94-
$BIN/v-rebuild-dns-domains $user no
95-
done
96-
$BIN/v-restart-dns
97-
check_result $? "dns restart failed" >/dev/null
73+
# Updating DNS
74+
if [ ! -z "$DNS_SYSTEM" ]; then
75+
sed -i "s/$old/$new/g" $VESTA/data/users/*/dns.conf
76+
sed -i "s/$old/$new/g" $VESTA/data/users/*/dns/*.conf
77+
for user in $(ls $VESTA/data/users/); do
78+
$BIN/v-rebuild-dns-domains $user no
79+
done
80+
$BIN/v-restart-dns
81+
fi
82+
83+
# Updating FTP
84+
if [ ! -z "$FTP_SYSTEM" ] && [ "$FTP_SYSTEM" = 'vsftpd' ]; then
85+
conf=$(find /etc/ -maxdepth 2 -name $FTP_SYSTEM.conf)
86+
if [ ! -z "$conf" ]; then
87+
sed -i "s/$old/$new/g" $conf
88+
$BIN/v-restart-ftp
9889
fi
90+
fi
9991

100-
# No further comparation is needed
101-
exit
92+
# Updating firewall
93+
if [ ! -z "$FIREWALL_SYSTEM" ]; then
94+
sed -i "s/$old/$new/g" $VESTA/data/firewall/*.conf
95+
$BIN/v-update-firewall
10296
fi
10397
fi
10498

105-
# Compare ips
106-
for ip in $ip_list; do
99+
# Adding system IP
100+
for ip in $ips; do
107101
check_ifconfig=$(/sbin/ifconfig |grep "$ip")
108102
if [ ! -e "$VESTA/data/ips/$ip" ] && [ ! -z "$check_ifconfig" ]; then
109-
interface=$(/sbin/ip addr |grep $ip |awk '{print $NF}'|uniq)
103+
interface=$(/sbin/ip addr |grep $ip |awk '{print $NF}' |uniq)
110104
interface=$(echo "$interface" |cut -f 1 -d : |head -n 1)
111105
netmask=$(/sbin/ip addr |grep $ip |cut -f 2 -d / |cut -f 1 -d \ )
112106
netmask=$(convert_cidr $netmask)
113107
$BIN/v-add-sys-ip $ip $netmask $interface
114108
fi
115109
done
116110

117-
# Checking NAT
111+
# Updating NAT
118112
pub_ip=$(curl -s vestacp.com/what-is-my-ip/)
119-
if [ ! -z "$pub_ip" ] && [ ! -e "$VESTA/data/ips/$pub_ip" ]; then
120-
check_nat=$(grep -R "$pub_ip" $VESTA/data/ips/)
121-
if [ -z "$check_nat" ]; then
122-
ip=$(ls -t $VESTA/data/ips/|head -n1)
113+
if [ ! -e "$VESTA/data/ips/$pub_ip" ]; then
114+
if [ -z "$(grep -R "$pub_ip" $VESTA/data/ips/)" ]; then
115+
ip=$(ls -t $VESTA/data/ips/ |head -n1)
123116
$BIN/v-change-sys-ip-nat $ip $pub_ip
124117
fi
125118
fi

install/ubuntu/16.04/roundcube/vesta.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
* @version 1.0
77
* @author Serghey Rodin <skid@vestacp.com>
88
*/
9-
10-
function password_save($curpass, $passwd)
9+
class rcube_vesta_password
10+
{
11+
function save($curpass, $passwd)
1112
{
1213
$rcmail = rcmail::get_instance();
1314
$vesta_host = $rcmail->config->get('password_vesta_host');
@@ -69,3 +70,4 @@ function password_save($curpass, $passwd)
6970
}
7071

7172
}
73+
}

install/ubuntu/16.10/roundcube/vesta.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
* @version 1.0
77
* @author Serghey Rodin <skid@vestacp.com>
88
*/
9-
10-
function password_save($curpass, $passwd)
9+
class rcube_vesta_password {
10+
function save($curpass, $passwd)
1111
{
1212
$rcmail = rcmail::get_instance();
1313
$vesta_host = $rcmail->config->get('password_vesta_host');
@@ -69,3 +69,4 @@ function password_save($curpass, $passwd)
6969
}
7070

7171
}
72+
}

install/ubuntu/17.04/roundcube/vesta.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
* @version 1.0
77
* @author Serghey Rodin <skid@vestacp.com>
88
*/
9-
10-
function password_save($curpass, $passwd)
9+
class rcube_vesta_password
10+
{
11+
function save($curpass, $passwd)
1112
{
1213
$rcmail = rcmail::get_instance();
1314
$vesta_host = $rcmail->config->get('password_vesta_host');
@@ -69,3 +70,4 @@ function password_save($curpass, $passwd)
6970
}
7071

7172
}
73+
}

install/ubuntu/17.10/roundcube/vesta.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
* @version 1.0
77
* @author Serghey Rodin <skid@vestacp.com>
88
*/
9-
10-
function password_save($curpass, $passwd)
9+
class rcube_vesta_password {
10+
function save($curpass, $passwd)
1111
{
1212
$rcmail = rcmail::get_instance();
1313
$vesta_host = $rcmail->config->get('password_vesta_host');
@@ -69,3 +69,4 @@ function password_save($curpass, $passwd)
6969
}
7070

7171
}
72+
}

install/ubuntu/18.04/roundcube/vesta.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
* @version 1.0
77
* @author Serghey Rodin <skid@vestacp.com>
88
*/
9-
10-
function password_save($curpass, $passwd)
9+
class rcube_vesta_password {
10+
function save($curpass, $passwd)
1111
{
1212
$rcmail = rcmail::get_instance();
1313
$vesta_host = $rcmail->config->get('password_vesta_host');
@@ -69,3 +69,4 @@ function password_save($curpass, $passwd)
6969
}
7070

7171
}
72+
}

0 commit comments

Comments
 (0)