Serghey Rodin преди 11 години
родител
ревизия
567ce7e832
променени са 64 файла, в които са добавени 976 реда и са изтрити 197 реда
  1. 23 8
      bin/v-add-web-domain
  2. 2 2
      bin/v-add-web-domain-alias
  3. 79 0
      bin/v-add-web-domain-backend
  4. 4 3
      bin/v-add-web-domain-ssl
  5. 2 2
      bin/v-backup-user
  6. 174 0
      bin/v-change-web-domain-backend-tpl
  7. 2 2
      bin/v-change-web-domain-ip
  8. 1 1
      bin/v-change-web-domain-sslhome
  9. 9 9
      bin/v-change-web-domain-tpl
  10. 6 0
      bin/v-delete-user
  11. 12 5
      bin/v-delete-web-domain
  12. 2 2
      bin/v-delete-web-domain-alias
  13. 68 0
      bin/v-delete-web-domain-backend
  14. 1 1
      bin/v-delete-web-domain-ssl
  15. 8 0
      bin/v-list-sys-services
  16. 10 10
      bin/v-list-user
  17. 4 4
      bin/v-list-user-packages
  18. 10 10
      bin/v-list-users
  19. 2 2
      bin/v-list-web-domain
  20. 1 1
      bin/v-list-web-domains
  21. 4 2
      bin/v-list-web-templates
  22. 73 0
      bin/v-list-web-templates-backend
  23. 28 13
      bin/v-rebuild-web-domains
  24. 65 0
      bin/v-restart-web-backend
  25. 29 5
      bin/v-restore-user
  26. 2 2
      bin/v-suspend-web-domain
  27. 2 2
      bin/v-unsuspend-web-domain
  28. 66 3
      func/domain.sh
  29. 9 6
      func/rebuild.sh
  30. 18 1
      web/add/package/index.php
  31. 7 0
      web/add/web/index.php
  32. 2 2
      web/css/main.css
  33. 22 2
      web/edit/package/index.php
  34. 16 0
      web/edit/web/index.php
  35. 4 3
      web/inc/i18n/ar.php
  36. 5 4
      web/inc/i18n/bs.php
  37. 5 4
      web/inc/i18n/cn.php
  38. 2 1
      web/inc/i18n/cz.php
  39. 5 4
      web/inc/i18n/de.php
  40. 5 4
      web/inc/i18n/el.php
  41. 5 4
      web/inc/i18n/en.php
  42. 5 4
      web/inc/i18n/es.php
  43. 5 4
      web/inc/i18n/fi.php
  44. 5 4
      web/inc/i18n/fr.php
  45. 5 4
      web/inc/i18n/hu.php
  46. 5 4
      web/inc/i18n/id.php
  47. 5 4
      web/inc/i18n/it.php
  48. 5 4
      web/inc/i18n/nl.php
  49. 5 4
      web/inc/i18n/no.php
  50. 5 4
      web/inc/i18n/pt.php
  51. 6 5
      web/inc/i18n/ro.php
  52. 6 5
      web/inc/i18n/ru.php
  53. 6 5
      web/inc/i18n/tr.php
  54. 4 3
      web/inc/i18n/tw.php
  55. 6 5
      web/inc/i18n/ua.php
  56. 4 4
      web/inc/main.php
  57. 28 3
      web/templates/admin/add_package.html
  58. 1 1
      web/templates/admin/add_web.html
  59. 28 3
      web/templates/admin/edit_package.html
  60. 29 2
      web/templates/admin/edit_web.html
  61. 6 0
      web/templates/admin/list_packages.html
  62. 6 0
      web/templates/admin/list_web.html
  63. 1 1
      web/templates/user/edit_web.html
  64. 6 0
      web/templates/user/list_web.html

+ 23 - 8
bin/v-add-web-domain

@@ -43,7 +43,6 @@ is_domain_new 'web'
 is_ip_valid
 is_ip_avalable
 is_package_full 'WEB_DOMAINS'
-
 template=$(get_user_value '$WEB_TEMPLATE')
 is_web_template_valid
 
@@ -77,9 +76,20 @@ fi
 group="$user"
 email="info@$domain"
 docroot="$HOMEDIR/$user/web/$domain/public_html"
-tpl_file="$WEBTPL/$WEB_SYSTEM/$template.tpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.tpl"
 conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
 
+# Checking backend
+if [ ! -z "$WEB_BACKEND" ]; then
+    is_web_backend_pool_valid
+    $BIN/v-add-web-domain-backend $user $domain
+    rc=$?
+    if [ $rc -ne 0 ]; then
+        exit $rc
+    fi
+    get_domain_backend_values
+fi
+
 # Adding web config
 add_web_config
 
@@ -142,15 +152,19 @@ chmod 551 $HOMEDIR/$user/web/$domain/logs
 chmod 640 /var/log/$WEB_SYSTEM/domains/$domain.*
 
 # Running template trigger
-if [ -x $WEBTPL/$WEB_SYSTEM/$template.sh ]; then
-    $WEBTPL/$WEB_SYSTEM/$template.sh $user $domain $ip $HOMEDIR $docroot
+if [ -x $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.sh ]; then
+    $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.sh \
+        $user $domain $ip $HOMEDIR $docroot
 fi
 
-# Checking web config
-web_conf="/etc/$WEB_SYSTEM/conf.d/vesta.conf"
-if [ -z "$(grep $conf $web_conf)" ]; then
+# Checking web config include
+web_include="/etc/$WEB_SYSTEM/conf.d/vesta.conf"
+if [ -z "$web_include" ] && [ "$WEB_SYSTEM" != 'nginx' ]; then
     echo "Include $conf" >> $web_conf
 fi
+if [ -z "$web_include" ] && [ "$WEB_SYSTEM" = 'nginx' ]; then
+    echo "include $conf;" >> $web_conf
+fi
 
 
 #----------------------------------------------------------#
@@ -163,9 +177,10 @@ increase_user_value "$user" '$U_WEB_DOMAINS'
 increase_user_value "$user" '$U_WEB_ALIASES'
 
 # Defining domain variables
+BACKEND_TPL=$(grep BACKEND_TEMPLATE $USER_DATA/user.conf |cut -f 2 -d \')
 str="DOMAIN='$domain' IP='$IP' IP6='' ALIAS='$aliases' TPL='$template'"
 str="$str SSL='no' SSL_HOME='same' FTP_USER='' FTP_MD5=''"
-str="$str PROXY='' PROXY_EXT='' STATS='' STATS_USER=''"
+str="$str BACKEND='$BACKEND_TPL' PROXY='' PROXY_EXT='' STATS='' STATS_USER=''"
 str="$str STATS_CRYPT='' U_DISK='0' U_BANDWIDTH='0' SUSPENDED='no'"
 str="$str TIME='$TIME' DATE='$DATE'"
 

+ 2 - 2
bin/v-add-web-domain-alias

@@ -49,7 +49,7 @@ is_package_full 'WEB_ALIASES'
 
 # Parsing domain values
 get_domain_values 'web'
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.tpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
 conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
 ip=$(get_real_ip $IP)
 
@@ -68,7 +68,7 @@ del_web_config
 add_web_config
 
 if [ "$SSL" = 'yes' ]; then
-    tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
     conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
     del_web_config
     add_web_config

+ 79 - 0
bin/v-add-web-domain-backend

@@ -0,0 +1,79 @@
+#!/bin/bash
+# info: add web domain backend
+# options: USER DOMAIN [TEMPLATE] [RESTART]
+#
+# The call is used for adding web backend configuration for user
+
+
+#----------------------------------------------------------#
+#                    Variable&Function                     #
+#----------------------------------------------------------#
+
+# Argument defenition
+user=$1
+domain=$2
+domain_idn=$(idn -t --quiet -a "$domain")
+template=$3
+
+# Includes
+source $VESTA/func/main.sh
+source $VESTA/func/domain.sh
+source $VESTA/conf/vesta.conf
+
+
+#----------------------------------------------------------#
+#                    Verifications                         #
+#----------------------------------------------------------#
+
+check_args '2' "$#" 'USER DOMAIN [TEMPLATE] [RESTART]'
+validate_format 'user' 'domain'
+is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
+is_system_enabled "$WEB_BACKEND" 'WEB_BACKEND'
+is_object_unsuspended 'user' 'USER' "$user"
+is_web_backend_template_valid $template
+is_web_backend_pool_valid
+if [ -e "$pool/$backend.conf" ]; then
+    exit
+fi
+
+
+#----------------------------------------------------------#
+#                       Action                             #
+#----------------------------------------------------------#
+
+# Allocating backend port
+backend_port=9000
+ports=$(grep -v '^;' $pool/* 2>/dev/null |grep listen |grep -o :[0-9].*)
+ports=$(echo "$ports" |sed "s/://" |sort -n)
+for port in $ports; do
+    if [ "$backend_port" -eq "$port" ]; then
+        backend_port=$((backend_port + 1))
+    fi
+done
+
+# Adding backend config
+cat $WEBTPL/$WEB_BACKEND/$template.tpl |\
+    sed -e "s|%backend_port%|$backend_port|" \
+        -e "s|%user%|$user|"\
+        -e "s|%domain%|$domain|"\
+        -e "s|%domain_idn%|$domain_idn|"\
+        -e "s|%backend%|$backend|g" > $pool/$backend.conf
+
+
+#----------------------------------------------------------#
+#                       Vesta                              #
+#----------------------------------------------------------#
+
+# Restart backend server
+if [ "$restart" != 'no' ]; then
+    $BIN/v-restart-web-backend
+    if [ $? -ne 0 ]; then
+        exit $E_RESTART
+    fi
+fi
+
+# Logging
+log_history "added $WEB_BACKEND backend configuration for $domain"
+log_event "$OK" "$EVENT"
+
+exit

+ 4 - 3
bin/v-add-web-domain-ssl

@@ -63,7 +63,7 @@ chmod 660 $USER_DATA/ssl/$domain.*
 # Parsing domain values
 get_domain_values 'web'
 conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
 SSL_HOME="$ssl_home"
 ip=$(get_real_ip $IP)
 
@@ -85,8 +85,9 @@ if [ -e "$USER_DATA/ssl/$domain.ca" ]; then
 fi
 
 # Running template trigger
-if [ -x $WEBTPL/$WEB_SYSTEM/$template.sh ]; then
-    $WEBTPL/$WEB_SYSTEM/$template.sh $user $domain $ip $HOMEDIR $sdocroot
+if [ -x $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.sh ]; then
+    $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.sh \
+        $user $domain $ip $HOMEDIR $sdocroot
 fi
 
 # Checking web config

+ 2 - 2
bin/v-backup-user

@@ -166,14 +166,14 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB" != '*' ]; then
         grep "DOMAIN='$domain'" $conf > vesta/web.conf
 
         # Backup vhost config
-        tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.tpl"
+        tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
         conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
         get_web_config_brds
         sed -n "$top_line,$bottom_line p" $conf > conf/$WEB_SYSTEM.conf
 
         # Backup ssl vhost
         if [ "$SSL" = 'yes' ]; then
-            tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+            tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
             conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
             get_web_config_brds
             sed -n "$top_line,$bottom_line p" $conf > conf/s$WEB_SYSTEM.conf

+ 174 - 0
bin/v-change-web-domain-backend-tpl

@@ -0,0 +1,174 @@
+#!/bin/bash
+# info: change web domain backend template
+# options: USER DOMAIN TEMPLATE [RESTART]
+#
+# The function changes backend template
+
+
+#----------------------------------------------------------#
+#                    Variable&Function                     #
+#----------------------------------------------------------#
+
+# Argument defenition
+user=$1
+domain=$(idn -t --quiet -u "$2" )
+domain_idn=$(idn -t --quiet -a "$domain")
+template=$3
+restart="$4"
+
+
+# Includes
+source $VESTA/func/main.sh
+source $VESTA/func/domain.sh
+source $VESTA/func/ip.sh
+source $VESTA/conf/vesta.conf
+
+
+#----------------------------------------------------------#
+#                    Verifications                         #
+#----------------------------------------------------------#
+
+check_args '3' "$#" 'USER DOMAIN TEMPLATE [RESTART]'
+validate_format 'user' 'domain' 'template'
+is_system_enabled "$WEB_BACKEND" 'WEB_BACKEND'
+is_object_valid 'user' 'USER' "$user"
+is_object_unsuspended 'user' 'USER' "$user"
+is_object_valid 'web' 'DOMAIN' "$domain"
+is_object_unsuspended 'web' 'DOMAIN' "$domain"
+is_web_backend_template_valid $template
+is_web_backend_pool_valid
+
+
+#----------------------------------------------------------#
+#                       Action                             #
+#----------------------------------------------------------#
+
+# Deleting backend
+rm -f $pool/$backend.conf
+
+# Allocating backend port
+backend_port=9000
+ports=$(grep -v '^;' $pool/* 2>/dev/null |grep listen |grep -o :[0-9].*)
+ports=$(echo "$ports" |sed "s/://" |sort -n)
+for port in $ports; do
+    if [ "$backend_port" -eq "$port" ]; then
+        backend_port=$((backend_port + 1))
+    fi
+done
+
+# Changing backend config
+cat $WEBTPL/$WEB_BACKEND/$template.tpl |\
+    sed -e "s|%backend_port%|$backend_port|" \
+        -e "s|%user%|$user|"\
+        -e "s|%domain%|$domain|"\
+        -e "s|%domain_idn%|$domain_idn|"\
+        -e "s|%backend%|$backend|g" > $pool/$backend.conf
+
+# Checking backend pool configuration
+if [ "$backend" = "$user" ]; then
+    conf=$USER_DATA/web.conf
+    fields='$DOMAIN'
+    nohead=1
+
+    for domain in $(shell_list); do
+
+        # Parsing domain values
+        get_domain_values 'web'
+        ip=$(get_real_ip $IP)
+
+        # Deleting old vhost
+        tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
+        conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
+        del_web_config
+
+        # Deleting old ssl vhost
+        if [ "$SSL" = 'yes' ]; then
+            tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
+            conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
+            del_web_config
+        fi
+
+        # Adding new vhost
+        upd_web_domain_values
+        tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
+        conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
+        add_web_config
+
+        # Adding new ssl vhost
+        if [ "$SSL" = 'yes' ]; then
+            conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
+            tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
+            add_web_config
+        fi
+
+        # Update config
+        add_object_key "web" 'DOMAIN' "$domain" 'BACKEND' 'PROXY'
+        update_object_value 'web' 'DOMAIN' "$domain" '$BACKEND' "$template"
+    done
+
+    # Chaning template in user config
+    old_template=$(grep BACKEND_TEMPLATE $USER_DATA/user.conf)
+    if [ -z "$old_template" ]; then
+        sed -i "s/^WEB_DOMAINS/BACKEND_TEMPLATE='$template'\nWEB_DOMAINS/g" \
+            $USER_DATA/user.conf
+    else
+        update_user_value "$user" '$BACKEND_TEMPLATE' "$template"
+    fi
+else
+    # Parsing domain values
+    get_domain_values 'web'
+    ip=$(get_real_ip $IP)
+
+    # Deleting old vhost
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
+    conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
+    del_web_config
+
+    # Deleting old ssl vhost
+    if [ "$SSL" = 'yes' ]; then
+        tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
+        conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
+        del_web_config
+    fi
+
+    # Adding new vhost
+    upd_web_domain_values
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
+    conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
+    add_web_config
+
+    # Adding new ssl vhost
+    if [ "$SSL" = 'yes' ]; then
+        conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
+        tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
+        add_web_config
+    fi
+
+    # Update config
+    add_object_key "web" 'DOMAIN' "$domain" 'BACKEND' 'PROXY'
+    update_object_value 'web' 'DOMAIN' "$domain" '$BACKEND' "$template"
+fi
+
+
+#----------------------------------------------------------#
+#                       Vesta                              #
+#----------------------------------------------------------#
+
+
+# Restart web
+if [ "$restart" != 'no' ]; then
+    $BIN/v-restart-web
+    if [ $? -ne 0 ]; then
+        exit $E_RESTART
+    fi
+    $BIN/v-restart-web-backend
+    if [ $? -ne 0 ]; then
+        exit $E_RESTART
+    fi
+fi
+
+# Logging
+log_history "changed backend template for $domain to $template"
+log_event "$OK" "$EVENT"
+
+exit

+ 2 - 2
bin/v-change-web-domain-ip

@@ -45,7 +45,7 @@ is_ip_avalable
 # Define variable for replace
 get_domain_values 'web'
 ip=$(get_real_ip $ip)
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.tpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
 conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
 old=$(get_real_ip $IP)
 new=$ip
@@ -53,7 +53,7 @@ replace_web_config
 
 # Checking SSL
 if [ "$SSL" = 'yes' ]; then
-    tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
     conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
     replace_web_config
 fi

+ 1 - 1
bin/v-change-web-domain-sslhome

@@ -39,7 +39,7 @@ is_object_value_exist 'web' 'DOMAIN' "$domain" '$SSL'
 get_domain_values 'web'
 old_ssl_home=$SSL_HOME
 SSL_HOME=$ssl_home
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
 conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
 
 # Parsing tpl_option

+ 9 - 9
bin/v-change-web-domain-tpl

@@ -47,40 +47,40 @@ get_domain_values 'web'
 ip=$(get_real_ip $IP)
 
 # Deleting domain
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.tpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
 old_tpl=$TPL
 conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
 del_web_config
 
 # Deleting ssl vhost
 if [ "$SSL" = 'yes' ]; then
-    tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
     conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
     del_web_config
 fi
 
 # Defining variables for new vhost config
 upd_web_domain_values
-tpl_file="$WEBTPL/$WEB_SYSTEM/$template.tpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.tpl"
 
 # Adding domain to the web conf
 add_web_config
 
 # Running template trigger
-if [ -x $WEBTPL/$WEB_SYSTEM/$template.sh ]; then
-    $WEBTPL/$WEB_SYSTEM/$template.sh $user $domain $ip $HOMEDIR $docroot
+if [ -x $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.sh ]; then
+    $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.sh \
+        $user $domain $ip $HOMEDIR $docroot
 fi
 
 # Checking SSL
 if [ "$SSL" = 'yes' ]; then
     conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
-    tpl_file="$WEBTPL/$WEB_SYSTEM/$template.stpl"
-    del_web_config
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.stpl"
     add_web_config
 
     # Running template trigger
-    if [ -x $WEBTPL/$WEB_SYSTEM/$template.sh ]; then
-        $WEBTPL/$WEB_SYSTEM/$template.sh \
+    if [ -x $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.sh ]; then
+        $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.sh \
             "$user" "$domain" "$ip" "$HOMEDIR" "$sdocroot"
     fi
 fi

+ 6 - 0
bin/v-delete-user

@@ -91,11 +91,17 @@ sed -i "/ $user$/d" $VESTA/data/queue/traffic.pipe
 
 # Deleting system user
 /usr/sbin/userdel -f $user >> /dev/null 2>&1
+/usr/sbin/userdel -f $user >> /dev/null 2>&1
 if [ "$?" != 0 ]; then
     sed -i "/^$user:/d" /etc/passwd
     sed -i "/^$user:/d" /etc/shadow
 fi
 
+/usr/sbin/groupdel $user >> /dev/null 2>&1
+if [ "$?" != 0 ]; then
+    sed -i "/^$user:/d" /etc/group
+fi
+
 # Deleting user directories
 chattr -i $HOMEDIR/$user/conf
 rm -rf $HOMEDIR/$user

+ 12 - 5
bin/v-delete-web-domain

@@ -44,7 +44,7 @@ is_object_unsuspended 'web' 'DOMAIN' "$domain"
 
 # Get template name
 get_domain_values 'web'
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.tpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
 conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
 ip=$(get_real_ip $IP)
 
@@ -60,7 +60,7 @@ fi
 
 # Checking SSL
 if [ "$SSL" = 'yes' ]; then
-    tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
     conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
     del_web_config
 
@@ -69,6 +69,11 @@ if [ "$SSL" = 'yes' ]; then
     rm -f $USER_DATA/ssl/$domain.*
 fi
 
+# Checking backend
+if [ ! -z "$WEB_BACKEND" ]; then
+    $BIN/v-delete-web-domain-backend $user $domain $restart
+fi
+
 # Checking proxy
 if [ ! -z "$PROXY_SYSTEM" ] && [ ! -z "$PROXY" ]; then
     tpl_file="$WEBTPL/$PROXY_SYSTEM/$PROXY.tpl"
@@ -164,9 +169,11 @@ if [ "$restart" != 'no' ]; then
         exit $E_RESTART
     fi
 
-    $BIN/v-restart-proxy
-    if [ $? -ne 0 ]; then
-        exit $E_RESTART
+    if [ ! -z "$PROXY_SYSTEM" ]; then
+        $BIN/v-restart-proxy
+        if [ $? -ne 0 ]; then
+            exit $E_RESTART
+        fi
     fi
 fi
 

+ 2 - 2
bin/v-delete-web-domain-alias

@@ -55,7 +55,7 @@ ALIAS=$(echo "$ALIAS" |\
     sed -e "s/^$dom_alias$//g"|\
     sed -e "/^$/d"|\
     sed -e ':a;N;$!ba;s/\n/,/g')
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.tpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
 conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
 
 # Preparing domain values for the template substitution
@@ -66,7 +66,7 @@ del_web_config
 add_web_config
 
 if [ "$SSL" = 'yes' ]; then
-    tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
     conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
     del_web_config
     add_web_config

+ 68 - 0
bin/v-delete-web-domain-backend

@@ -0,0 +1,68 @@
+#!/bin/bash
+# info: deleting web domain backend configuration
+# options: USER DOMAIN [RESTART]
+#
+# The function of deleting the virtualhost backend configuration.
+
+
+#----------------------------------------------------------#
+#                    Variable&Function                     #
+#----------------------------------------------------------#
+
+# Argument defenition
+user=$1
+domain=$(idn -t --quiet -u "$2" )
+domain_idn=$(idn -t --quiet -a "$domain")
+
+# Includes
+source $VESTA/func/main.sh
+source $VESTA/func/domain.sh
+source $VESTA/conf/vesta.conf
+
+
+#----------------------------------------------------------#
+#                    Verifications                         #
+#----------------------------------------------------------#
+
+check_args '2' "$#" 'USER DOMAIN'
+validate_format 'user' 'domain'
+is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
+is_object_valid 'user' 'USER' "$user"
+is_object_unsuspended 'user' 'USER' "$user"
+is_object_valid 'web' 'DOMAIN' "$domain"
+is_object_unsuspended 'web' 'DOMAIN' "$domain"
+is_web_backend_pool_valid
+
+# Checking last webdomain
+domains=$(search_objects 'web' 'SUSPENDED' "no" 'DOMAIN'|wc -l)
+echo $domain
+if [ "$backend" = "$user" ] && [ "$domains" -gt 1 ]; then
+    exit
+fi
+
+
+#----------------------------------------------------------#
+#                       Action                             #
+#----------------------------------------------------------#
+
+# Deleting backend
+rm -f $pool/$backend.conf
+
+
+#----------------------------------------------------------#
+#                       Vesta                              #
+#----------------------------------------------------------#
+
+# Restart backend server
+if [ "$restart" != 'no' ]; then
+    $BIN/v-restart-web-backend
+    if [ $? -ne 0 ]; then
+        exit $E_RESTART
+    fi
+fi
+
+# Logging
+log_history "deleting backend support for $domain"
+log_event "$OK" "$EVENT"
+
+exit

+ 1 - 1
bin/v-delete-web-domain-ssl

@@ -42,7 +42,7 @@ is_object_value_exist 'web' 'DOMAIN' "$domain" '$SSL'
 # Parsing domain values
 get_domain_values 'web'
 conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
 
 # Deleting domain
 del_web_config

+ 8 - 0
bin/v-list-sys-services

@@ -92,6 +92,14 @@ if [ ! -z "$service" ] && [ "$service" != 'remote' ]; then
 
 fi
 
+# Backend
+service=$WEB_BACKEND
+if [ ! -z "$service" ] && [ "$service" != 'remote' ]; then
+    get_srv_state $service
+    str="$str\nNAME='$service' SYSTEM='backend server' STATE='$state' CPU='$cpu'"
+    str="$str MEM='$mem' RTIME='$rtime'"
+fi
+
 # Proxy
 service=$PROXY_SYSTEM
 if [ ! -z "$service" ] && [ "$service" != 'remote' ]; then

+ 10 - 10
bin/v-list-user

@@ -73,16 +73,16 @@ conf=$USER_DATA/user.conf
 HOME=$HOMEDIR/$user
 
 # Defining fileds to select
-fields='$USER $FNAME $LNAME $PACKAGE $WEB_TEMPLATE $PROXY_TEMPLATE
-    $DNS_TEMPLATE $WEB_DOMAINS $WEB_ALIASES $DNS_DOMAINS $DNS_RECORDS
-    $MAIL_DOMAINS $MAIL_ACCOUNTS $DATABASES $CRON_JOBS $DISK_QUOTA $BANDWIDTH
-    $NS $SHELL $BACKUPS $CONTACT $CRON_REPORTS $RKEY $SUSPENDED
-    $SUSPENDED_USERS $SUSPENDED_WEB $SUSPENDED_DNS $SUSPENDED_MAIL
-    $SUSPENDED_DB $SUSPENDED_CRON $IP_AVAIL $IP_OWNED $U_USERS $U_DISK
-    $U_DISK_DIRS $U_DISK_WEB $U_DISK_MAIL $U_DISK_DB $U_BANDWIDTH
-    $U_WEB_DOMAINS $U_WEB_SSL $U_WEB_ALIASES $U_DNS_DOMAINS $U_DNS_RECORDS
-    $U_MAIL_DOMAINS $U_MAIL_DKIM $U_MAIL_ACCOUNTS $U_DATABASES $U_CRON_JOBS
-    $U_BACKUPS $LANGUAGE $HOME $TIME $DATE'
+fields='$USER $FNAME $LNAME $PACKAGE $WEB_TEMPLATE $BACKEND_TEMPLATE
+    $PROXY_TEMPLATE $DNS_TEMPLATE $WEB_DOMAINS $WEB_ALIASES $DNS_DOMAINS
+    $DNS_RECORDS $MAIL_DOMAINS $MAIL_ACCOUNTS $DATABASES $CRON_JOBS
+    $DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $CONTACT $CRON_REPORTS
+    $RKEY $SUSPENDED $SUSPENDED_USERS $SUSPENDED_WEB $SUSPENDED_DNS
+    $SUSPENDED_MAIL $SUSPENDED_DB $SUSPENDED_CRON $IP_AVAIL $IP_OWNED
+    $U_USERS $U_DISK $U_DISK_DIRS $U_DISK_WEB $U_DISK_MAIL $U_DISK_DB
+    $U_BANDWIDTH $U_WEB_DOMAINS $U_WEB_SSL $U_WEB_ALIASES $U_DNS_DOMAINS
+    $U_DNS_RECORDS $U_MAIL_DOMAINS $U_MAIL_DKIM $U_MAIL_ACCOUNTS $U_DATABASES
+    $U_CRON_JOBS $U_BACKUPS $LANGUAGE $HOME $TIME $DATE'
 
 # Listing user
 case $format in 

+ 4 - 4
bin/v-list-user-packages

@@ -71,10 +71,10 @@ shell_list_pkgs() {
 #----------------------------------------------------------#
 
 # Defining fields
-fields='$PACKAGE $WEB_TEMPLATE $PROXY_TEMPLATE $DNS_TEMPLATE $WEB_DOMAINS
-    $WEB_ALIASES $DNS_DOMAINS $DNS_RECORDS $MAIL_DOMAINS $MAIL_ACCOUNTS
-    $DATABASES $CRON_JOBS $DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $TIME
-    $DATE'
+fields='$PACKAGE $WEB_TEMPLATE $BACKEND_TEMPLATE $PROXY_TEMPLATE
+    $DNS_TEMPLATE $WEB_DOMAINS $WEB_ALIASES $DNS_DOMAINS $DNS_RECORDS
+    $MAIL_DOMAINS $MAIL_ACCOUNTS $DATABASES $CRON_JOBS $DISK_QUOTA $BANDWIDTH
+    $NS $SHELL $BACKUPS $TIME $DATE'
 
 # Listing domains
 case $format in

+ 10 - 10
bin/v-list-users

@@ -73,16 +73,16 @@ shell_list_users() {
 #----------------------------------------------------------#
 
 # Defining fileds to select
-fields="\$USER \$FNAME \$LNAME \$PACKAGE \$WEB_TEMPLATE \$PROXY_TEMPLATE"
-fields="$fields \$DNS_TEMPLATE \$WEB_DOMAINS \$WEB_ALIASES \$DNS_DOMAINS"
-fields="$fields \$DNS_RECORDS \$MAIL_DOMAINS \$MAIL_ACCOUNTS \$DATABASES"
-fields="$fields \$CRON_JOBS \$DISK_QUOTA \$BANDWIDTH \$NS \$SHELL \$BACKUPS"
-fields="$fields \$CONTACT \$CRON_REPORTS \$RKEY \$SUSPENDED \$SUSPENDED_USERS"
-fields="$fields \$SUSPENDED_WEB \$SUSPENDED_DNS \$SUSPENDED_MAIL"
-fields="$fields \$SUSPENDED_DB \$SUSPENDED_CRON \$IP_AVAIL \$IP_OWNED"
-fields="$fields \$U_USERS \$U_DISK \$U_DISK_DIRS \$U_DISK_WEB \$U_DISK_MAIL"
-fields="$fields \$U_DISK_DB \$U_BANDWIDTH \$U_WEB_DOMAINS \$U_WEB_SSL"
-fields="$fields \$U_WEB_ALIASES \$U_DNS_DOMAINS \$U_DNS_RECORDS"
+fields="\$USER \$FNAME \$LNAME \$PACKAGE \$WEB_TEMPLATE \$BACKEND_TEMPLATE"
+fields="$fields \$PROXY_TEMPLATE \$DNS_TEMPLATE \$WEB_DOMAINS \$WEB_ALIASES"
+fields="$fields \$DNS_DOMAINS \$DNS_RECORDS \$MAIL_DOMAINS \$MAIL_ACCOUNTS"
+fields="$fields \$DATABASES \$CRON_JOBS \$DISK_QUOTA \$BANDWIDTH \$NS \$SHELL"
+fields="$fields \$BACKUPS \$CONTACT \$CRON_REPORTS \$RKEY \$SUSPENDED"
+fields="$fields \$SUSPENDED_USERS \$SUSPENDED_WEB \$SUSPENDED_DNS"
+fields="$fields \$SUSPENDED_MAIL \$SUSPENDED_DB \$SUSPENDED_CRON \$IP_AVAIL"
+fields="$fields \$IP_OWNED \$U_USERS \$U_DISK \$U_DISK_DIRS \$U_DISK_WEB"
+fields="$fields \$U_DISK_MAIL \$U_DISK_DB \$U_BANDWIDTH \$U_WEB_DOMAINS"
+fields="$fields \$U_WEB_SSL \$U_WEB_ALIASES \$U_DNS_DOMAINS \$U_DNS_RECORDS"
 fields="$fields \$U_MAIL_DOMAINS \$U_MAIL_DKIM \$U_MAIL_ACCOUNTS"
 fields="$fields \$U_DATABASES \$U_CRON_JOBS \$U_BACKUPS \$LANGUAGE"
 fields="$fields \$TIME \$DATE"

+ 2 - 2
bin/v-list-web-domain

@@ -76,8 +76,8 @@ conf=$USER_DATA/web.conf
 
 # Defining fileds to select
 fields='$DOMAIN $IP $IP6 $U_DISK $U_BANDWIDTH $TPL $ALIAS $STATS $STATS_USER
-    $SSL $SSL_HOME $FTP_USER $FTP_PATH $PROXY $PROXY_EXT $DOCUMENT_ROOT
-    $SUSPENDED $TIME $DATE'
+    $SSL $SSL_HOME $FTP_USER $FTP_PATH $BACKEND $PROXY $PROXY_EXT
+    $DOCUMENT_ROOT $SUSPENDED $TIME $DATE'
 
 # Defining document root
 DOCUMENT_ROOT="$HOMEDIR/$user/web/$domain/public_html"

+ 1 - 1
bin/v-list-web-domains

@@ -36,7 +36,7 @@ conf=$USER_DATA/web.conf
 # Defining fileds to select
 fields="\$DOMAIN \$IP \$IP6 \$U_DISK \$U_BANDWIDTH \$TPL \$ALIAS \$STATS"
 fields="$fields \$STATS_USER \$SSL \$SSL_HOME \$FTP_USER \$FTP_PATH"
-fields="$fields \$PROXY \$PROXY_EXT \$SUSPENDED \$TIME \$DATE"
+fields="$fields \$BACKEND \$PROXY \$PROXY_EXT \$SUSPENDED \$TIME \$DATE"
 
 # Listing domains
 case $format in 

+ 4 - 2
bin/v-list-web-templates

@@ -18,7 +18,8 @@ source $VESTA/conf/vesta.conf
 
 # Json function
 json_list_wtpl() {
-    templates=$(ls -t $WEBTPL/$WEB_SYSTEM | cut -f 1 -d  '.' |sort -u )
+    templates=$(ls -t $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/)
+    templates=$(echo "$templates" | grep "\.tpl" |cut -f 1 -d  '.' )
     t_counter=$(echo "$templates" | wc -w)
     i=1
     echo '['
@@ -35,7 +36,8 @@ json_list_wtpl() {
 
 # Shell function
 shell_list_wtpl() {
-    templates=$(ls -t $WEBTPL/$WEB_SYSTEM | cut -f 1 -d  '.' |sort -u )
+    templates=$(ls -t $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/)
+    templates=$(echo "$templates" | grep "\.tpl" |cut -f 1 -d  '.' )
     if [ -z "$nohead" ]; then
         echo "Templates"
         echo "----------"

+ 73 - 0
bin/v-list-web-templates-backend

@@ -0,0 +1,73 @@
+#!/bin/bash
+# info: listing backend templates
+# options: [FORMAT]
+#
+# The function for obtaining the list of available backend templates.
+
+
+#----------------------------------------------------------#
+#                    Variable&Function                     #
+#----------------------------------------------------------#
+
+# Argument defenition
+format=${1-shell}
+
+# Includes
+source $VESTA/func/main.sh
+source $VESTA/conf/vesta.conf
+
+# Json function
+json_list_wtpl() {
+    t_counter=$(echo "$templates" | wc -w)
+    i=1
+    echo '['
+    for template in $templates; do
+        if [ "$i" -lt "$t_counter" ]; then
+            echo -e  "\t\"$template\","
+        else
+            echo -e  "\t\"$template\""
+        fi
+        (( ++i))
+    done
+    echo "]"
+    }
+
+# Shell function
+shell_list_wtpl() {
+    if [ -z "$nohead" ]; then
+        echo "Templates"
+        echo "----------"
+    fi
+    for template in $templates; do
+        echo "$template"
+    done
+}
+
+
+#----------------------------------------------------------#
+#                       Action                             #
+#----------------------------------------------------------#
+
+# Proxy templates
+if [ -z "$WEB_BACKEND" ]; then
+    exit
+fi
+templates=$(ls -t $WEBTPL/$WEB_BACKEND |\
+    cut -f1 -d . |\
+    grep -v proxy_ip |\
+    sort -u )
+
+# Listing domains
+case $format in
+    json)   json_list_wtpl ;;
+    plain)  nohead=1; shell_list_wtpl ;;
+    shell)  shell_list_wtpl ;;
+    *)      check_args '1' '0' '[FORMAT]'
+esac
+
+
+#----------------------------------------------------------#
+#                       Vesta                              #
+#----------------------------------------------------------#
+
+exit

+ 28 - 13
bin/v-rebuild-web-domains

@@ -45,22 +45,30 @@ fields='$DOMAIN'
 nohead=1
 domain_counter=0
 
+# Adding log directory
+mkdir -p /var/log/$WEB_SYSTEM/domains
+chmod 771 /var/log/$WEB_SYSTEM/domains
+
 # Clean up old config
 rm -f $HOMEDIR/$user/conf/tmp_*.conf
 
+
 # Starting loop
 for domain in $(shell_list); do
+    template=$(get_object_value 'web' 'DOMAIN' "$domain" '$BACKEND')
+    if [ ! -z "$WEB_BACKEND" ]; then
+        $BIN/v-add-web-domain-backend $user $domain $template
+    fi
+
     ((++ domain_counter))
     rebuild_web_domain_conf
 done
 
-# Config path
-web_conf="/etc/$WEB_SYSTEM/conf.d/vesta.conf"
-proxy_conf="/etc/$PROXY_SYSTEM/conf.d/vesta.conf"
-
 # Touch vesta configs
+web_conf="/etc/$WEB_SYSTEM/conf.d/vesta.conf"
 touch $web_conf
 if [ ! -z "$PROXY_SYSTEM" ]; then
+    proxy_conf="/etc/$PROXY_SYSTEM/conf.d/vesta.conf"
     touch $proxy_conf
 fi
 
@@ -72,7 +80,6 @@ if [ "$domain_counter" -lt 1 ]; then
     if [ ! -z "$PROXY_SYSTEM" ]; then
         sed -i "/.*\/$user\/.*$PROXY_SYSTEM.conf/d" $proxy_conf
     fi
-
 else
     # Clean web configs
     sed -i "/.*\/$user\/.*.conf/d" $web_conf
@@ -87,19 +94,25 @@ else
 
     # Checking include
     web_include=$(grep "$conf" $web_conf )
-    if [ -z "$web_include" ]; then
+    if [ -z "$web_include" ] && [ "$WEB_SYSTEM" != 'nginx' ]; then
         echo "Include $conf" >> $web_conf
     fi
+    if [ -z "$web_include" ] && [ "$WEB_SYSTEM" = 'nginx' ]; then
+        echo "include $conf;" >> $web_conf
+    fi
 
     # Checking SSL
     if [ "$ssl_change" = 'yes' ]; then
         tmp_conf="$HOMEDIR/$user/conf/web/tmp_s$WEB_SYSTEM.conf"
         conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
         mv $tmp_conf $conf
-    fi
-    ssl_include=$(grep "$conf" $web_conf )
-    if [ -z "$ssl_include" ]; then
-        echo "Include $conf" >> $web_conf
+        ssl_include=$(grep "$conf" $web_conf )
+        if [ -z "$ssl_include" ] && [ "$WEB_SYSTEM" != 'nginx' ]; then
+            echo "Include $conf" >> $web_conf
+        fi
+        if [ -z "$ssl_include" ] && [ "$WEB_SYSTEM" = 'nginx' ]; then
+            echo "include $conf;" >> $web_conf
+        fi
     fi
 
     # Checking proxy
@@ -153,9 +166,11 @@ if [ "$restart" != 'no' ]; then
         exit $E_RESTART
     fi
 
-    $BIN/v-restart-proxy
-    if [ $? -ne 0 ]; then
-        exit $E_RESTART
+    if [ ! -z "$PROXY_SYSTEM" ];then
+        $BIN/v-restart-proxy
+        if [ $? -ne 0 ]; then
+            exit $E_RESTART
+        fi
     fi
 fi
 

+ 65 - 0
bin/v-restart-web-backend

@@ -0,0 +1,65 @@
+#!/bin/bash
+# info: restart backend server
+# options: NONE
+#
+# The function reloads backend server configuration.
+
+
+#----------------------------------------------------------#
+#                    Variable&Function                     #
+#----------------------------------------------------------#
+
+# Includes
+source $VESTA/func/main.sh
+source $VESTA/conf/vesta.conf
+
+send_email_report() {
+    send_mail="$VESTA/web/inc/mail-wrapper.php"
+    email=$(grep CONTACT $VESTA/data/users/admin/user.conf)
+    email=$(echo "$email" | cut -f 2 -d "'")
+    tmpfile=$(mktemp)
+    subj="$(hostname): $WEB_BACKEND restart failed"
+    service $WEB_BACKEND configtest >> $tmpfile 2>&1
+    service $WEB_BACKEND restart >> $tmpfile 2>&1
+    cat $tmpfile | $send_mail -s "$subj" $email
+    rm -f $tmpfile
+}
+
+
+#----------------------------------------------------------#
+#                       Action                             #
+#----------------------------------------------------------#
+
+# Schedule restart
+if [ "$1" = 'scheduled' ]; then
+    echo "$BIN/$SCRIPT now" >> $VESTA/data/queue/restart.pipe
+    exit
+fi
+if [ -z "$1" ] && [ "$SCHEDULED_RESTART" = 'yes' ]; then
+    echo "$BIN/$SCRIPT now" >> $VESTA/data/queue/restart.pipe
+    exit
+fi
+
+if [ -z "$WEB_BACKEND" ] || [ "$WEB_BACKEND" = 'remote' ]; then
+    exit
+fi
+
+# Restart system
+service $WEB_BACKEND restart >/dev/null 2>&1
+if [ $? -ne 0 ]; then
+    send_email_report
+    echo "Error: $WEB_BACKEND restart failed"
+    exit $E_RESTART
+fi
+
+# Update restart queue
+if [ -e "$VESTA/data/queue/restart.pipe" ]; then
+    sed -i "/$SCRIPT/d" $VESTA/data/queue/restart.pipe
+fi
+
+
+#----------------------------------------------------------#
+#                       Vesta                              #
+#----------------------------------------------------------#
+
+exit

+ 29 - 5
bin/v-restore-user

@@ -244,9 +244,9 @@ if [ "$web" != 'no' ]; then
 
             # Check web template
             check_tpl=$(is_web_template_valid)
-            if [ ! -e "$WEBTPL/$WEB_SYSTEM/$TPL.tpl" ]; then
+            if [ ! -e "$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl" ]; then
                 TPL="default"
-                if [ ! -e "$WEBTPL/$WEB_SYSTEM/$TPL.tpl" ]; then
+                if [ ! -e "$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl" ]; then
                     echo "Error: no avaiable web template"
                     echo "No available web template" |\
                         $send_mail -s "$subj" $email
@@ -280,9 +280,22 @@ if [ "$web" != 'no' ]; then
                 STATS_USER=$(echo "$STATS_USER"  | cut -f 2,3,4,5,6,7 -d '_')
                 STATS_USER="${user}_${STATS_USER}"
             fi
+
+            # Set default backend template
+            if [ ! -z "$WEB_BACKEND" ]; then
+                if  [ ! -z "$BACKEND" ]; then
+                    if [ ! -e "$WEBTPL/$WEB_BACKEND/$BACKEND.tpl" ]; then
+                        BACKEND='default'
+                    fi
+                else
+                    BACKEND='default'
+                fi
+            fi
+
             str="DOMAIN='$domain' IP='$IP' IP6='$IP6' ALIAS='$ALIAS'"
             str="$str TPL='$TPL' SSL='$SSL' SSL_HOME='$SSL_HOME'"
-            str="$str FTP_USER='$FTP_USER' FTP_MD5='$FTP_MD5' PROXY='$PROXY'"
+            str="$str FTP_USER='$FTP_USER' FTP_MD5='$FTP_MD5'"
+            str="$str BACKEND='$BACKEND' PROXY='$PROXY'"
             str="$str PROXY_EXT='$PROXY_EXT' STATS='$STATS'"
             str="$str STATS_USER='$STATS_USER' STATS_CRYPT='$STATS_CRYPT'"
             str="$str U_DISK='$U_DISK' U_BANDWIDTH='0' SUSPENDED='no'"
@@ -297,6 +310,11 @@ if [ "$web" != 'no' ]; then
                 done
             fi
 
+            # Rebuild backend
+            if [ ! -z "$WEB_BACKEND" ]; then
+                $BIN/v-add-web-domain-backend $user $domain $BACKEND
+            fi
+
             # Rebuild web config
             rebuild_web_domain_conf
 
@@ -307,9 +325,12 @@ if [ "$web" != 'no' ]; then
             cat $tmp_conf >> $conf
             rm -f $tmp_conf
             web_include=$(grep "$conf" $web_conf)
-            if [ -z "$web_include" ]; then
+            if [ -z "$web_include" ] && [ "$WEB_SYSTEM" != 'nginx' ]; then
                 echo "Include $conf" >> $web_conf
             fi
+            if [ -z "$web_include" ] && [ "$WEB_SYSTEM" = 'nginx' ]; then
+                echo "include $conf;" >> $web_conf
+            fi
 
             # Adding SSL vhost
             if [ "$SSL" = 'yes' ]; then
@@ -319,9 +340,12 @@ if [ "$web" != 'no' ]; then
                 rm -f $tmp_conf
             fi
             ssl_include=$(grep "$conf" $web_conf)
-            if [ -z "$ssl_include" ]; then
+            if [ -z "$ssl_include" ] && [ "$WEB_SYSTEM" != 'nginx' ]; then
                 echo "Include $conf" >> $web_conf
             fi
+            if [ -z "$ssl_include" ] && [ "$WEB_SYSTEM" = 'nginx' ]; then
+                echo "include $conf;" >> $web_conf
+            fi
 
             # Proxy
             if [ ! -z "$PROXY_SYSTEM" ]; then

+ 2 - 2
bin/v-suspend-web-domain

@@ -42,7 +42,7 @@ is_object_unsuspended 'web' 'DOMAIN' "$domain"
 
 # Parsing domain values
 get_domain_values 'web'
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.tpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
 conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
 SUSPENDED='yes'
 ip=$(get_real_ip $IP)
@@ -56,7 +56,7 @@ add_web_config
 
 # Check SSL
 if [ "$SSL" = 'yes' ]; then
-    tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
     conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
     del_web_config
     add_web_config

+ 2 - 2
bin/v-unsuspend-web-domain

@@ -40,7 +40,7 @@ is_object_suspended 'web' 'DOMAIN' "$domain"
 
 # Parsing domain values
 get_domain_values 'web'
-tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.tpl"
+tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
 conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
 SUSPENDED='no'
 ip=$(get_real_ip $IP)
@@ -54,7 +54,7 @@ add_web_config
 
 # Check SSL
 if [ "$SSL" = 'yes' ]; then
-    tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
     conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
     del_web_config
     add_web_config

+ 66 - 3
func/domain.sh

@@ -1,7 +1,7 @@
 # Web template check
 is_web_template_valid() {
-    t="$WEBTPL/$WEB_SYSTEM/$template.tpl"
-    s="$WEBTPL/$WEB_SYSTEM/$template.stpl"
+    t="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.tpl"
+    s="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$template.stpl"
     if [ ! -e $t ] || [ ! -e $s ]; then
         echo "Error: web template $template not found"
         log_event "$E_NOTEXIST" "$EVENT"
@@ -20,6 +20,56 @@ is_proxy_template_valid() {
     fi
 }
 
+# Backend template check
+is_web_backend_template_valid() {
+    if [ ! -z "$1" ]; then
+        template=$1
+    else
+        template=$(grep BACKEND_TEMPLATE $USER_DATA/user.conf)
+    fi
+    if [ -z "$template" ]; then
+        if [ -e "$WEBTPL/$WEB_BACKEND/default.tpl" ]; then
+            sed -i "s/^WEB_DOMAINS/BACKEND_TEMPLATE='default'\nWEB_DOMAINS/g" \
+                $USER_DATA/user.conf
+            template='default'
+        else
+            echo "Error: backend template default not found"
+            log_event "$E_NOTEXIST" "$EVENT"
+            exit $E_NOTEXIST
+        fi
+    else
+        template=$(echo "$template"|cut -f 2 -d \'|head -n1)
+        if [ ! -e "$WEBTPL/$WEB_BACKEND/$template.tpl" ]; then
+            echo "Error: backend template $template not found"
+            log_event "$E_NOTEXIST" "$EVENT"
+            exit $E_NOTEXIST
+        fi
+    fi
+}
+
+# Backend pool check
+is_web_backend_pool_valid(){
+    if [ -d "/etc/php-fpm.d" ]; then
+        pool="/etc/php-fpm.d"
+    fi
+    if [ -d "/etc/php5/fpm/pool.d" ]; then
+        pool="/etc/php5/fpm/pool.d"
+    fi
+    if [ -d "/etc/php-fpm-5.5.d" ]; then
+        pool="/etc/php-fpm-5.5.d"
+    fi
+    if [ ! -e "$pool" ]; then
+        echo "Error: backend pool directory not found"
+        log_event "$E_NOTEXIST" "$EVENT"
+        exit $E_NOTEXIST
+    fi
+
+    backend="$domain"
+    if [ "$WEB_BACKEND_POOL" = 'user' ]; then
+        backend="$user"
+    fi
+}
+
 # DNS template check
 is_dns_template_valid() {
     t="$DNSTPL/$template.tpl"
@@ -228,6 +278,7 @@ add_web_config() {
             -e "s|%web_system%|$WEB_SYSTEM|g" \
             -e "s|%web_port%|$WEB_PORT|g" \
             -e "s|%web_ssl_port%|$WEB_SSL_PORT|g" \
+            -e "s|%backend_lsnr%|$backend_lsnr|g" \
             -e "s|%rgroups%|$WEB_RGROUPS|g" \
             -e "s|%proxy_system%|$PROXY_SYSTEM|g" \
             -e "s|%proxy_port%|$PROXY_PORT|g" \
@@ -297,6 +348,15 @@ get_domain_values() {
     done
 }
 
+# Get backend values
+get_domain_backend_values() {
+    lsnr=$(grep "listen =" $pool/$backend.conf |cut -f 2 -d = |sed "s/ //")
+    backend_lsnr="$lsnr"
+    if [ ! -z "$(echo $lsnr |grep /)" ]; then
+        backend_lsnr="unix:$backend_lsnr"
+    fi
+}
+
 # SSL certificate verification
 is_web_domain_cert_valid() {
     if [ ! -e "$ssl_dir/$domain.crt" ]; then
@@ -373,7 +433,10 @@ upd_web_domain_values() {
     if [ "$SSL_HOME" = 'single' ]; then
         sdocroot="$HOMEDIR/$user/web/$domain/public_shtml" ;
     fi
-
+    if [ ! -z "$WEB_BACKEND" ]; then
+        is_web_backend_pool_valid
+        get_domain_backend_values
+    fi
     i=1
     j=1
     OLD_IFS="$IFS"

+ 9 - 6
func/rebuild.sh

@@ -196,15 +196,16 @@ rebuild_web_domain_conf() {
     chown root:$user /var/log/$WEB_SYSTEM/domains/$domain.*
 
     # Adding tmp conf
-    tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.tpl"
+    tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
     conf="$HOMEDIR/$user/conf/web/tmp_$WEB_SYSTEM.conf"
     add_web_config
     chown root:$user $conf
     chmod 640 $conf
 
     # Running template trigger
-    if [ -x $WEBTPL/$WEB_SYSTEM/$TPL.sh ]; then
-        $WEBTPL/$WEB_SYSTEM/$TPL.sh $user $domain $ip $HOMEDIR $docroot
+    if [ -x $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.sh ]; then
+        $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.sh \
+            $user $domain $ip $HOMEDIR $docroot
     fi
 
     # Checking aliases
@@ -220,6 +221,7 @@ rebuild_web_domain_conf() {
                 -e "s|%web_system%|$WEB_SYSTEM|g" \
                 -e "s|%web_port%|$WEB_PORT|g" \
                 -e "s|%web_ssl_port%|$WEB_SSL_PORT|g" \
+                -e "s|%backend_lsnr%|$backend_lsnr|g" \
                 -e "s|%proxy_port%|$PROXY_PORT|g" \
                 -e "s|%proxy_ssl_port%|$PROXY_SSL_PORT|g" \
                 -e "s|%domain_idn%|$domain_idn|g" \
@@ -262,7 +264,7 @@ rebuild_web_domain_conf() {
 
         # Adding domain to the web conf
         conf="$HOMEDIR/$user/conf/web/tmp_s$WEB_SYSTEM.conf"
-        tpl_file="$WEBTPL/$WEB_SYSTEM/$TPL.stpl"
+        tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
         add_web_config
         chown root:$user $conf
         chmod 640 $conf
@@ -279,8 +281,9 @@ rebuild_web_domain_conf() {
         fi
 
         # Running template trigger
-        if [ -x $WEBTPL/$WEB_SYSTEM/$TPL.sh ]; then
-            $WEBTPL/$WEB_SYSTEM/$TPL.sh $user $domain $ip $HOMEDIR $sdocroot
+        if [ -x $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.sh ]; then
+            $WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.sh \
+                $user $domain $ip $HOMEDIR $sdocroot
         fi
 
         user_ssl=$((user_ssl + 1))

+ 18 - 1
web/add/package/index.php

@@ -19,6 +19,9 @@ if (!empty($_POST['ok'])) {
     // Check empty fields
     if (empty($_POST['v_package'])) $errors[] = __('package');
     if (empty($_POST['v_web_template'])) $errors[] = __('web template');
+    if (!empty($_SESSION['WEB_SYSTEM'])) {
+        if (empty($_POST['v_backend_template'])) $errors[] = __('backend template');
+    }
     if (!empty($_SESSION['PROXY_SYSTEM'])) {
         if (empty($_POST['v_proxy_template'])) $errors[] = __('proxy template');
     }
@@ -51,6 +54,7 @@ if (!empty($_POST['ok'])) {
     // Protect input
     $v_package = escapeshellarg($_POST['v_package']);
     $v_web_template = escapeshellarg($_POST['v_web_template']);
+    $v_backend_template = escapeshellarg($_POST['v_backend_template']);
     $v_proxy_template = escapeshellarg($_POST['v_proxy_template']);
     $v_dns_template = escapeshellarg($_POST['v_dns_template']);
     $v_shell = escapeshellarg($_POST['v_shell']);
@@ -87,7 +91,12 @@ if (!empty($_POST['ok'])) {
     // Create package file
     if (empty($_SESSION['error_msg'])) {
         $pkg = "WEB_TEMPLATE=".$v_web_template."\n";
-        $pkg .= "PROXY_TEMPLATE=".$v_proxy_template."\n";
+        if (!empty($_SESSION['WEB_BACKEND'])) {
+            $pkg .= "BACKEND_TEMPLATE=".$v_backend_template."\n";
+        }
+        if (!empty($_SESSION['PROXY_SYSTEM'])) {
+            $pkg .= "PROXY_TEMPLATE=".$v_proxy_template."\n";
+        }
         $pkg .= "DNS_TEMPLATE=".$v_dns_template."\n";
         $pkg .= "WEB_DOMAINS=".$v_web_domains."\n";
         $pkg .= "WEB_ALIASES=".$v_web_aliases."\n";
@@ -141,6 +150,13 @@ exec (VESTA_CMD."v-list-web-templates json", $output, $return_var);
 $web_templates = json_decode(implode('', $output), true);
 unset($output);
 
+// List web templates for backend
+if (!empty($_SESSION['WEB_BACKEND'])) {
+    exec (VESTA_CMD."v-list-web-templates-backend json", $output, $return_var);
+    $backend_templates = json_decode(implode('', $output), true);
+    unset($output);
+}
+
 // List web templates for proxy
 if (!empty($_SESSION['PROXY_SYSTEM'])) {
     exec (VESTA_CMD."v-list-web-templates-proxy json", $output, $return_var);
@@ -160,6 +176,7 @@ unset($output);
 
 // Set default values
 if (empty($v_web_template)) $v_web_template = 'default';
+if (empty($v_backend_template)) $v_backend_template = 'default';
 if (empty($v_proxy_template)) $v_proxy_template = 'default';
 if (empty($v_dns_template)) $v_dns_template = 'default';
 if (empty($v_shell)) $v_shell = 'nologin';

+ 7 - 0
web/add/web/index.php

@@ -221,6 +221,13 @@ if (!empty($_POST['ok'])) {
         unset($output);
     }
 
+    // Restart backend server
+    if ((!empty($_SESSION['WEB_BACKEND'])) && (empty($_SESSION['error_msg']))) {
+        exec (VESTA_CMD."v-restart-web-backend", $output, $return_var);
+        check_return_code($return_var,$output);
+        unset($output);
+    }
+
     // Restart proxy server
     if ((!empty($_SESSION['PROXY_SYSTEM'])) && ($_POST['v_proxy'] == 'on') && (empty($_SESSION['error_msg']))) {
         exec (VESTA_CMD."v-restart-proxy", $output, $return_var);

+ 2 - 2
web/css/main.css

@@ -892,7 +892,7 @@ label:active {
 
 .vst-textinput {
     background-color: #fff;
-    border: 1px solid #c0c0c0;
+    border: 1px solid #ddd;
     border-radius: 3px 3px 3px 3px;
     color: #555;
     font-size: 12pt;
@@ -919,7 +919,7 @@ label:active {
 
 .vst-input {
     background-color: #fff;
-    border: 1px solid #c0c0c0;
+    border: 1px solid #ddd;
     border-radius: 3px 3px 3px 3px;
     color: #555;
     font-size: 14pt;

+ 22 - 2
web/edit/package/index.php

@@ -30,6 +30,7 @@ unset($output);
 // Parse package
 $v_package = $_GET['package'];
 $v_web_template = $data[$v_package]['WEB_TEMPLATE'];
+$v_backend_template = $data[$v_package]['BACKEND_TEMPLATE'];
 $v_proxy_template = $data[$v_package]['PROXY_TEMPLATE'];
 $v_dns_template = $data[$v_package]['DNS_TEMPLATE'];
 $v_web_domains = $data[$v_package]['WEB_DOMAINS'];
@@ -59,6 +60,13 @@ exec (VESTA_CMD."v-list-web-templates json", $output, $return_var);
 $web_templates = json_decode(implode('', $output), true);
 unset($output);
 
+// List backend templates
+if (!empty($_SESSION['WEB_BACKEND'])) {
+    exec (VESTA_CMD."v-list-web-templates-backend json", $output, $return_var);
+    $backend_templates = json_decode(implode('', $output), true);
+    unset($output);
+}
+
 // List proxy templates
 if (!empty($_SESSION['PROXY_SYSTEM'])) {
     exec (VESTA_CMD."v-list-web-templates-proxy json", $output, $return_var);
@@ -66,6 +74,7 @@ if (!empty($_SESSION['PROXY_SYSTEM'])) {
     unset($output);
 }
 
+
 // List dns templates
 exec (VESTA_CMD."v-list-dns-templates json", $output, $return_var);
 $dns_templates = json_decode(implode('', $output), true);
@@ -82,7 +91,12 @@ if (!empty($_POST['save'])) {
     // Check empty fields
     if (empty($_POST['v_package'])) $errors[] = __('package');
     if (empty($_POST['v_web_template'])) $errors[] = __('web template');
-    if (empty($_POST['v_proxy_template'])) $errors[] = __('proxy template');
+    if (!empty($_SESSION['WEB_BACKEND'])) {
+        if (empty($_POST['v_backend_template'])) $errors[] = __('backend template');
+    }
+    if (!empty($_SESSION['PROXY_SYSTEM'])) {
+        if (empty($_POST['v_proxy_template'])) $errors[] = __('proxy template');
+    }
     if (empty($_POST['v_dns_template'])) $errors[] = __('dns template');
     if (empty($_POST['v_shell'])) $errrors[] = __('shell');
     if (!isset($_POST['v_web_domains'])) $errors[] = __('web domains');
@@ -112,7 +126,12 @@ if (!empty($_POST['save'])) {
     // Protect input
     $v_package = escapeshellarg($_POST['v_package']);
     $v_web_template = escapeshellarg($_POST['v_web_template']);
-    $v_proxy_template = escapeshellarg($_POST['v_proxy_template']);
+    if (!empty($_SESSION['WEB_BACKEND'])) {
+        $v_backend_template = escapeshellarg($_POST['v_backend_template']);
+    }
+    if (!empty($_SESSION['PROXY_SYSTEM'])) {
+        $v_proxy_template = escapeshellarg($_POST['v_proxy_template']);
+    }
     $v_dns_template = escapeshellarg($_POST['v_dns_template']);
     $v_shell = escapeshellarg($_POST['v_shell']);
     $v_web_domains = escapeshellarg($_POST['v_web_domains']);
@@ -144,6 +163,7 @@ if (!empty($_POST['save'])) {
 
     // Save package file on a fs
     $pkg = "WEB_TEMPLATE=".$v_web_template."\n";
+    $pkg .= "BACKEND_TEMPLATE=".$v_backend_template."\n";
     $pkg .= "PROXY_TEMPLATE=".$v_proxy_template."\n";
     $pkg .= "DNS_TEMPLATE=".$v_dns_template."\n";
     $pkg .= "WEB_DOMAINS=".$v_web_domains."\n";

+ 16 - 0
web/edit/web/index.php

@@ -45,6 +45,7 @@ if ( $v_ssl == 'yes' ) {
     $v_ssl_ca = $ssl_str[$v_domain]['CA'];
 }
 $v_ssl_home = $data[$v_domain]['SSL_HOME'];
+$v_backend_template = $data[$v_domain]['BACKEND'];
 $v_proxy = $data[$v_domain]['PROXY'];
 $v_proxy_template = $data[$v_domain]['PROXY'];
 $v_proxy_ext = str_replace(',', ', ', $data[$v_domain]['PROXY_EXT']);
@@ -75,6 +76,13 @@ exec (VESTA_CMD."v-list-web-templates json", $output, $return_var);
 $templates = json_decode(implode('', $output), true);
 unset($output);
 
+// List backend templates
+if (!empty($_SESSION['WEB_BACKEND'])) {
+    exec (VESTA_CMD."v-list-web-templates-backend json", $output, $return_var);
+    $backend_templates = json_decode(implode('', $output), true);
+    unset($output);
+}
+
 // List proxy templates
 if (!empty($_SESSION['PROXY_SYSTEM'])) {
     exec (VESTA_CMD."v-list-web-templates-proxy json", $output, $return_var);
@@ -190,6 +198,14 @@ if (!empty($_POST['save'])) {
         }
     }
 
+    // Change backend template
+    if ((!empty($_SESSION['WEB_BACKEND'])) && ( $v_backend_template != $_POST['v_backend_template']) && (empty($_SESSION['error_msg']))) {
+            $v_backend_template = $_POST['v_backend_template'];
+            exec (VESTA_CMD."v-change-web-domain-backend-tpl ".$v_username." ".$v_domain." ".escapeshellarg($v_backend_template), $output, $return_var);
+            check_return_code($return_var,$output);
+            unset($output);
+    }
+
     // Delete proxy support
     if ((!empty($_SESSION['PROXY_SYSTEM'])) && (!empty($v_proxy)) && (empty($_POST['v_proxy'])) && (empty($_SESSION['error_msg']))) {
         exec (VESTA_CMD."v-delete-web-domain-proxy ".$v_username." ".$v_domain." 'no'", $output, $return_var);

+ 4 - 3
web/inc/i18n/ar.php

@@ -149,7 +149,8 @@ $LANG['ar'] = array(
     'User Directories'  => 'مجلدات المستخدم',
     'Template'  => 'نموذج',
     'Web Template'  => 'أباتشي نموذج',
-    'Proxy Template'  => 'Nginx نموذج',
+    'Backend Template'  => 'Backend نموذج',
+    'Proxy Template' =>'Proxy نموذج',
     'DNS Template'  => 'نظام أسماء النطاقات نموذج',
     'Web Domains'  => 'نطاقات الشبكة',
     'SSL Domains'  => 'نطاقات آمنة',
@@ -170,8 +171,8 @@ $LANG['ar'] = array(
     'template'  => 'نموذج',
     'SSL Support'  => 'دعم طبقة المقبض الآمن',
     'SSL Home Directory'  => 'المجلد الرئيسي لطبقة المقبض الآمن',
-    'Proxy Support'  => 'Nginx دعم',
-    'Proxy Extensions'  => 'Nginx إمتدادات',
+    'Proxy Support'  => 'Proxy دعم',
+    'Proxy Extensions'  => 'Proxy إمتدادات',
     'Web Statistics'  => 'إحصائيات الشبكة',
     'Additional FTP Account'  => 'حساب بروتوكول نقل الملفات إضافي',
     'SOA'  => 'هيكلية الخدمات الموجهة',

+ 5 - 4
web/inc/i18n/bs.php

@@ -145,8 +145,9 @@ $LANG['bs'] = array(
     'Databases'  => 'Baze podataka',
     'User Directories'  => 'Korisnićki direktoriji',
     'Template'  => 'Šablon',
-    'Web Template'  => 'Apache šablon',
-    'Proxy Template'  => 'Nginx šablon',
+    'Web Template'  => 'Web šablon',
+    'Backend Template'  => 'Backend šablon',
+    'Proxy Template' =>'Proxy šablon',
     'DNS Template'  => 'DNS šablon',
     'Web Domains'  => 'Web domena',
     'SSL Domains'  => 'SSL domena',
@@ -167,8 +168,8 @@ $LANG['bs'] = array(
     'template'  => 'šablon',
     'SSL Support'  => 'SSL podrška',
     'SSL Home Directory'  => 'SSL direktorij',
-    'Proxy Support'  => 'Nginx podrška',
-    'Proxy Extensions'  => 'Nginx ekstenzije',
+    'Proxy Support'  => 'Proxy podrška',
+    'Proxy Extensions'  => 'Proxy ekstenzije',
     'Web Statistics'  => 'Web statistika',
     'Additional FTP Account'  => 'Dodatni FTP',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/cn.php

@@ -150,8 +150,9 @@ $LANG['cn'] = array(
     'Databases'  => '数据库',
     'User Directories'  => '用户目录',
     'Template'  => '模板',
-    'Web Template'  => 'Apache模板',
-    'Proxy Template'  => 'Nginx模板',
+    'Web Template'  => 'Web模板',
+    'Backend Template'  => 'Backend模板',
+    'Proxy Template' =>'Proxy模板',
     'DNS Template'  => 'DNS模板',
     'Web Domains'  => '网站域名',
     'SSL Domains'  => 'SSL域名',
@@ -172,8 +173,8 @@ $LANG['cn'] = array(
     'template'  => '模板',
     'SSL Support'  => 'SSL支持',
     'SSL Home Directory'  => 'SSL主目录',
-    'Proxy Support'  => 'Nginx代理支持',
-    'Proxy Extensions'  => 'Nginx扩展',
+    'Proxy Support'  => 'Proxy代理支持',
+    'Proxy Extensions'  => 'Proxy扩展',
     'Web Statistics'  => 'Web统计',
     'Additional FTP Account'  => '其他FTP账户',
     'SOA'  => 'SOA',

+ 2 - 1
web/inc/i18n/cz.php

@@ -152,7 +152,8 @@ $LANG['cz'] = array(
     'User Directories'  => 'Uživatelské adresáře',
     'Template'  => 'Šablona',
     'Web Template'  => 'Webová šablona',
-    'Proxy Template'  => 'Proxy šablona',
+    'Backend Template'  => 'Backend šablona',
+    'Proxy Template' =>'Proxy šablona',
     'DNS Template'  => 'DNS šablona',
     'Web Domains'  => 'Webové domény',
     'SSL Domains'  => 'SSL domény',

+ 5 - 4
web/inc/i18n/de.php

@@ -150,8 +150,9 @@ $LANG['de'] = array(
     'Databases'  => 'Datenbanken',
     'User Directories'  => 'Benutzer-Verzeichnis',
     'Template'  => 'Template',
-    'Web Template'  => 'Apache Template',
-    'Proxy Template'  => 'Nginx Template',
+    'Web Template'  => 'Web Template',
+    'Backend Template'  => 'Backend Template',
+    'Proxy Template' =>'Proxy Template',
     'DNS Template'  => 'DNS Template',
     'Web Domains'  => 'Web Domäne',
     'SSL Domains'  => 'SSL Domäne',
@@ -172,8 +173,8 @@ $LANG['de'] = array(
     'template'  => 'template',
     'SSL Support'  => 'SSL Unterstützung',
     'SSL Home Directory'  => 'SSL Homeverzeichnis',
-    'Proxy Support'  => 'Nginx Unterstützung',
-    'Proxy Extensions'  => 'Nginx Erweiterungen',
+    'Proxy Support'  => 'Proxy Unterstützung',
+    'Proxy Extensions'  => 'Proxy Erweiterungen',
     'Web Statistics'  => 'Web Statistiken',
     'Additional FTP Account'  => 'Zusätzliche FTP Accounts',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/el.php

@@ -151,8 +151,9 @@ $LANG['el'] = array(
     'Databases'  => 'Βάσεις Δεδομένων',
     'User Directories'  => 'Κατάλογοι Χρήστη',
     'Template'  => 'Template',
-    'Web Template'  => 'Apache Template',
-    'Proxy Template'  => 'Nginx Template',
+    'Web Template'  => 'Web Template',
+    'Backend Template'  => 'Backend Template',
+    'Proxy Template' =>'Proxy Template',
     'DNS Template'  => 'DNS Template',
     'Web Domains'  => 'Web Domains',
     'SSL Domains'  => 'SSL Domains',
@@ -173,8 +174,8 @@ $LANG['el'] = array(
     'template'  => 'template',
     'SSL Support'  => 'Υποστήριξη SSL',
     'SSL Home Directory'  => 'Αρχικός Κατάλογος SSL',
-    'Proxy Support'  => 'Υποστήριξη Nginx',
-    'Proxy Extensions'  => 'Πρόσθετα Nginx',
+    'Proxy Support'  => 'Υποστήριξη Proxy',
+    'Proxy Extensions'  => 'Πρόσθετα Proxy',
     'Web Statistics'  => 'Στατιστικά Web',
     'Additional FTP Account'  => 'Επιπρόσθετος Λογαριασμός FTP',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/en.php

@@ -150,8 +150,9 @@ $LANG['en'] = array(
     'Databases'  => 'Databases',
     'User Directories'  => 'User Directories',
     'Template'  => 'Template',
-    'Web Template'  => 'Apache Template',
-    'Proxy Template'  => 'Nginx Template',
+    'Web Template'  => 'Web Template',
+    'Backend Template'  => 'Backend Template',
+    'Proxy Template' =>'Proxy Template',
     'DNS Template'  => 'DNS Template',
     'Web Domains'  => 'Web Domains',
     'SSL Domains'  => 'SSL Domains',
@@ -172,8 +173,8 @@ $LANG['en'] = array(
     'template'  => 'template',
     'SSL Support'  => 'SSL Support',
     'SSL Home Directory'  => 'SSL Home',
-    'Proxy Support'  => 'Nginx Support',
-    'Proxy Extensions'  => 'Nginx Extensions',
+    'Proxy Support'  => 'Proxy Support',
+    'Proxy Extensions'  => 'Proxy Extensions',
     'Web Statistics'  => 'Web Statistics',
     'Additional FTP Account'  => 'Additional FTP',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/es.php

@@ -150,8 +150,9 @@ $LANG['es'] = array(
     'Databases'  => 'Base de Datos',
     'User Directories'  => 'Directorios de Usuario',
     'Template'  => 'Plantilla',
-    'Web Template'  => 'Plantilla Apache',
-    'Proxy Template'  => 'Plantilla Nginx',
+    'Web Template'  => 'Plantilla Web',
+    'Backend Template'  => 'Plantilla Backend',
+    'Proxy Template' =>'Plantilla Proxy',
     'DNS Template'  => 'Plantilla DNS',
     'Web Domains'  => 'Dominios Web',
     'SSL Domains'  => 'Dominios SSL',
@@ -172,8 +173,8 @@ $LANG['es'] = array(
     'template'  => 'plantilla',
     'SSL Support'  => 'Soporte SSL',
     'SSL Home Directory'  => 'SSL Home',
-    'Proxy Support'  => 'Soporte Nginx',
-    'Proxy Extensions'  => 'Extensiones Nginx',
+    'Proxy Support'  => 'Soporte Proxy',
+    'Proxy Extensions'  => 'Extensiones Proxy',
     'Web Statistics'  => 'Estadísticas Web',
     'Additional FTP Account'  => 'Cuenta Adicional FTP',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/fi.php

@@ -153,8 +153,9 @@ $LANG['fi'] = array(
     'Databases' => 'Tietokannat',
     'User Directories' => 'Käyttäjähakemistot',
     'Template' => 'Pohja',
-    'Web Template' => 'Apache-pohja',
-    'Proxy Template' => 'Nginx-pohja',
+    'Web Template' => 'Web-pohja',
+    'Backend Template' => 'Backend-pohja',
+    'Proxy Template' => 'Proxy-pohja',
     'DNS Template' => 'DNS-pohja',
     'Web Domains' => 'Web-domainit',
     'SSL Domains' => 'SSL-domainit',
@@ -174,8 +175,8 @@ $LANG['fi'] = array(
     'template' => 'pohjat',
     'SSL Support' => 'SSL-tuki',
     'SSL Home Directory' => 'SSL-kotihakemisto',
-    'Proxy Support' => 'Nginx tuki',
-    'Proxy Extensions' => 'Nginx laajennukset',
+    'Proxy Support' => 'Proxy tuki',
+    'Proxy Extensions' => 'Proxy laajennukset',
     'Web Statistics' => 'Webtilastot',
     'Additional FTP Account' => 'Ylimääräinen FTP-tili',
     'SOA' => 'SOA',

+ 5 - 4
web/inc/i18n/fr.php

@@ -150,8 +150,9 @@ $LANG['fr'] = array(
     'Databases'  => 'Bases de Données',
     'User Directories'  => 'Répertoires Utilisateurs',
     'Template'  => 'Template',
-    'Web Template'  => 'Template Apache',
-    'Proxy Template'  => 'Template Nginx',
+    'Web Template'  => 'Template Web',
+    'Backend Template'  => 'Template Backend',
+    'Proxy Template' =>'Template Proxy',
     'DNS Template'  => 'Template DNS',
     'Web Domains'  => 'Domaines Web',
     'SSL Domains'  => 'Domaines SSL',
@@ -172,8 +173,8 @@ $LANG['fr'] = array(
     'template'  => 'template',
     'SSL Support'  => 'Support SSL',
     'SSL Home Directory'  => 'Racine SSL',
-    'Proxy Support'  => 'Support Nginx',
-    'Proxy Extensions'  => 'Extensions Nginx',
+    'Proxy Support'  => 'Support Proxy',
+    'Proxy Extensions'  => 'Extensions Proxy',
     'Web Statistics'  => 'Statistiques Web',
     'Additional FTP Account'  => 'FTP Additionnel',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/hu.php

@@ -152,8 +152,9 @@ $LANG['hu'] = array(
     'Databases'  => 'Adatbázis',
     'User Directories'  => 'Felhasználói könyvtárak',
     'Template'  => 'Sablon',
-    'Web Template'  => 'Apache sablon',
-    'Proxy Template'  => 'Nginx sablon',
+    'Web Template'  => 'Web sablon',
+    'Backend Template'  => 'Backend sablon',
+    'Proxy Template' =>'Proxy sablon',
     'DNS Template'  => 'DNS sablon',
     'Web Domains'  => 'Web Domainek',
     'SSL Domains'  => 'SSL Domainek',
@@ -174,8 +175,8 @@ $LANG['hu'] = array(
     'template'  => 'sablon',
     'SSL Support'  => 'SSL támogatás',
     'SSL Home Directory'  => 'SSL kezdőlap',
-    'Proxy Support'  => 'Nginx támogatás',
-    'Proxy Extensions'  => 'Nginx kiterjesztések',
+    'Proxy Support'  => 'Proxy támogatás',
+    'Proxy Extensions'  => 'Proxy kiterjesztések',
     'Web Statistics'  => 'Web statisztikák',
     'Additional FTP Account'  => 'Hozzáadott FTP',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/id.php

@@ -153,8 +153,9 @@ $LANG['id'] = array(
     'Databases'  => 'Basis Data',
     'User Directories'  => 'Direktori Pengguna',
     'Template'  => 'Contoh',
-    'Web Template'  => 'Contoh Apache',
-    'Proxy Template'  => 'Contoh Nginx',
+    'Web Template'  => 'Contoh Web',
+    'Backend Template'  => 'Contoh Backend',
+    'Proxy Template' =>'Contoh Proxy',
     'DNS Template'  => 'Contoh DNS',
     'Web Domains'  => 'Web Domains',
     'SSL Domains'  => 'SSL Domains',
@@ -175,8 +176,8 @@ $LANG['id'] = array(
     'template'  => 'contoh',
     'SSL Support'  => 'Dukungan SSL',
     'SSL Home Directory'  => 'SSL Home',
-    'Proxy Support'  => 'Dukungan Nginx',
-    'Proxy Extensions'  => 'Ekstensi Nginx',
+    'Proxy Support'  => 'Dukungan Proxy',
+    'Proxy Extensions'  => 'Ekstensi Proxy',
     'Web Statistics'  => 'Statistik Web',
     'Additional FTP Account'  => 'FTP Tambahan',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/it.php

@@ -151,8 +151,9 @@ $LANG['it'] = array(
     'Databases'  => 'Databases',
     'User Directories'  => 'Directories Utente',
     'Template'  => 'Template',
-    'Web Template'  => 'Apache Template',
-    'Proxy Template'  => 'Nginx Template',
+    'Web Template'  => 'Web Template',
+    'Backend Template'  => 'Backend Template',
+    'Proxy Template' =>'Proxy Template',
     'DNS Template'  => 'DNS Template',
     'Web Domains'  => 'Domini Web',
     'SSL Domains'  => 'Domini SSL',
@@ -173,8 +174,8 @@ $LANG['it'] = array(
     'template'  => 'template',
     'SSL Support'  => 'Supporto SSL',
     'SSL Home Directory'  => 'SSL Home',
-    'Proxy Support'  => 'Supporto Nginx',
-    'Proxy Extensions'  => 'Estensioni Nginx',
+    'Proxy Support'  => 'Supporto Proxy',
+    'Proxy Extensions'  => 'Estensioni Proxy',
     'Web Statistics'  => 'Statistiche Web',
     'Additional FTP Account'  => 'FTP Addizionali',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/nl.php

@@ -151,8 +151,9 @@ $LANG['nl'] = array(
     'Databases'  => 'Databases',
     'User Directories'  => 'Gebruikersmappen',
     'Template'  => 'Sjabloon',
-    'Web Template'  => 'Apache Sjabloon',
-    'Proxy Template'  => 'Nginx Sjabloon',
+    'Web Template'  => 'Web Sjabloon',
+    'Backend Template'  => 'Backend Sjabloon',
+    'Proxy Template' =>'Proxy Sjabloon',
     'DNS Template'  => 'DNS Sjabloon',
     'Web Domains'  => 'Web Domeinen',
     'SSL Domains'  => 'SSL Domeinen',
@@ -173,8 +174,8 @@ $LANG['nl'] = array(
     'template'  => 'sjabloon',
     'SSL Support'  => 'SSL Ondersteuning',
     'SSL Home Directory'  => 'SSL Map',
-    'Proxy Support'  => 'Nginx Ondersteuning',
-    'Proxy Extensions'  => 'Nginx Extensies',
+    'Proxy Support'  => 'Proxy Ondersteuning',
+    'Proxy Extensions'  => 'Proxy Extensies',
     'Web Statistics'  => 'Web Statistieken',
     'Additional FTP Account'  => 'Extra FTP Account',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/no.php

@@ -151,8 +151,9 @@ $LANG['no'] = array(
     'Databases'  => 'Databaser',
     'User Directories'  => 'Bruker Kataloger',
     'Template'  => 'Mal',
-    'Web Template'  => 'Apache Mal',
-    'Proxy Template'  => 'Nginx Mal',
+    'Web Template'  => 'Web Mal',
+    'Backend Template'  => 'Backend Mal',
+    'Proxy Template' =>'Proxy Mal',
     'DNS Template'  => 'DNS Mal',
     'Web Domains'  => 'Web Domene',
     'SSL Domains'  => 'SSL Domene',
@@ -173,8 +174,8 @@ $LANG['no'] = array(
     'template'  => 'mal',
     'SSL Support'  => 'SSL Støtte',
     'SSL Home Directory'  => 'SSL Hjem',
-    'Proxy Support'  => 'Nginx Støtte',
-    'Proxy Extensions'  => 'Nginx Utvidelser',
+    'Proxy Support'  => 'Proxy Støtte',
+    'Proxy Extensions'  => 'Proxy Utvidelser',
     'Web Statistics'  => 'Web Statistikker',
     'Additional FTP Account'  => 'Extra FTP',
     'SOA'  => 'SOA',

+ 5 - 4
web/inc/i18n/pt.php

@@ -150,8 +150,9 @@ $LANG['pt'] = array(
     'Databases'  => 'Bases de Dados',
     'User Directories'  => 'Diretórios do Usuário',
     'Template'  => 'Template',
-    'Web Template'  => 'Template Apache',
-    'Proxy Template'  => 'Template Nginx',
+    'Web Template'  => 'Template Web',
+    'Backend Template'  => 'Template Backend',
+    'Proxy Template' =>'Template Proxy',
     'DNS Template'  => 'Template DNS',
     'Web Domains'  => 'Domínios Web',
     'SSL Domains'  => 'Domínios SSL',
@@ -172,8 +173,8 @@ $LANG['pt'] = array(
     'template'  => 'template',
     'SSL Support'  => 'Suporte a SSL',
     'SSL Home Directory'  => 'Home SSL',
-    'Proxy Support'  => 'Suporte ao Nginx',
-    'Proxy Extensions'  => 'Extenções do Nginx',
+    'Proxy Support'  => 'Suporte ao Proxy',
+    'Proxy Extensions'  => 'Extenções do Proxy',
     'Web Statistics'  => 'Estatísticas Web',
     'Additional FTP Account'  => 'Contas FTP Adicionais',
     'SOA'  => 'SOA',

+ 6 - 5
web/inc/i18n/ro.php

@@ -152,8 +152,9 @@ $LANG['ro'] = array(
     'Databases' => 'Baze de date',
     'User Directories' => 'Fișiere',
     'Template' => 'Șablon',
-    'Web Template' => 'Șablonul Apache',
-    'Proxy Template' => 'Șablonul Nginx',
+    'Web Template' => 'Șablonul Web',
+    'Backend Template' => 'Șablonul Backend',
+    'Proxy Template' => 'Șablonul Proxy',
     'DNS Template' => 'Șablonul DNS',
     'Web Domains' => 'Domenii web',
     'SSL Domains' => 'Domenii SSL',
@@ -174,8 +175,8 @@ $LANG['ro'] = array(
     'template' => 'șablon',
     'SSL Support' => 'Support SSL',
     'SSL Home Directory' => 'Mapa SSL',
-    'Proxy Support' => 'Support Nginx',
-    'Proxy Extensions' => 'Extensii Nginx',
+    'Proxy Support' => 'Support Proxy',
+    'Proxy Extensions' => 'Extensii Proxy',
     'Web Statistics' => 'Statistici web',
     'Additional FTP Account' => 'Cont suplimentar FTP',
     'SOA' => 'SOA',
@@ -213,7 +214,7 @@ $LANG['ro'] = array(
     'Load Average' => 'Load Average',
     'Memory Usage' => 'Utilizare de memorie',
     'HTTPD Usage' => 'HTTPD',
-    'NGINX Usage' => 'Nginx',
+    'NGINX Usage' => 'Proxy',
     'MySQL Usage on localhost' => 'MySQL',
     'PostgreSQL Usage on localhost' => 'PostgreSQL',
     'Bandwidth Usage eth0' => 'Utilizare rețelei eth0',

+ 6 - 5
web/inc/i18n/ru.php

@@ -152,8 +152,9 @@ $LANG['ru'] = array(
     'Databases' => 'Базы данных',
     'User Directories' => 'Папки пользователя',
     'Template' => 'Шаблон',
-    'Web Template' => 'Шаблон Apache',
-    'Proxy Template' => 'Шаблон Nginx',
+    'Web Template' => 'Шаблон Web',
+    'Backend Template' => 'Шаблон Backend',
+    'Proxy Template' => 'Шаблон Proxy',
     'DNS Template'  => 'DNS Template',
     'Web Domains' => 'Веб домены',
     'SSL Domains' => 'SSL домены',
@@ -174,8 +175,8 @@ $LANG['ru'] = array(
     'template' => 'шаблон',
     'SSL Support' => 'Поддержка SSL',
     'SSL Home Directory' => 'Директория SSL',
-    'Proxy Support' => 'Поддержка Nginx',
-    'Proxy Extensions' => 'Обработка Nginx',
+    'Proxy Support' => 'Поддержка Proxy',
+    'Proxy Extensions' => 'Обработка Proxy',
     'Web Statistics' => 'Статистика сайта',
     'Additional FTP Account' => 'Дополнительный ftp',
     'SOA' => 'SOA',
@@ -213,7 +214,7 @@ $LANG['ru'] = array(
     'Load Average' => 'Общая нагрузка',
     'Memory Usage' => 'Использование памяти',
     'HTTPD Usage' => 'Веб сервер',
-    'NGINX Usage' => 'Nginx',
+    'NGINX Usage' => 'Proxy',
     'MySQL Usage on localhost' => 'Сервер базы данных MySQL',
     'PostgreSQL Usage on localhost' => 'Сервер базы данных PostgreSQL',
     'Bandwidth Usage eth0' => 'Использование cети: eth0',

+ 6 - 5
web/inc/i18n/tr.php

@@ -11,7 +11,7 @@ $LANG['tr'] = array(
     'Statistics'  => 'İstatistikler',
     'Log'  => 'Log',
     'Services'  => 'Servisler',
-	'Firewall' => 'Güvenlik Duvarı',
+    'Firewall' => 'Güvenlik Duvarı',
     'Updates'  => 'Güncellemeler',
     'Log in'  => 'Oturum aç',
     'Log out'  => 'Oturumu kapat',
@@ -150,8 +150,9 @@ $LANG['tr'] = array(
     'Databases'  => 'Veritabanı',
     'User Directories'  => 'Kullanıcı Dizinleri',
     'Template'  => 'Şablon',
-    'Web Template'  => 'Apache Şablonu',
-    'Proxy Template'  => 'Nginx Şablonu',
+    'Web Template'  => 'Web Şablonu',
+    'Backend Template'  => 'Backend Şablonu',
+    'Proxy Template' =>'Proxy Şablonu',
     'DNS Template'  => 'DNS Şablonu',
     'Web Domains'  => 'Web Alan Adları',
     'SSL Domains'  => 'SSL Domainleri',
@@ -172,8 +173,8 @@ $LANG['tr'] = array(
     'template'  => 'template',
     'SSL Support'  => 'SSL Support',
     'SSL Home Directory'  => 'SSL Home',
-    'Proxy Support'  => 'Nginx Desteği',
-    'Proxy Extensions'  => 'Nginx Uzantıları',
+    'Proxy Support'  => 'Proxy Desteği',
+    'Proxy Extensions'  => 'Proxy Uzantıları',
     'Web Statistics'  => 'Web İstatistikleri',
     'Additional FTP Account'  => 'İlave FTP Hesabı',
     'SOA'  => 'SOA',

+ 4 - 3
web/inc/i18n/tw.php

@@ -151,7 +151,8 @@ $LANG['tw'] = array(
     'User Directories'  => '使用者目錄',
     'Template'  => '方案',
     'Web Template'  => '網頁方案',
-    'Proxy Template'  => 'Nginx 方案',
+    'Backend Template'  => 'Backend 方案',
+    'Proxy Template' =>'Proxy 方案',
     'DNS Template'  => 'DNS 方案',
     'Web Domains'  => '網頁網域',
     'SSL Domains'  => 'SSL 網域',
@@ -172,8 +173,8 @@ $LANG['tw'] = array(
     'template'  => '方案',
     'SSL Support'  => 'SSL 功能',
     'SSL Home Directory'  => 'SSL 家目錄',
-    'Proxy Support'  => 'Nginx 功能',
-    'Proxy Extensions'  => 'Nginx 額外',
+    'Proxy Support'  => 'Proxy 功能',
+    'Proxy Extensions'  => 'Proxy 額外',
     'Web Statistics'  => '網頁狀態',
     'Additional FTP Account'  => '其他的 FTP',
     'SOA'  => 'SOA',

+ 6 - 5
web/inc/i18n/ua.php

@@ -152,8 +152,9 @@ $LANG['ua'] = array(
     'Databases' => 'Бази даних',
     'User Directories' => 'Теки користувача',
     'Template' => 'Шаблон',
-    'Web Template' => 'Шаблон Apache',
-    'Proxy Template' => 'Шаблон Nginx',
+    'Web Template' => 'Шаблон Web',
+    'Backend Template' => 'Шаблон Backend',
+    'Proxy Template' => 'Шаблон Proxy',
     'DNS Template' => 'Шаблон DNS',
     'Web Domains' => 'Web домени',
     'SSL Domains' => 'SSL домени',
@@ -174,8 +175,8 @@ $LANG['ua'] = array(
     'template' => 'шаблон',
     'SSL Support' => 'Підтримка SSL',
     'SSL Home Directory' => 'Домашня тека SSL',
-    'Proxy Support' => 'Підтримка Nginx',
-    'Proxy Extensions' => 'Розширення Nginx',
+    'Proxy Support' => 'Підтримка Proxy',
+    'Proxy Extensions' => 'Розширення Proxy',
     'Web Statistics' => 'Веб статистика',
     'Additional FTP Account' => 'Додатковий FTP акаунт',
     'SOA' => 'SOA',
@@ -213,7 +214,7 @@ $LANG['ua'] = array(
     'Load Average' => 'Загальне Навантаження',
     'Memory Usage' => 'Використання Пам\'яті',
     'HTTPD Usage' => 'Використання HTTPd',
-    'NGINX Usage' => 'Використання Nginx',
+    'NGINX Usage' => 'Використання Proxy',
     'MySQL Usage on localhost' => 'Локальний сервер бази даних MySQL',
     'PostgreSQL Usage on localhost' => 'Локальний сервер бази даних PostgreSQL',
     'Bandwidth Usage eth0' => 'Використання мережі eth0',

+ 4 - 4
web/inc/main.php

@@ -165,17 +165,17 @@ function humanize_usage($usage) {
                 if ( $usage > 1024 ) {
                     $usage = $usage / 1024 ;
                     $usage = number_format($usage, 2);
-                    $usage = $usage."".__('pb');
+                    $usage = $usage." ".__('pb');
                 } else {
                     $usage = number_format($usage, 2);
-                    $usage = $usage."".__('tb');
+                    $usage = $usage." ".__('tb');
                 }
         } else {
             $usage = number_format($usage, 2);
-            $usage = $usage."".__('gb');
+            $usage = $usage." ".__('gb');
         }
     } else {
-        $usage = $usage."".__('mb');
+        $usage = $usage." ".__('mb');
     }
     return $usage;
 }

+ 28 - 3
web/templates/admin/add_package.html

@@ -46,7 +46,7 @@
                             </tr>
                             <tr>
                                 <td class="vst-text input-label">
-                                    <?php print __('Web Template');?>
+                                    <?php print __('Web Template') . " <span style='color:#777;'>/ " .strtoupper($_SESSION['WEB_SYSTEM']) . "</span>";?>
                                 </td>
                             </tr>
                             <tr>
@@ -67,10 +67,35 @@
                                     </select>
                                 </td>
                             </tr>
+                            <?php if (!empty($_SESSION['WEB_BACKEND'])) { echo ""; ?> 
+                            <tr>
+                                <td class="vst-text input-label">
+                                    <?php print __('Backend Template') . " <span style='color:#777;'>/ " .strtoupper($_SESSION['WEB_BACKEND']) . "</span>";?>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td>
+                                    <select class="vst-list" name="v_backend_template">
+                                        <?php
+                                            foreach ($backend_templates as $key => $value) {
+                                                echo "\t\t\t\t<option value=\"".$value."\"";
+                                                if ((!empty($v_backend_template)) && ( $value == $v_backend_template)){
+                                                    echo 'selected' ;
+                                                }
+                                                if ((!empty($v_backend_template)) && ( $value == $_POST['v_backend_template'])){
+                                                    echo 'selected' ;
+                                                }
+                                                echo ">".$value."</option>\n";
+                                            }
+                                        ?> 
+                                    </select>
+                                </td>
+                            </tr>
+                            <?php echo ""; }?> 
                             <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { echo ""; ?> 
                             <tr>
                                 <td class="vst-text input-label">
-                                    <?php print __('Proxy Template');?>
+                                    <?php print __('Proxy Template')  . " <span style='color:#777;'> / " .strtoupper($_SESSION['PROXY_SYSTEM']) . "</span>";?>
                                 </td>
                             </tr>
                             <tr>
@@ -94,7 +119,7 @@
                             <?php echo ""; }?> 
                             <tr>
                                 <td class="vst-text input-label">
-                                    <?php print __('DNS Template');?>
+                                    <?php print __('DNS Template') . " <span style='color:#777;'>/ " .strtoupper($_SESSION['DNS_SYSTEM']) . "</span>";?>
                                 </td>
                             </tr>
                             <tr>

+ 1 - 1
web/templates/admin/add_web.html

@@ -136,7 +136,7 @@
                         <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { echo ""; ?> 
                         <tr>
                             <td class="vst-text step-top" >
-                                <label><input type="checkbox" size="20" class="vst-checkbox" name="v_proxy" <?php if ($v_proxy !== 'off') echo "checked=yes" ?> onclick="javascript:elementHideShow('proxytable');"> <?php print __('Proxy Support');?></label>
+                                <label><input type="checkbox" size="20" class="vst-checkbox" name="v_proxy" <?php if ($v_proxy !== 'off') echo "checked=yes" ?> onclick="javascript:elementHideShow('proxytable');"> <?php print __('Proxy Support')  . " <span style='color:#777;'> / " .strtoupper($_SESSION['PROXY_SYSTEM']) . "</span>";?></label>
                             </td>
                         </tr>
                         <tr>

+ 28 - 3
web/templates/admin/edit_package.html

@@ -52,7 +52,7 @@
                             </tr>
                             <tr>
                                 <td class="vst-text input-label">
-                                    <?php print __('Web Template');?>
+                                    <?php print __('Web Template')  . " <span style='color:#777;'> / " .strtoupper($_SESSION['WEB_SYSTEM']) . "</span>";?>
                                 </td>
                             </tr>
                             <tr>
@@ -73,10 +73,35 @@
                                     </select>
                                 </td>
                             </tr>
+                            <?php if (!empty($_SESSION['WEB_BACKEND'])) { echo ""; ?> 
+                            <tr>
+                                <td class="vst-text input-label">
+                                    <?php print __('Backend Template')  . " <span style='color:#777;'> / " .strtoupper($_SESSION['WEB_BACKEND']) . "</span>";?>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td>
+                                    <select class="vst-list" name="v_backend_template">
+                                        <?php
+                                            foreach ($backend_templates as $key => $value) {
+                                                echo "\t\t\t\t<option value=\"".$value."\"";
+                                                if ((!empty($v_backend_template)) && ( $value == $v_backend_template)){
+                                                    echo ' selected' ;
+                                                }
+                                                if ((!empty($v_backend_template)) && ( $value == $_POST['v_backend_template'])){
+                                                    echo ' selected' ;
+                                                }
+                                                echo ">".$value."</option>\n";
+                                            }
+                                        ?> 
+                                    </select>
+                                </td>
+                            </tr>
+                            <?php echo ""; }?> 
                             <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { echo ""; ?> 
                             <tr>
                                 <td class="vst-text input-label">
-                                    <?php print __('Proxy Template');?>
+                                    <?php print __('Proxy Template')  . " <span style='color:#777;'> / " .strtoupper($_SESSION['PROXY_SYSTEM']) . "</span>";?>
                                 </td>
                             </tr>
                             <tr>
@@ -100,7 +125,7 @@
                             <?php echo ""; }?> 
                             <tr>
                                 <td class="vst-text input-label">
-                                    <?php print __('DNS Template');?>
+                                    <?php print __('DNS Template')  . " <span style='color:#777;'> / " .strtoupper($_SESSION['DNS_SYSTEM']) . "</span>";?>
                                 </td>
                             </tr>
                             <tr>

+ 29 - 2
web/templates/admin/edit_web.html

@@ -121,7 +121,7 @@
                             </tr>
                             <tr>
                                 <td class="vst-text input-label">
-                                    <?php print __('Web Template');?>
+                                    <?php print __('Web Template')  . " <span style='color:#777;'> / " .strtoupper($_SESSION['WEB_SYSTEM']) . "</span>";?>
                                 </td>
                             </tr>
                             <tr>
@@ -140,10 +140,37 @@
                                     </select>
                                 </td>
                             </tr>
+                            <?php if (!empty($_SESSION['WEB_BACKEND'])) { echo ""; ?> 
+                            <tr>
+                                <td class="vst-text input-label">
+                                    <?php print __('Backend Template') . " <span style='color:#777;'> / " .strtoupper($_SESSION['WEB_BACKEND']) . "</span>";?>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td>
+                                    <select class="vst-list" name="v_backend_template">
+                                        <?php
+                                            foreach ($backend_templates as $key => $value) {
+                                                echo "\t\t\t\t<option value=\"".$value."\"";
+                                                $svalue = "'".$value."'";
+                                                if ((!empty($v_backend_template)) && ( $value == $v_backend_template ) || ($svalue == $v_backend_template)){
+                                                    echo ' selected' ;
+                                                }
+                                                if ((empty($v_backend_template)) && ($value == 'default')){
+                                                    echo ' selected' ;
+                                                }
+                                                echo ">".$value."</option>\n";
+                                            }
+                                        ?> 
+                                    </select>
+                                </td>
+                            </tr>
+                            <?php echo ""; }?> 
+
                             <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { echo ""; ?> 
                             <tr>
                                 <td class="vst-text step-top">
-                                    <label><input type="checkbox" size="20" class="vst-checkbox" name="v_proxy" <?php if (!empty($v_proxy)) echo "checked=yes" ?> onclick="javascript:elementHideShow('proxytable');"> <?php print __('Proxy Support');?></label>
+                                    <label><input type="checkbox" size="20" class="vst-checkbox" name="v_proxy" <?php if (!empty($v_proxy)) echo "checked=yes" ?> onclick="javascript:elementHideShow('proxytable');"> <?php print __('Proxy Support')  . " <span style='color:#777;'> / " .strtoupper($_SESSION['PROXY_SYSTEM']) . "</span>";?></label>
                                 </td>
                             </tr>
                             <tr>

+ 6 - 0
web/templates/admin/list_packages.html

@@ -71,6 +71,12 @@
                                             <td class="counter-name"><?php print __('Web Template');?>:</td>
                                             <td class="counter-value"><?php print __($data[$key]['WEB_TEMPLATE'])?></td>
                                         </tr>
+                                        <?php if (!empty($_SESSION['WEB_BACKEND'])) { echo ""; ?> 
+                                        <tr>
+                                            <td class="counter-name"><?php print __('Backend Template');?>:</td>
+                                            <td class="counter-value"><?php print __($data[$key]['BACKEND_TEMPLATE']);?></td>
+                                        </tr>
+                                        <?php echo ""; }?> 
                                         <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { echo ""; ?> 
                                         <tr>
                                             <td class="counter-name"><?php print __('Proxy Template');?>:</td>

+ 6 - 0
web/templates/admin/list_web.html

@@ -193,6 +193,12 @@
                                 <td rowspan=4 style="vertical-align:top;">
                                     <table>
                                         <tr><td>&nbsp;</td><td></td></tr>
+                                        <?php if (!empty($_SESSION['WEB_BACKEND'])) { echo ""; ?> 
+                                        <tr>
+                                            <td class="counter-name"><?php print __('Backend Template');?>:</td>
+                                            <td class="counter-value"><?php echo $data[$key]['BACKEND'];?></td>
+                                        </tr>
+                                        <?php echo ""; }?> 
                                         <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { echo ""; ?> 
                                         <tr>
                                             <td class="counter-name"><?php print __('Proxy Support');?>:</td>

+ 1 - 1
web/templates/user/edit_web.html

@@ -121,7 +121,7 @@
                             <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { echo ""; ?> 
                             <tr>
                                 <td class="vst-text step-top">
-                                    <label><input type="checkbox" size="20" class="vst-checkbox" name="v_proxy" <?php if (!empty($v_proxy)) echo "checked=yes" ?> onclick="javascript:elementHideShow('proxytable');"> <?php print __('Proxy Support');?></label>
+                                    <label><input type="checkbox" size="20" class="vst-checkbox" name="v_proxy" <?php if (!empty($v_proxy)) echo "checked=yes" ?> onclick="javascript:elementHideShow('proxytable');"> <?php print __('Proxy Support')  . " <span style='color:#777;'> / " .strtoupper($_SESSION['PROXY_SYSTEM']) . "</span>";?></label>
                                 </td>
                             </tr>
                             <tr>

+ 6 - 0
web/templates/user/list_web.html

@@ -171,6 +171,12 @@
                                 <td rowspan=4 style="vertical-align:top;">
                                     <table>
                                         <tr><td>&nbsp;</td><td></td></tr>
+                                        <?php if (!empty($_SESSION['WEB_BACKEND'])) { echo ""; ?> 
+                                        <tr>
+                                            <td class="counter-name"><?php print __('Backend Template');?>:</td>
+                                            <td class="counter-value"><?php echo $data[$key]['BACKEND'];?></td>
+                                        </tr>
+                                        <?php echo ""; }?> 
                                         <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { echo ""; ?> 
                                         <tr>
                                             <td class="counter-name"><?php print __('Proxy Support');?>:</td>