Serghey Rodin 13 лет назад
Родитель
Сommit
d218e55de5
33 измененных файлов с 11 добавлено и 1044 удалено
  1. 0 3
      data/templates/apache_default.descr
  2. 0 49
      data/templates/apache_default.stpl
  3. 0 43
      data/templates/apache_default.tpl
  4. 0 3
      data/templates/apache_phpcgi.descr
  5. 0 16
      data/templates/apache_phpcgi.sh
  6. 0 35
      data/templates/apache_phpcgi.stpl
  7. 0 27
      data/templates/apache_phpcgi.tpl
  8. 0 3
      data/templates/apache_phpfcgid.descr
  9. 0 22
      data/templates/apache_phpfcgid.sh
  10. 0 35
      data/templates/apache_phpfcgid.stpl
  11. 0 27
      data/templates/apache_phpfcgid.tpl
  12. 0 2
      data/templates/apache_unlim.descr
  13. 0 50
      data/templates/apache_unlim.stpl
  14. 0 44
      data/templates/apache_unlim.tpl
  15. 0 133
      data/templates/awstats.tpl
  16. 0 10
      data/templates/awstats_index.tpl
  17. 0 23
      data/templates/awstats_nav.tpl
  18. 0 25
      data/templates/email_reset_password.tpl
  19. 0 9
      data/templates/ngingx_ip.tpl
  20. 0 2
      data/templates/ngingx_vhost_default.descr
  21. 0 36
      data/templates/ngingx_vhost_default.stpl
  22. 0 33
      data/templates/ngingx_vhost_default.tpl
  23. 0 29
      data/templates/skel/document_errors/403.html
  24. 0 28
      data/templates/skel/document_errors/404.html
  25. 0 29
      data/templates/skel/document_errors/50x.html
  26. 0 29
      data/templates/skel/public_html/index.html
  27. 0 3
      data/templates/skel/public_html/robots.txt
  28. 0 29
      data/templates/skel/public_shtml/index.html
  29. 0 3
      data/templates/skel/public_shtml/robots.txt
  30. 0 110
      data/templates/webalizer.tpl
  31. 0 149
      func/cron.func
  32. 8 2
      func/domain.sh
  33. 3 3
      web/templates/admin/edit_web.html

+ 0 - 3
data/templates/apache_default.descr

@@ -1,3 +0,0 @@
-# Default template with basic php module restrictions.
-# Best performance. Not recomended for shared hosting.
-PHP='module' CGI='yes' ELOG='no'

+ 0 - 49
data/templates/apache_default.stpl

@@ -1,49 +0,0 @@
-<VirtualHost %ip%:%web_ssl_port%>
-
-    ServerName %domain_idn%
-    %alias_string%
-    ServerAdmin %email%
-    %docroot_string%
-    %cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
-    Alias /vstats/ %home%/%user%/web/%domain%/stats/
-    Alias /error/ %home%/%user%/web/%domain%/document_errors/
-    SuexecUserGroup %user% %group%
-    CustomLog /var/log/httpd/domains/%domain%.bytes bytes
-    CustomLog /var/log/httpd/domains/%domain%.log combined
-    %elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
-    <Directory %docroot%>
-        AllowOverride AuthConfig FileInfo Indexes Limit
-        SSLRequireSSL
-        Options +Includes -Indexes %cgi_option%
-        php_admin_value upload_tmp_dir %home%/%user%/tmp
-        php_admin_value upload_max_filesize 10M
-        php_admin_value max_execution_time 20
-        php_admin_value post_max_size  8M
-        php_admin_value memory_limit 32M
-        php_admin_flag mysql.allow_persistent  off
-        php_admin_flag safe_mode off
-        php_admin_value session.save_path %home%/%user%/tmp
-        php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
-    </Directory>
-    <Directory %home%/%user%/web/%domain%/stats>
-        AllowOverride All
-    </Directory>
-    php_admin_value open_basedir %home%/%user%/web:%home%/%user%/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp
-    SSLEngine on
-    SSLVerifyClient none
-    SSLCertificateFile %ssl_crt%
-    SSLCertificateKeyFile %ssl_key%
-    %ssl_ca_str%SSLCertificateChainFile %ssl_ca%
-    <IfModule mod_ruid2.c>
-        RMode config
-        RUidGid %user% %group%
-        RGroups apache
-    </IfModule>
-    <IfModule itk.c>
-        AssignUserID %user% %group%
-    </IfModule>
-
-    Include %home%/%user%/conf/shttpd.%domain%.conf*
-
-</VirtualHost>
-

+ 0 - 43
data/templates/apache_default.tpl

@@ -1,43 +0,0 @@
-<VirtualHost %ip%:%web_port%>
-
-    ServerName %domain_idn%
-    %alias_string%
-    ServerAdmin %email%
-    %docroot_string%
-    %cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
-    Alias /vstats/ %home%/%user%/web/%domain%/stats/
-    Alias /error/ %home%/%user%/web/%domain%/document_errors/
-    SuexecUserGroup %user% %group%
-    CustomLog /var/log/httpd/domains/%domain%.bytes bytes
-    CustomLog /var/log/httpd/domains/%domain%.log combined
-    %elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
-    <Directory %docroot%>
-        AllowOverride AuthConfig FileInfo Indexes Limit
-        Options +Includes -Indexes %cgi_option%
-        php_admin_value upload_tmp_dir %home%/%user%/tmp
-        php_admin_value upload_max_filesize 10M
-        php_admin_value max_execution_time 20
-        php_admin_value post_max_size  8M
-        php_admin_value memory_limit 32M
-        php_admin_flag mysql.allow_persistent  off
-        php_admin_flag safe_mode off
-        php_admin_value session.save_path %home%/%user%/tmp
-        php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
-    </Directory>
-    <Directory %home%/%user%/web/%domain%/stats>
-        AllowOverride All
-    </Directory>
-    php_admin_value open_basedir %home%/%user%/web:%home%/%user%/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp
-    <IfModule mod_ruid2.c>
-        RMode config
-        RUidGid %user% %group%
-        RGroups apache
-    </IfModule>
-    <IfModule itk.c>
-        AssignUserID %user% %group%
-    </IfModule>
-
-    Include %home%/%user%/conf/httpd.%domain%.conf*
-
-</VirtualHost>
-

+ 0 - 3
data/templates/apache_phpcgi.descr

@@ -1,3 +0,0 @@
-# Template with php as cgi for better security.
-# (it uses post instal script)
-PHP='cgi' CGI='yes' ELOG='no'

+ 0 - 16
data/templates/apache_phpcgi.sh

@@ -1,16 +0,0 @@
-#!/bin/bash
-# Adding php wrapper
-user="$1"
-domain="$2"
-ip="$3"
-home_dir="$4"
-docroot="$5"
-
-wrapper_script='#!/usr/bin/php-cgi -cphp5-cgi.ini'
-wrapper_file="$home_dir/$user/web/$domain/cgi-bin/php"
-
-echo "$wrapper_script" > $wrapper_file
-chown $user:$user $wrapper_file
-chmod -f 751 $wrapper_file
-
-exit 0

+ 0 - 35
data/templates/apache_phpcgi.stpl

@@ -1,35 +0,0 @@
-<VirtualHost %ip%:%web_ssl_port%>
-
-    ServerName %domain_idn%
-    %alias_string%
-    ServerAdmin %email%
-    %docroot_string%
-    %cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
-    Alias /vstats/ %home%/%user%/web/%domain%/stats/
-    Alias /error/ %home%/%user%/web/%domain%/document_errors/
-    SuexecUserGroup %user% %group%
-    CustomLog /var/log/httpd/domains/%domain%.bytes bytes
-    CustomLog /var/log/httpd/domains/%domain%.log combined
-    %elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
-    <Directory %docroot%>
-        AllowOverride AuthConfig FileInfo Indexes Limit
-        SSLRequireSSL
-        Options +Includes -Indexes %cgi_option%
-        php_admin_flag engine off
-        Action phpcgi-script /cgi-bin/php
-        AddHandler phpcgi-script .php
-    </Directory>
-    <Directory %home%/%user%/web/%domain%/stats>
-        AllowOverride All
-    </Directory>
-    php_admin_value open_basedir %home%/%user%/web:%home%/%user%/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp
-    SSLEngine on
-    SSLVerifyClient none
-    SSLCertificateFile %ssl_crt%
-    SSLCertificateKeyFile %ssl_key%
-    %ssl_ca_str%SSLCertificateChainFile %ssl_ca%
-
-    Include %home%/%user%/conf/shttpd.%domain%.conf*
-
-</VirtualHost>
-

+ 0 - 27
data/templates/apache_phpcgi.tpl

@@ -1,27 +0,0 @@
-<VirtualHost %ip%:%web_port%>
-
-    ServerName %domain_idn%
-    %alias_string%
-    ServerAdmin %email%
-    %docroot_string%
-    %cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
-    Alias /vstats/ %home%/%user%/web/%domain%/stats/
-    Alias /error/ %home%/%user%/web/%domain%/document_errors/
-    SuexecUserGroup %user% %group%
-    CustomLog /var/log/httpd/domains/%domain%.bytes bytes
-    CustomLog /var/log/httpd/domains/%domain%.log combined
-    %elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
-    <Directory %docroot%>
-        AllowOverride AuthConfig FileInfo Indexes Limit
-        Options +Includes -Indexes %cgi_option%
-        php_admin_flag engine off
-        Action phpcgi-script /cgi-bin/php
-        AddHandler phpcgi-script .php
-    </Directory>
-    <Directory %home%/%user%/web/%domain%/stats>
-        AllowOverride All
-    </Directory>
-    Include %home%/%user%/conf/httpd.%domain%.conf*
-
-</VirtualHost>
-

+ 0 - 3
data/templates/apache_phpfcgid.descr

@@ -1,3 +0,0 @@
-# Template with php as FastCGI for best performance and security.
-# (it uses post instal script)
-PHP='fcgid' CGI='yes' ELOG='no'

+ 0 - 22
data/templates/apache_phpfcgid.sh

@@ -1,22 +0,0 @@
-#!/bin/bash
-# Adding php wrapper
-user="$1"
-domain="$2"
-ip="$3"
-home_dir="$4"
-docroot="$5"
-
-wrapper_script="#!/bin/sh
-PHPRC=/etc/
-export PHPRC
-export PHP_FCGI_MAX_REQUESTS=1000
-export PHP_FCGI_CHILDREN=8
-exec /usr/bin/php-cgi
-"
-wrapper_file="$home_dir/$user/web/$domain/cgi-bin/fcgi-starter"
-
-echo "$wrapper_script" > $wrapper_file
-chown $user:$user $wrapper_file
-chmod -f 751 $wrapper_file
-
-exit 0

+ 0 - 35
data/templates/apache_phpfcgid.stpl

@@ -1,35 +0,0 @@
-<VirtualHost %ip%:%web_ssl_port%>
-
-    ServerName %domain_idn%
-    %alias_string%
-    ServerAdmin %email%
-    %docroot_string%
-    %cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
-    Alias /vstats/ %home%/%user%/web/%domain%/stats/
-    Alias /error/ %home%/%user%/web/%domain%/document_errors/
-    SuexecUserGroup %user% %group%
-    CustomLog /var/log/httpd/domains/%domain%.bytes bytes
-    CustomLog /var/log/httpd/domains/%domain%.log combined
-    %elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
-    <Directory %docroot%>
-        AllowOverride AuthConfig FileInfo Indexes Limit
-        SSLRequireSSL
-        Options +Includes -Indexes %cgi_option%
-        php_admin_flag engine off
-        AddHandler fcgid-script .php
-        FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
-    </Directory>
-    <Directory %home%/%user%/web/%domain%/stats>
-        AllowOverride All
-    </Directory>
-    php_admin_value open_basedir %home%/%user%/web:%home%/%user%/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp
-    SSLEngine on
-    SSLVerifyClient none
-    SSLCertificateFile %ssl_crt%
-    SSLCertificateKeyFile %ssl_key%
-    %ssl_ca_str%SSLCertificateChainFile %ssl_ca%
-
-    Include %home%/%user%/conf/shttpd.%domain%.conf*
-
-</VirtualHost>
-

+ 0 - 27
data/templates/apache_phpfcgid.tpl

@@ -1,27 +0,0 @@
-<VirtualHost %ip%:%web_port%>
-
-    ServerName %domain_idn%
-    %alias_string%
-    ServerAdmin %email%
-    %docroot_string%
-    %cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
-    Alias /vstats/ %home%/%user%/web/%domain%/stats/
-    Alias /error/ %home%/%user%/web/%domain%/document_errors/
-    SuexecUserGroup %user% %group%
-    CustomLog /var/log/httpd/domains/%domain%.bytes bytes
-    CustomLog /var/log/httpd/domains/%domain%.log combined
-    %elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
-    <Directory %docroot%>
-        AllowOverride AuthConfig FileInfo Indexes Limit
-        Options +Includes -Indexes %cgi_option%
-        php_admin_flag engine off
-        AddHandler fcgid-script .php
-        FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
-    </Directory>
-    <Directory %home%/%user%/web/%domain%/stats>
-        AllowOverride All
-    </Directory>
-    Include %home%/%user%/conf/httpd.%domain%.conf*
-
-</VirtualHost>
-

+ 0 - 2
data/templates/apache_unlim.descr

@@ -1,2 +0,0 @@
-# Almost unlimited php options and vhost configuration.
-PHP='module' CGI='yes' ELOG='yes'

+ 0 - 50
data/templates/apache_unlim.stpl

@@ -1,50 +0,0 @@
-<VirtualHost %ip%:%web_ssl_port%>
-
-    ServerName %domain_idn%
-    %alias_string%
-    ServerAdmin %email%
-    %docroot_string%
-    %cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
-    Alias /vstats/ %home%/%user%/web/%domain%/stats/
-    Alias /error/ %home%/%user%/web/%domain%/document_errors/
-    SuexecUserGroup %user% %group%
-    CustomLog /var/log/httpd/domains/%domain%.bytes bytes
-    CustomLog /var/log/httpd/domains/%domain%.log combined
-    %elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
-    <Directory %docroot%>
-        AllowOverride All
-        SSLRequireSSL
-        Options +Includes -Indexes %cgi_option%
-        php_admin_value upload_tmp_dir %home%/%user%/tmp
-        php_admin_value upload_max_filesize 60M
-        php_admin_value max_execution_time 60
-        php_admin_value post_max_size  60M
-        php_admin_value memory_limit 60M
-        php_admin_flag mysql.allow_persistent  off
-        php_admin_flag safe_mode off
-        php_admin_value session.save_path %home%/%user%/tmp
-        php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
-    </Directory>
-    <Directory %home%/%user%/web/%domain%/stats>
-        AllowOverride All
-    </Directory>
-    php_admin_value open_basedir none
-    SSLEngine on
-    SSLVerifyClient none
-    SSLCertificateFile %ssl_crt%
-    SSLCertificateKeyFile %ssl_key%
-    %ssl_ca_str%SSLCertificateChainFile %ssl_ca%
-
-    <IfModule mod_ruid2.c>
-        RMode config
-        RUidGid %user% %group%
-        RGroups apache
-    </IfModule>
-    <IfModule itk.c>
-        AssignUserID %user% %group%
-    </IfModule>
-
-    Include %home%/%user%/conf/shttpd.%domain%.conf*
-
-</VirtualHost>
-

+ 0 - 44
data/templates/apache_unlim.tpl

@@ -1,44 +0,0 @@
-<VirtualHost %ip%:%web_port%>
-
-    ServerName %domain_idn%
-    %alias_string%
-    ServerAdmin %email%
-    %docroot_string%
-    %cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
-    Alias /vstats/ %home%/%user%/web/%domain%/stats/
-    Alias /error/ %home%/%user%/web/%domain%/document_errors/
-    SuexecUserGroup %user% %group%
-    CustomLog /var/log/httpd/domains/%domain%.bytes bytes
-    CustomLog /var/log/httpd/domains/%domain%.log combined
-    %elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
-    <Directory %docroot%>
-        AllowOverride All
-        Options +Includes -Indexes %cgi_option%
-        php_admin_value upload_tmp_dir %home%/%user%/tmp
-        php_admin_value upload_max_filesize 60M
-        php_admin_value max_execution_time 60
-        php_admin_value post_max_size  60M
-        php_admin_value memory_limit 60M
-        php_admin_flag mysql.allow_persistent  off
-        php_admin_flag safe_mode off
-        php_admin_value session.save_path %home%/%user%/tmp
-        php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
-    </Directory>
-    <Directory %home%/%user%/web/%domain%/stats>
-        AllowOverride All
-    </Directory>
-    php_admin_value open_basedir none
-
-    <IfModule mod_ruid2.c>
-        RMode config
-        RUidGid %user% %group%
-        RGroups apache
-    </IfModule>
-    <IfModule itk.c>
-        AssignUserID %user% %group%
-    </IfModule>
-
-    Include %home%/%user%/conf/httpd.%domain%.conf*
-
-</VirtualHost>
-

+ 0 - 133
data/templates/awstats.tpl

@@ -1,133 +0,0 @@
-LogFile="/var/log/httpd/domains/%domain%.log"
-LogType=W
-LogFormat=1
-LogSeparator=" "
-SiteDomain="%domain_idn%"
-HostAliases="%alias_idn%"
-DirData="%home%/%user%/web/%domain%/stats"
-DirCgi="/stats"
-DirIcons="/stats/icon"
-AllowToUpdateStatsFromBrowser=0
-AllowFullYearView=2
-EnableLockForUpdate=1
-DNSStaticCacheFile="dnscache.txt"
-DNSLastUpdateCacheFile="dnscachelastupdate.txt"
-SkipDNSLookupFor=""
-AllowAccessFromWebToAuthenticatedUsersOnly=0
-AllowAccessFromWebToFollowingAuthenticatedUsers=""
-AllowAccessFromWebToFollowingIPAddresses=""
-CreateDirDataIfNotExists=0
-BuildHistoryFormat=text
-BuildReportFormat=html
-SaveDatabaseFilesWithPermissionsForEveryone=0
-PurgeLogFile=0
-ArchiveLogRecords=0
-KeepBackupOfHistoricFiles=1
-DefaultFile="index.php index.html"
-SkipHosts="127.0.0.1
-SkipUserAgents=""
-SkipFiles=""
-SkipReferrersBlackList=""
-OnlyHosts=""
-OnlyUserAgents=""
-OnlyUsers=""
-OnlyFiles=""
-NotPageList="css js class gif jpg jpeg png bmp ico rss xml swf"
-ValidHTTPCodes="200 304"
-ValidSMTPCodes="1 250"
-AuthenticatedUsersNotCaseSensitive=0
-URLNotCaseSensitive=0
-URLWithAnchor=0
-URLQuerySeparators="?;"
-URLWithQuery=0
-URLWithQueryWithOnlyFollowingParameters=""
-URLWithQueryWithoutFollowingParameters=""
-URLReferrerWithQuery=0
-WarningMessages=1
-ErrorMessages=""
-DebugMessages=0
-NbOfLinesForCorruptedLog=50
-WrapperScript=""
-DecodeUA=0
-MiscTrackerUrl="/js/awstats_misc_tracker.js"
-UseFramesWhenCGI=1
-DetailedReportsOnNewWindows=1
-Expires=3600
-MaxRowsInHTMLOutput=1000
-Lang="auto"
-DirLang="./lang"
-ShowMenu=1
-ShowSummary=UVPHB
-ShowMonthStats=UVPHB
-ShowDaysOfMonthStats=VPHB
-ShowDaysOfWeekStats=PHB
-ShowHoursStats=PHB
-ShowDomainsStats=PHB
-ShowHostsStats=PHBL
-ShowAuthenticatedUsers=0
-ShowRobotsStats=HBL
-ShowWormsStats=0
-ShowEMailSenders=0
-ShowEMailReceivers=0
-ShowSessionsStats=1
-ShowPagesStats=PBEX
-ShowFileTypesStats=HB
-ShowFileSizesStats=0
-ShowDownloadsStats=HB
-ShowOSStats=1
-ShowBrowsersStats=1
-ShowScreenSizeStats=0
-ShowOriginStats=PH
-ShowKeyphrasesStats=1
-ShowKeywordsStats=1
-ShowMiscStats=a
-ShowHTTPErrorsStats=1
-ShowSMTPErrorsStats=0
-ShowClusterStats=0
-AddDataArrayMonthStats=1
-AddDataArrayShowDaysOfMonthStats=1
-AddDataArrayShowDaysOfWeekStats=1
-AddDataArrayShowHoursStats=1
-IncludeInternalLinksInOriginSection=0
-MaxNbOfDomain = 10
-MinHitDomain  = 1
-MaxNbOfHostsShown = 10
-MinHitHost    = 1
-MaxNbOfLoginShown = 10
-MinHitLogin   = 1
-MaxNbOfRobotShown = 10
-MinHitRobot   = 1
-MaxNbOfDownloadsShown = 10
-MinHitDownloads = 1
-MaxNbOfPageShown = 10
-MinHitFile    = 1
-MaxNbOfOsShown = 10
-MinHitOs      = 1
-MaxNbOfBrowsersShown = 10
-MinHitBrowser = 1
-MaxNbOfScreenSizesShown = 5
-MinHitScreenSize = 1
-MaxNbOfWindowSizesShown = 5
-MinHitWindowSize = 1
-MaxNbOfRefererShown = 10
-MinHitRefer   = 1
-MaxNbOfKeyphrasesShown = 10
-MinHitKeyphrase = 1
-MaxNbOfKeywordsShown = 10
-MinHitKeyword = 1
-MaxNbOfEMailsShown = 20
-MinHitEMail   = 1
-FirstDayOfWeek=0
-ShowFlagLinks=""
-ShowLinksOnUrl=1
-UseHTTPSLinkForUrl=""
-MaxLengthOfShownURL=64
-HTMLHeadSection=""
-HTMLEndSection=""
-MetaRobot=0
-Logo="awstats_logo6.png"
-LogoLink="http://awstats.sourceforge.net"
-BarWidth   = 260
-BarHeight  = 90
-StyleSheet=""
-ExtraTrackedRowsLimit=500

+ 0 - 10
data/templates/awstats_index.tpl

@@ -1,10 +0,0 @@
-<html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>Awstats log analyzer </title>
-</head>
-<frameset rows="48,*" cols="*">
-    <frame src="nav.html" name="nav" scrolling="no" noresize>
-    <frame src="%month%/index.html" name="stats">
-</frameset>
-</html>

+ 0 - 23
data/templates/awstats_nav.tpl

@@ -1,23 +0,0 @@
-<html>
-<head>
-    <title>Awstats navigation</title>
-    <script language="javascript">
-        function change() {
-            top.stats.location= document.period.select.value + '/';
-        }
-    </script>
-</head>
-<body>
-<table width="100%" border="0" cellspacing="0" cellpadding="0">
-<tr>
-    <td><img src="http://vestacp.com/i/logo.png" alt="vesta"></td>
-    <td><form name="period" action="" method="get">
-        <select name="select" ONCHANGE="change()">
-%select_month%
-        </select>
-    </form>
-    </td>
-</tr>
-</table>
-</body>
-</html>

+ 0 - 25
data/templates/email_reset_password.tpl

@@ -1,25 +0,0 @@
-<div lang="en" style="background-color:#fff;color:#222">  
-<a target="_blank" href="" style="color:#FFF">
-    <img width="81" height="22" style="display:block;border:0" src="http://vestacp.com/i/logo.png" alt="Twitter">
-</a>  
-<div style="font-family:'Helvetica Neue', Arial, Helvetica, sans-serif;font-size:13px;margin:14px">
-<h2 style="font-family:'Helvetica Neue', Arial, Helvetica, sans-serif;margin:0 0 16px;font-size:18px;font-weight:normal">
-    Vesta received a request to reset the password for your account %FIRSTNAME% %LASTNAME% (%LOGIN%)?
-</h2>
-<p>
-    If you want to reset your password, click on the link below (or copy and paste the URL into your browser):<br>
-    <a target="_blank" href="%LINK%"></a>
-</p>
-<p>
-    If you don't want to reset your password, please ignore this message.
-    Your password will not be reset.
-    If you have any concerns, please contact us at support@vestacp.com.
-</p>
-<p style="font-family:'Helvetica Neue', Arial, Helvetica, sans-serif;font-size:13px;line-height:18px;border-bottom:1px solid rgb(238, 238, 238);padding-bottom:10px;margin:0 0 10px">
-    <span style="font:italic 13px Georgia,serif;color:rgb(102, 102, 102)">VestaCP</span>
-</p>
-<p style="font-family:'Helvetica Neue', Arial, Helvetica, sans-serif;margin-top:5px;font-size:10px;color:#888888">
-    Please do not reply to this message; it was sent from an unmonitored email address.      
-</p>
-</div>
-</div>

+ 0 - 9
data/templates/ngingx_ip.tpl

@@ -1,9 +0,0 @@
-server {
-    listen       %ip%:%proxy_port% default;
-    server_name  _;
-    #access_log  /var/log/nginx/%ip%.log main;
-    location / {
-        proxy_pass http://%ip%:%web_port%;
-   }
-}
-

+ 0 - 2
data/templates/ngingx_vhost_default.descr

@@ -1,2 +0,0 @@
-# Default template for static content speed optimization.
-# Best in most cases.

+ 0 - 36
data/templates/ngingx_vhost_default.stpl

@@ -1,36 +0,0 @@
-server {
-    listen      %ip%:%proxy_ssl_port%;
-    server_name %domain_idn% %alias_idn%;
-    ssl         on;
-    ssl_certificate      %ssl_pem%;
-    ssl_certificate_key  %ssl_key%;
-    %elog%error_log  /var/log/httpd/domains/%domain%.error.log error;
-
-    location / {
-        %proxy_string%
-        location ~* ^.+\.(%nginx_extentions%)$ {
-            root           %docroot%;
-            access_log     /var/log/httpd/domains/%domain%.log combined;
-            access_log     /var/log/httpd/domains/%domain%.bytes bytes;
-            expires        max;
-            try_files      $uri @fallback;
-        }
-    }
-
-    location /error/ {
-        alias   %home%/%user%/web/%domain%/document_errors/;
-    }
-
-    location @fallback {
-        proxy_pass      https://%ip%:%web_ssl_port%;
-    }
-
-    location ~ /\.ht    {return 404;}
-    location ~ /\.svn/  {return 404;}
-    location ~ /\.git/  {return 404;}
-    location ~ /\.hg/   {return 404;}
-    location ~ /\.bzr/  {return 404;}
-
-    include %home%/%user%/conf/snginx.%domain%.conf*;
-}
-

+ 0 - 33
data/templates/ngingx_vhost_default.tpl

@@ -1,33 +0,0 @@
-server {
-    listen      %ip%:%proxy_port%;
-    server_name %domain_idn% %alias_idn%;
-    %elog%error_log  /var/log/httpd/domains/%domain%.error.log error;
-
-    location / {
-        %proxy_string%
-        location ~* ^.+\.(%nginx_extentions%)$ {
-            root           %docroot%;
-            access_log     /var/log/httpd/domains/%domain%.log combined;
-            access_log     /var/log/httpd/domains/%domain%.bytes bytes;
-            expires        max;
-            try_files      $uri @fallback;
-        }
-    }
-
-    location /error/ {
-        alias   %home%/%user%/web/%domain%/document_errors/;
-    }
-
-    location @fallback {
-        proxy_pass      http://%ip%:%web_port%;
-    }
-
-    location ~ /\.ht    {return 404;}
-    location ~ /\.svn/  {return 404;}
-    location ~ /\.git/  {return 404;}
-    location ~ /\.hg/   {return 404;}
-    location ~ /\.bzr/  {return 404;}
-
-    include %home%/%user%/conf/nginx.%domain%.conf*;
-}
-

+ 0 - 29
data/templates/skel/document_errors/403.html

@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
-    <title>403 &mdash; Forbidden</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <meta name="description" content="You do not have permission to view this"/>
-    <style type="text/css">
-        body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
-        h1 {font-size:180px; color:#333333; margin: 70px 0 0 0;}
-        h2 {color: #ED6C42; font-family: georgia; font-size: 20px; font-style: italic; font-weight: bold; letter-spacing: -1px; margin: -3px 0 39px;}
-        p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
-        div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
-        a:link {color: #28A0CB;}
-        a:visited {color: #28A0CB;}
-        a:active {color: #BCBA30;}
-        a:hover {color: #BCBA30;}
-    </style>
-</head>
-
-<body>
-    <p><a href="http://%domain%/">%domain%</a></p>
-
-    <h1>403</h1>
-    <h2>Forbidden</h2>
-    <div>
-        Unfortunately, you do not have permission to view this
-    </div>
-</body>
-
-</html>

+ 0 - 28
data/templates/skel/document_errors/404.html

@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
-    <title>404 &mdash; Not Found</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <meta name="description" content="Sorry, page not found"/>
-    <style type="text/css">
-        body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
-        h1 {font-size:180px; color:#333333; margin: 70px 0 0 0;}
-        h2 {color: #ED6C42; font-family: georgia; font-size: 20px; font-style: italic; font-weight: bold; letter-spacing: -1px; margin: -3px 0 39px;}
-        p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
-        div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
-        a:link {color: #28A0CB;}
-        a:visited {color: #28A0CB;}
-        a:active {color: #BCBA30;}
-        a:hover {color: #BCBA30;}
-    </style>
-</head>
-
-<body>
-    <p><a href="http://%domain%/">%domain%</a></p>
-    <h1>404</h1>
-    <h2>Page Not Found</h2>
-    <div>
-        It seems that the page you were trying to reach does not exist anymore, or maybe it has just moved.
-        You can start again from the <a href="http://%domain%/">home</a> or go back to <a href="javascript:%20history.go(-1)">previous page</a>.
-    </div>
-</body>
-</html>

+ 0 - 29
data/templates/skel/document_errors/50x.html

@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
-    <title>500 &mdash; Internal Sever Error</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <meta name="description" content="Sorry, something went wrong. Internal Server Error"/>
-    <style type="text/css">
-        body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
-        h1 {font-size:180px; color:#333333; margin: 70px 0 0 0;}
-        h2 {color: #ED6C42; font-family: georgia; font-size: 20px; font-style: italic; font-weight: bold; letter-spacing: -1px; margin: -3px 0 39px;}
-        p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
-        div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
-        a:link {color: #28A0CB;}
-        a:visited {color: #28A0CB;}
-        a:active {color: #BCBA30;}
-        a:hover {color: #BCBA30;}
-    </style>
-</head>
-
-<body>
-    <p><a href="http://%domain%/">%domain%</a></p>
-
-    <h1>500</h1>
-    <h2>Internal Sever Error</h2>
-    <div>
-        Sorry, something went wrong :(
-    </div>
-</body>
-
-</html>

+ 0 - 29
data/templates/skel/public_html/index.html

@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
-    <title>%domain% &mdash; Coming Soon</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <meta name="description" content="This is a default index page for a new domain."/>
-    <style type="text/css">
-        body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
-        h1 {font-size:64px; color:#333333; margin: 70px 0 50px 0;}
-        p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
-        div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
-        a:link {color: #28A0CB;}
-        a:visited {color: #28A0CB;}
-        a:active {color: #BCBA30;}
-        a:hover {color: #BCBA30;}
-    </style>
-</head>
-
-<body>
-    <h1>%domain%</h1>
-    <div>
-        <a href="http://httpd.apache.org/">apache</a> + 
-        <a href="http://nginx.com/">nginx</a> + 
-        <a href="http://www.percona.com/">percona</a> + 
-        <a href="http://vestacp.com/">vesta</a>
-    </div>
-</body>
-
-</html>
-

+ 0 - 3
data/templates/skel/public_html/robots.txt

@@ -1,3 +0,0 @@
-# vestacp autogenerated robots.txt
-User-agent: *
-Crawl-delay: 10

+ 0 - 29
data/templates/skel/public_shtml/index.html

@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
-    <title>%domain% &mdash; Coming Soon</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <meta name="description" content="This is a default index page for a new domain."/>
-    <style type="text/css">
-        body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
-        h1 {font-size:64px; color:#333333; margin: 70px 0 50px 0;}
-        p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
-        div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
-        a:link {color: #28A0CB;}
-        a:visited {color: #28A0CB;}
-        a:active {color: #BCBA30;}
-        a:hover {color: #BCBA30;}
-    </style>
-</head>
-
-<body>
-    <h1>%domain%</h1>
-    <div>
-        <a href="http://httpd.apache.org/">apache</a> + 
-        <a href="http://nginx.com/">nginx</a> + 
-        <a href="http://www.percona.com/">percona</a> + 
-        <a href="http://vestacp.com/">vesta</a>
-    </div>
-</body>
-
-</html>
-

+ 0 - 3
data/templates/skel/public_shtml/robots.txt

@@ -1,3 +0,0 @@
-# vestacp autogenerated robots.txt
-User-agent: *
-Crawl-delay: 10

+ 0 - 110
data/templates/webalizer.tpl

@@ -1,110 +0,0 @@
-HostName         %domain_idn%
-LogFile          /var/log/httpd/domains/%domain%.log
-OutputDir        %home%/%user%/web/%domain%/stats
-HistoryName      %home%/%user%/web/%domain%/stats/%domain%.hist
-Incremental      yes
-IncrementalName  %home%/%user%/web/%domain%/stats/%domain%.current
-PageType         htm*
-PageType         cgi
-PageType         php
-PageType         shtml
-DNSCache         /var/lib/webalizer/dns_cache.db
-DNSChildren      10
-Quiet            yes
-FoldSeqErr       yes
-IndexAlias       index.php
-HideURL          *.gif
-HideURL          *.GIF
-HideURL          *.jpg
-HideURL          *.JPG
-HideURL          *.png
-HideURL          *.PNG
-HideURL          *.ra
-SearchEngine     abcsearch.          terms=
-SearchEngine     alexa.              q=
-SearchEngine     alltheweb.          q=
-SearchEngine     alltheweb.          query=
-SearchEngine     alot.               q=
-SearchEngine     altavista.          q=
-SearchEngine     aolsearch.          query=
-SearchEngine     aport.ru            r=
-SearchEngine     ask.                q=
-SearchEngine     atlas.cz            q=
-SearchEngine     bbc.                q=
-SearchEngine     bing.               q=
-SearchEngine     blingo.             q=
-SearchEngine     blogs.yandex.ru     text=
-SearchEngine     btopenworld         query=
-SearchEngine     buscador.ya.com     q=
-SearchEngine     busca.              q=
-SearchEngine     business.           query=
-SearchEngine     centrum.cz          q=
-SearchEngine     chiff.              q=
-SearchEngine     clusty.             query=
-SearchEngine     comcast.            q=
-SearchEngine     crawler.            q=
-SearchEngine     cuil.               q=
-SearchEngine     dmoz.               search=
-SearchEngine     dogpile.com         q=
-SearchEngine     dpxml               qkw=
-SearchEngine     eureka.             searchword=
-SearchEngine     euroseek.           string=
-SearchEngine     exalead.            q=
-SearchEngine     excite              search=
-SearchEngine     ezilon.             q=
-SearchEngine     fastbrowsersearch.  q=
-SearchEngine     feedster.com        q=
-SearchEngine     fireball.de         q=
-SearchEngine     fireball.           keyword=
-SearchEngine     freeserve.          q=
-SearchEngine     gigablast.          q=
-SearchEngine     gogo.ru             q=
-SearchEngine     go.mail.ru          q=
-SearchEngine     google.             q=
-SearchEngine     hakia.              q=
-SearchEngine     hotbot.             query=
-SearchEngine     infoseek.           qt=
-SearchEngine     iwon                searchfor=
-SearchEngine     ixquick.com         query=
-SearchEngine     joeant.             keywords=
-SearchEngine     jyxo.cz             s=
-SearchEngine     looksmart.          key=
-SearchEngine     lycos.              query=
-SearchEngine     mamma.              q=
-SearchEngine     metacrawler         q=
-SearchEngine     msn.                MT=
-SearchEngine     msxml               qkw=
-SearchEngine     mysearch.           searchfor=
-SearchEngine     mywebsearch.        searchfor=
-SearchEngine     netscape.           q=
-SearchEngine     nigma.ru            q=
-SearchEngine     northernlight.      qr=
-SearchEngine     ntlworld.           q=
-SearchEngine     orange.             q=
-SearchEngine     overture.           Keywords=
-SearchEngine     punto.ru            text=
-SearchEngine     rambler.            keyword=
-SearchEngine     search.aol.         q=
-SearchEngine     search.babylon.     q=
-SearchEngine     search.centrum.     phrase=
-SearchEngine     search.conduit.     q=
-SearchEngine     search.earthlink    q=
-SearchEngine     search.icq.         q=
-SearchEngine     search.live.com     q=
-SearchEngine     search.rambler.ru   words=
-SearchEngine     search.winamp.      q=
-SearchEngine     searchy.            q=
-SearchEngine     seznam.cz           w=
-SearchEngine     snap.               query=
-SearchEngine     teoma.              q=
-SearchEngine     teradex.com         q=
-SearchEngine     ukplus              key=
-SearchEngine     verizon.            q=
-SearchEngine     virginmedia.        q=
-SearchEngine     voila.              rdata=
-SearchEngine     webcrawler          searchText=
-SearchEngine     web.search.naver.   query=
-SearchEngine     wisenut             q=
-SearchEngine     yahoo.              p=
-SearchEngine     yandex.             text=
-SearchEngine     yodao.              q=

+ 0 - 149
func/cron.func

@@ -1,149 +0,0 @@
-get_next_cron_string() {
-    # Parsing config
-    curr_str=$(grep "JOB=" $V_USERS/$user/cron.conf|cut -f 2 -d \'|\
-             sort -n|tail -n1)
-
-    # Print result
-    echo "$((curr_str +1))"
-}
-
-is_cron_job_free() {
-    # Checking record id
-    check_job=$(grep "JOB='$job'" $V_USERS/$user/cron.conf)
-
-    if [ ! -z "$check_job" ]; then
-        echo "Error: job id exist"
-        log_event 'debug' "$E_EXISTS $V_EVENT"
-        exit $E_EXISTS
-    fi
-}
-
-sort_cron_jobs() {
-    # Defining conf
-    conf="$V_USERS/$user/cron.conf"
-    cat $conf |sort -n -k 2 -t \' >$conf.tmp
-    mv -f $conf.tmp $conf
-}
-
-sync_cron_jobs() {
-    conf="/var/spool/cron/$user"
-
-    # Deleting old data
-    rm -f $conf
-
-    # Checking reporting system
-    rep=$(grep 'REPORTS=' $V_USERS/$user/user.conf | cut -f 2 -d \')
-    if [ "$rep" = 'yes' ]; then
-        email=$(grep 'CONTACT=' $V_USERS/$user/user.conf | cut -f 2 -d \')
-        echo "MAILTO=$email" >$conf
-    fi
-
-    # Reading user cron.conf
-    while read line ; do
-        # Defining new delimeter
-        IFS=$'\n'
-
-        # Parsing key=value
-        for key in $(echo $line|sed -e "s/' /'\n/g"); do
-            eval ${key%%=*}="${key#*=}"
-        done
-
-        if [ "$SUSPENDED" = 'no' ] ; then
-            # Adding line to system cron
-            echo "$MIN $HOUR $DAY $MONTH $WDAY $CMD" |\
-            sed -e "s/%quote%/'/g" -e "s/%dots%/:/g" >> $conf
-        fi
-    done <$V_USERS/$user/cron.conf
-}
-
-
-is_job_valid() {
-    result=$(grep "JOB='$job'" $V_USERS/$user/cron.conf)
-
-    if [ -z "$result" ]; then
-        echo "Error: job id not exists"
-        log_event 'debug' "$E_NOTEXIST $V_EVENT"
-        exit $E_NOTEXIST
-    fi
-}
-
-del_cron_job() {
-    str=$(grep -n "JOB='$job'" $V_USERS/$user/cron.conf|cut -f 1 -d :)
-    sed -i "$str d" $V_USERS/$user/cron.conf
-}
-
-
-is_job_suspended() {
-    # Parsing jobs
-    str=$(grep "JOB='$job'" $V_USERS/$user/cron.conf|grep "SUSPENDED='yes'" )
-
-    # Checkng key
-    if [ ! -z "$str" ]; then
-        echo "Error: job suspended"
-        log_event 'debug' "$E_SUSPENDED $V_EVENT"
-        exit $E_SUSPENDED
-    fi
-}
-
-is_job_unsuspended() {
-    # Parsing jobs
-    str=$(grep "JOB='$job'" $V_USERS/$user/cron.conf|grep "SUSPENDED='no'" )
-
-    # Checkng key
-    if [ ! -z "$str" ]; then
-        echo "Error: job unsuspended"
-        log_event 'debug' "$E_UNSUSPENDED $V_EVENT"
-        exit $E_UNSUSPENDED
-    fi
-}
-
-update_cron_job_value() {
-    key="$1"
-    value="$2"
-
-    # Defining conf
-    conf="$V_USERS/$user/cron.conf"
-
-    # Parsing conf
-    job_str=$(grep -n "JOB='$job'" $conf)
-    str_number=$(echo $job_str | cut -f 1 -d ':')
-    str=$(echo $job_str | cut -f 2 -d ':')
-
-    # Parsing key=value
-    IFS=$'\n'
-    for keys in $(echo $str|sed -e "s/' /'\n/g"); do
-        eval ${keys%%=*}=${keys#*=}
-    done
-
-    # Defining clean key
-    c_key=$(echo "${key//$/}")
-
-    eval old="${key}"
-
-    # Escaping slashes
-    old=$(echo "$old" | sed -e 's/\\/\\\\/g' -e 's/&/\\&/g' -e 's/\//\\\//g')
-    new=$(echo "$value" | sed -e 's/\\/\\\\/g' -e 's/&/\\&/g' -e 's/\//\\\//g')
-
-    # Updating conf
-    sed -i "$str_number s/$c_key='${old//\*/\\*}'/$c_key='${new//\*/\\*}'/g" \
-            $conf
-}
-
-cron_clear_search() {
-    # Defining delimeter
-    IFS=$'\n'
-
-    # Reading file line by line
-    for line in $(grep $search_string $conf); do
-
-        # Defining new delimeter
-        IFS=$'\n'
-        # Parsing key=value
-        for key in $(echo $line|sed -e "s/' /'\n/g"); do
-            eval ${key%%=*}=${key#*=}
-        done
-
-        # Print result line
-        eval echo "$field"
-    done
-}

+ 8 - 2
func/domain.sh

@@ -160,6 +160,7 @@ add_web_config() {
             -e "s/%ssl_key%/${ssl_key////\/}/g" \
             -e "s/%ssl_pem%/${ssl_pem////\/}/g" \
             -e "s/%ssl_ca_str%/${ssl_ca_str////\/}/g" \
+            -e "s/%ssl_ca%/${ssl_ca////\/}/g" \
             -e "s/%nginx_extentions%/${NGINX_EXT//,/|}/g" \
             -e "s/%elog%/$elog/g" \
             -e "s/%cgi%/$cgi/g" \
@@ -238,7 +239,12 @@ is_web_domain_cert_valid() {
         exit $E_NOTEXIST
     fi
 
-    crt=$(openssl verify $ssl_dir/$domain.crt 2>/dev/null |grep '/C=')
+    if [ ! -e "$ssl_dir/$domain.ca" ]; then
+        crt=$(openssl verify $ssl_dir/$domain.crt 2>/dev/null |grep 'OK')
+    else
+        crt=$(openssl verify -untrusted $ssl_dir/$domain.ca \
+	    $ssl_dir/$domain.crt 2>/dev/null |grep 'OK')
+    fi
     if [ -z "$crt" ]; then
         echo "Error: certificate is not valid"
         log_event "$E_INVALID" "$EVENT"
@@ -253,7 +259,7 @@ is_web_domain_cert_valid() {
     fi
 
     if [ -e "$ssl_dir/$domain.ca" ]; then
-        ca=$(openssl verify $ssl_dir/$domain.ca 2>/dev/null |grep '/C=')
+        ca=$(openssl verify $ssl_dir/$domain.ca 2>/dev/null |grep 'OK')
         if [ -z "$ca" ]; then
             echo "Error: ssl certificate authority is not valid"
             log_event "$E_INVALID" "$EVENT"

+ 3 - 3
web/templates/admin/edit_web.html

@@ -82,11 +82,11 @@
                     <option value='single' <?php if ($v_ssl_home == 'single') echo "selected";?>>public_shtml</option>
                 </select></td></tr>
                 <tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Certificate</td></tr>
-                <tr><td><textarea size="20" class="add-textinput" name="v_ssl_crt"><?php if (!empty($v_ssl_crt)) echo $v_ssl_crt;  ?></textarea></tr>
+                <tr><td><textarea size="20" class="add-textinput" name="v_ssl_crt"><?php if (!empty($v_ssl_crt)) echo $v_ssl_crt; ?></textarea></td></tr>
                 <tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Key</td></tr>
-                <tr><td><textarea size="20" class="add-textinput" name="v_ssl_key"><?php if (!empty($v_ssl_key)) echo $v_ssl_key;  ?></textarea></tr>
+                <tr><td><textarea size="20" class="add-textinput" name="v_ssl_key"><?php if (!empty($v_ssl_key)) echo $v_ssl_key; ?></textarea></td></tr>
                 <tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Certificate Authority <span style="padding:0 0 0 6px; font-size: 10pt; color:#555;">(optional)</span></td></tr>
-                <tr><td><textarea size="20" class="add-textinput" name="v_ssl_ca"><?php if (!empty($v_ssl_ca)) echo $v_ssl_ca;  ?></textarea></tr>
+                <tr><td><textarea size="20" class="add-textinput" name="v_ssl_ca"><?php if (!empty($v_ssl_ca)) echo $v_ssl_ca; ?></textarea></td></tr>
             </td></tr></tr></table></td></tr>
             <tr><td class="add-text" style="padding: 10px 0 0 2px;">Web Statistics</td></tr>
             <tr><td><select class="add-list" name="v_stats">