v-add-dns-on-web-alias 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <<<<<<< HEAD
  2. #!/bin/bash
  3. # info: add dns domain or dns record based on web domain alias restart
  4. # options: USER DOMAIN
  5. #
  6. # The function adds dns domain or dns record based on web domain alias.
  7. #----------------------------------------------------------#
  8. # Variable&Function #
  9. #----------------------------------------------------------#
  10. # Argument defenition
  11. user=$1
  12. domain=$(echo $2 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  13. domain_idn=$(idn -t --quiet -a "$domain")
  14. dom_alias=$(idn -t --quiet -u "$3" )
  15. dom_alias=$(echo $dom_alias | sed -e 's/\.*$//g' -e 's/^\.*//g')
  16. dom_alias=$(echo $dom_alias | tr '[:upper:]' '[:lower:]')
  17. dom_alias_idn=$(idn -t --quiet -a "$dom_alias" )
  18. restart="$4"
  19. # Includes
  20. source $VESTA/conf/vesta.conf
  21. source $VESTA/func/main.sh
  22. source $VESTA/func/domain.sh
  23. #----------------------------------------------------------#
  24. # Verifications #
  25. #----------------------------------------------------------#
  26. check_args '3' "$#" 'USER DOMAIN ALIAS'
  27. validate_format 'user' 'domain'
  28. is_system_enabled "$WEB_SYSTEM"
  29. is_system_enabled "$DNS_SYSTEM"
  30. is_object_valid 'user' 'USER' "$user"
  31. is_object_unsuspended 'user' 'USER' "$user"
  32. is_object_valid 'web' 'DOMAIN' "$domain"
  33. is_object_unsuspended 'web' 'DOMAIN' "$domain"
  34. #----------------------------------------------------------#
  35. # Action #
  36. #----------------------------------------------------------#
  37. # Parsing domain values
  38. get_domain_values 'web'
  39. # Check if it a simple domain
  40. if [ $(echo -e "${dom_alias//\./\n}" | wc -l) -le 2 ]; then
  41. if [ ! -e "$USER_DATA/dns/$dom_alias.conf" ]; then
  42. $BIN/v-add-dns-domain $user $dom_alias $IP '' '' '' '' '' $restart
  43. fi
  44. else
  45. # Check subdomain
  46. sub=$(echo "$dom_alias" | cut -f1 -d . -s)
  47. dom=$(echo "$dom_alias" | sed -e "s/^$sub.//" )
  48. if [ ! -e "$USER_DATA/dns/$dom.conf" ]; then
  49. $BIN/v-add-dns-domain $user $dom $IP '' '' '' '' '' $restart
  50. $BIN/v-add-dns-domain-record $user $dom "$sub" A $IP '' '' $restart
  51. else
  52. if [ "$sub" == '*' ]; then
  53. rec=$(grep -w "RECORD='\*'" $USER_DATA/dns/$dom.conf)
  54. else
  55. rec=$(grep -w "RECORD='$sub'" $USER_DATA/dns/$dom.conf)
  56. fi
  57. if [ -z "$rec" ]; then
  58. $BIN/v-add-dns-domain-record $user $dom "$sub" A $IP '' '' $restart
  59. fi
  60. fi
  61. fi
  62. #----------------------------------------------------------#
  63. # Vesta #
  64. #----------------------------------------------------------#
  65. # No Logging
  66. exit
  67. =======
  68. #!/bin/bash
  69. # info: add dns domain or dns record based on web domain alias restart
  70. # options: USER DOMAIN
  71. #
  72. # The function adds dns domain or dns record based on web domain alias.
  73. #----------------------------------------------------------#
  74. # Variable&Function #
  75. #----------------------------------------------------------#
  76. # Argument defenition
  77. user=$1
  78. domain=$(echo $2 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  79. domain_idn=$(idn -t --quiet -a "$domain")
  80. dom_alias=$(idn -t --quiet -u "$3" )
  81. dom_alias=$(echo $dom_alias | sed -e 's/\.*$//g' -e 's/^\.*//g')
  82. dom_alias=$(echo $dom_alias | tr '[:upper:]' '[:lower:]')
  83. dom_alias_idn=$(idn -t --quiet -a "$dom_alias" )
  84. restart="$4"
  85. # Includes
  86. source $VESTA/conf/vesta.conf
  87. source $VESTA/func/main.sh
  88. source $VESTA/func/domain.sh
  89. #----------------------------------------------------------#
  90. # Verifications #
  91. #----------------------------------------------------------#
  92. check_args '3' "$#" 'USER DOMAIN ALIAS'
  93. validate_format 'user' 'domain'
  94. is_system_enabled "$WEB_SYSTEM"
  95. is_system_enabled "$DNS_SYSTEM"
  96. is_object_valid 'user' 'USER' "$user"
  97. is_object_unsuspended 'user' 'USER' "$user"
  98. is_object_valid 'web' 'DOMAIN' "$domain"
  99. is_object_unsuspended 'web' 'DOMAIN' "$domain"
  100. #----------------------------------------------------------#
  101. # Action #
  102. #----------------------------------------------------------#
  103. # Parsing domain values
  104. get_domain_values 'web'
  105. # Check if it a simple domain
  106. if [ $(echo -e "${dom_alias//\./\n}" | wc -l) -le 2 ]; then
  107. if [ ! -e "$USER_DATA/dns/$dom_alias.conf" ]; then
  108. $BIN/v-add-dns-domain \
  109. $user $dom_alias $IP '' '' '' '' '' $restart > /dev/null
  110. fi
  111. else
  112. # Check subdomain
  113. sub=$(echo "$dom_alias" | cut -f1 -d . -s)
  114. dom=$(echo "$dom_alias" | sed -e "s/^$sub.//" )
  115. if [ ! -e "$USER_DATA/dns/$dom.conf" ]; then
  116. $BIN/v-add-dns-domain \
  117. $user $dom $IP '' '' '' '' '' $restart > /dev/null
  118. if [ $? -eq 0 ]; then
  119. $BIN/v-add-dns-domain-record \
  120. $user $dom "$sub" A $IP '' '' $restart
  121. fi
  122. else
  123. if [ "$sub" == '*' ]; then
  124. rec=$(grep -w "RECORD='\*'" $USER_DATA/dns/$dom.conf)
  125. else
  126. rec=$(grep -w "RECORD='$sub'" $USER_DATA/dns/$dom.conf)
  127. fi
  128. if [ -z "$rec" ]; then
  129. $BIN/v-add-dns-domain-record \
  130. $user $dom "$sub" A $IP '' '' $restart > /dev/null
  131. fi
  132. fi
  133. fi
  134. #----------------------------------------------------------#
  135. # Vesta #
  136. #----------------------------------------------------------#
  137. # No Logging
  138. exit
  139. >>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d