|
1 | 1 | #!/bin/bash |
2 | 2 | # info: add system ip address |
3 | | -# options: IP NETMASK [INTERFACE] [USER] [STATUS] [NAME] [NAT_IP] |
| 3 | +# options: IP NETMASK [INTERFACE] [USER] [IP_STATUS] [IP_NAME] [NAT_IP] |
4 | 4 | # |
5 | 5 | # The function adds ip address into a system. It also creates rc scripts. You |
6 | 6 | # can specify ip name which will be used as root domain for temporary aliases. |
@@ -34,7 +34,7 @@ source $VESTA/conf/vesta.conf |
34 | 34 | # Verifications # |
35 | 35 | #----------------------------------------------------------# |
36 | 36 |
|
37 | | -check_args '2' "$#" 'IP NETMASK [INTERFACE] [USER] [STATUS] [NAME] [NAT_IP]' |
| 37 | +check_args '2' "$#" 'IP NETMASK [INTERFACE] [USER] [STATUS] [NAME] [NATED_IP]' |
38 | 38 | validate_format 'ip' 'netmask' 'interface' 'user' 'ip_status' |
39 | 39 | is_ip_free |
40 | 40 | is_object_valid 'user' 'USER' "$user" |
|
50 | 50 | #----------------------------------------------------------# |
51 | 51 | # Action # |
52 | 52 | #----------------------------------------------------------# |
53 | | - |
54 | | -# Converting netmask to CIDR format and calculating broadcast address |
| 53 | +iface=$(get_ip_iface) |
55 | 54 | cidr=$(convert_netmask $netmask) |
56 | 55 | broadcast=$(get_broadcast $ip $netmask) |
57 | | -iface=$(get_ip_iface) |
58 | 56 |
|
59 | | -sys_ip_check=$(/sbin/ip addr | grep "$ip/$cidr") |
| 57 | +sys_ip_check=$(/sbin/ip addr | grep "$ip") |
60 | 58 | if [ -z "$sys_ip_check" ]; then |
61 | | - |
62 | | - # Adding system ip |
63 | | - /sbin/ip addr add $ip/$cidr broadcast $broadcast \ |
64 | | - dev $interface label $iface |
| 59 | + # Adding sys ip |
| 60 | + /sbin/ip addr add $ip/$cidr dev $interface \ |
| 61 | + broadcast $broadcast label $iface |
65 | 62 |
|
66 | 63 | # Adding RHEL/CentOS/Fedora startup script |
67 | 64 | if [ -e "/etc/redhat-release" ]; then |
@@ -101,14 +98,19 @@ chmod 660 $VESTA/data/ips/$ip |
101 | 98 | # WEB support |
102 | 99 | if [ ! -z "$WEB_SYSTEM" ]; then |
103 | 100 | web_conf="/etc/$WEB_SYSTEM/conf.d/$ip.conf" |
| 101 | + rm -f $web_conf |
104 | 102 |
|
105 | 103 | if [ "$WEB_SYSTEM" = 'httpd' ] || [ "$WEB_SYSTEM" = 'apache2' ]; then |
106 | | - echo "NameVirtualHost $ip:$WEB_PORT" > $web_conf |
| 104 | + if [ -z "$(/usr/sbin/apachectl -v | grep Apache/2.4)" ]; then |
| 105 | + echo "NameVirtualHost $ip:$WEB_PORT" > $web_conf |
| 106 | + fi |
107 | 107 | echo "Listen $ip:$WEB_PORT" >> $web_conf |
108 | 108 | fi |
109 | 109 |
|
110 | 110 | if [ "$WEB_SSL" = 'mod_ssl' ]; then |
111 | | - echo "NameVirtualHost $ip:$WEB_SSL_PORT" >> $web_conf |
| 111 | + if [ -z "$(/usr/sbin/apachectl -v | grep Apache/2.4)" ]; then |
| 112 | + echo "NameVirtualHost $ip:$WEB_SSL_PORT" >> $web_conf |
| 113 | + fi |
112 | 114 | echo "Listen $ip:$WEB_SSL_PORT" >> $web_conf |
113 | 115 | fi |
114 | 116 | fi |
|
0 commit comments