Home     
Apache
   
 
 
    Apache have to be configured for name based virtual hosting.
 At the end of httpd.conf but before the row
 
 include /etc/httpd/conf/include/include
 
 
 
 Apache needs these directives:
 
 
 
 # Replace 192.168.1.2 with your IP address. Must be the same
 # as the value of the $virtual_host_ip variable in conf_inc.php
 # Replace wht.org with your system domain.
 
 NameVirtualHost 192.168.1.2
 
 # This should be your system domain virtual area
 
 <VirtualHost 192.168.1.2>
 
  ServerName wht.org
  ServerAlias www.wht.org
  RLimitCPU	30
  RLimitMem	20000000
  RLimitNProc	20
  DocumentRoot /var/www/html
  Options Includes Indexes FollowSymlinks
  DirectoryIndex index.php index.php3 index.html index.htm
  AddType application/x-httpd-php .php
  ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
	
  CustomLog /var/log/httpd/access_log combined
  ErrorLog /var/log/httpd/error_log
</VirtualHost>
# If HTTP 1.0 is used from the clienc or some script
# it will not recognize the virtual hosts. So you have to enable
# PHP in the DocumentRoot directory
<Directory /var/www/html>
AddType application/x-httpd-php .php
</Directory>
 
  Probably PHP is enabled globally. You have to disable it.
 WHT will enable PHP inside the virtual hosts' areas. So outside virtual host area
 must not have:
 
 
 AddType application/x-httpd-php .php
 
 
 or
 
 
 <Files *.php>
  SetOutputFilter PHP
  SetInputFilter PHP
  LimitRequestBody 524288
</Files>
Note: In RedHat 9 the above directives are included as separate file
/etc/httpd/conf.d/php.conf. Just disable them.
 
 
    To serve the sites Apache needs to be configured every 
time a user registers or deletes new domain. In fact, WHT configures the web server only 
once a day. That's because Apache have to be restarted for the changes to
take effect. This is done by the script wht_cron.php. The script is run by
crond at the time you specified when installing (2 a.m.).wht_cron.php configures BIND  too and makes a few checks:  checks for expired
 domains and users using MySQL, checks for exceeded quota (including the databases'
 sizes), checks for users that have no domains. The script notifies the admin if there is
 something wrong.
    Every month another script wht_apache_log.php checks Apache's
log files for exceeded traffic and notifies the administrator,  compresses
the files and restarts Apache to create new logs.
   Both scripts restart Apache gracefully (# apachectl graceful).
 
     When a domain is registered the following section is
included as a separate file in httpd.conf
 
 
<VirtualHost 192.168.1.2>
   
     ServerName domain1.com
     ServerAlias www.domain1.com
     RLimitCPU    30
     RLimitMem    20000000
     RLimitNProc    20
   
     DocumentRoot /var/www/home/w/www/domain1.com
     DirectoryIndex index.php index.php3 index.html index.htm
   
     LogFormat " %b" wht_log
     CustomLog /var/log/wht/bytes/domain1.com wht_log
     CustomLog /var/log/wht/access_domain1.com common
     ErrorLog /var/log/wht/error_domain1.com
   
 </VirtualHost>
 
   
 
 If PHP and CGI enabled
 
 
<VirtualHost 192.168.1.2>
   
   ServerName domain1.com
   ServerAlias www.domain1.com
   RLimitCPU    30
   RLimitMem    20000000
   RLimitNProc    20
   
   DocumentRoot /var/www/home/w/www/domain1.com
   DirectoryIndex index.php index.php3 index.html index.htm
   
   AddType application/x-httpd-php .php
   
   ScriptAlias /cgi-bin/ "/var/www/home/w/www/domain1.com_cgi-bin/"
   
   php_admin_value open_basedir /var/www/home/www/w/domain1.com
   SuexecUserGroup w w
   LogFormat " %b" wht_log
   CustomLog /var/log/wht/bytes/domain1.com wht_log
   CustomLog /var/log/wht/access_domain1.com common
   ErrorLog /var/log/wht/error_domain1.com
   
</VirtualHost>
 
   
 
 For free account if $enable_cgi_free="off" (default)
 
<VirtualHost 192.168.1.2>
   
   ServerName domain1.com
   ServerAlias www.domain1.com
   RLimitCPU    30
   RLimitMem    20000000
   RLimitNProc    20
   
   DocumentRoot /var/www/home/w/www/domain1.com
   DirectoryIndex index.php index.php3 index.html index.htm
   
   ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
   Action text/html /cgi-bin/wht_handler.cgi
   LogFormat " %b" wht_log
   CustomLog /var/log/wht/bytes/domain1.com wht_log
   CustomLog /var/log/wht/access_domain1.com common
   ErrorLog /var/log/wht/error_domain1.com
 </VirtualHost>
 For free account if $enable_cgi_free="on" (experimental)
 
<VirtualHost 192.168.1.2>
   
   ServerName domain1.com
   ServerAlias www.domain1.com
   RLimitCPU    30
   RLimitMem    20000000
   RLimitNProc    20
   
   DocumentRoot /var/www/home/w/www/domain1.com
   DirectoryIndex index.php index.php3 index.html index.htm
   ScriptAlias /cgi-bin/ "/var/www/home/w/www/domain1.com_cgi-bin/"
  ExtFilterDefine wht_ext_filter mode=output \
  cmd="/bin/wht_ext_filter /var/www/home/w/domain1.com/some_file.html"
  SetOutputFilter wht_ext_filter
   SuexecUserGroup w w
   LogFormat " %b" wht_log
   CustomLog /var/log/wht/bytes/domain1.com wht_log
   CustomLog /var/log/wht/access_domain1.com common
   ErrorLog /var/log/wht/error_domain1.com
   
 </VirtualHost>
  You can run wht_cron.php more than once a day but I do not recommend.
  If you want to allow your users using .htaccess files include the following
directives in httpd.conf:
# /var/www/home is the home directory. Must be the same
# as the value of the $userhomedir variable in conf_inc.php
<Directory /var/www/home>
  AllowOverride FileInfo Indexes AuthConfig Limit
  Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>