Skip to content
vhost.conf.master 14.9 KiB
Newer Older

<Directory {tmpl_var name='web_basedir'}/{tmpl_var name='domain'}>
    AllowOverride None
    Order Deny,Allow
    Deny from all
</Directory>

<VirtualHost <tmpl_var name='ip_address'>:80>
<tmpl_if name='php' op='==' value='suphp'>
    DocumentRoot <tmpl_var name='web_document_root'>
</tmpl_else>
  <tmpl_if name='php' op='==' value='cgi'>
    DocumentRoot <tmpl_var name='web_document_root'>
  </tmpl_else>
    DocumentRoot <tmpl_var name='web_document_root_www'>
  </tmpl_if>
</tmpl_if>

    ServerName <tmpl_var name='domain'>
<tmpl_if name='alias'>
    <tmpl_var name='alias'>
</tmpl_if>
    ServerAdmin webmaster@<tmpl_var name='domain'>

    ErrorLog /var/log/ispconfig/httpd/<tmpl_var name='domain'>/error.log
<tmpl_if name='errordocs'>

    ErrorDocument 400 /error/400.html
    ErrorDocument 401 /error/401.html
    ErrorDocument 403 /error/403.html
    ErrorDocument 404 /error/404.html
    ErrorDocument 405 /error/405.html
    ErrorDocument 500 /error/500.html
    ErrorDocument 503 /error/503.html
</tmpl_if>
	
    <Directory {tmpl_var name='web_document_root_www'}>
        Options FollowSymLinks
        AllowOverride <tmpl_var name='allow_override'>
        Order allow,deny
        Allow from all
<tmpl_if name='ssi' op='==' value='y'>
        
        # ssi enabled
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
        Options +Includes
</tmpl_if>
<tmpl_if name='php' op='==' value='no'>
        <Files ~ '.php[s3-6]{0,1}$'>
            Order allow,deny
            Deny from all
            Allow from none
        </Files>
</tmpl_if>
    </Directory>
    <Directory {tmpl_var name='web_document_root'}>
        Options FollowSymLinks
        AllowOverride <tmpl_var name='allow_override'>
        Order allow,deny
        Allow from all
<tmpl_if name='ssi' op='==' value='y'>
        
        # ssi enabled
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
        Options +Includes
</tmpl_if>
<tmpl_if name='php' op='==' value='no'>
        <Files ~ '.php[s3-6]{0,1}$'>
            Order allow,deny
            Deny from all
            Allow from none
        </Files>
</tmpl_if>
    </Directory>

<tmpl_if name='ruby' op='==' value='y'>
    <IfModule mod_ruby.c>
      <Directory {tmpl_var name='web_document_root'}>
        Options +ExecCGI
      </Directory>
      RubyRequire apache/ruby-run
      #RubySafeLevel 0
      <Files *.rb>
        SetHandler ruby-object
        RubyHandler Apache::RubyRun.instance
      </Files>
      <Files *.rbx>
        SetHandler ruby-object
        RubyHandler Apache::RubyRun.instance
      </Files>
    </IfModule>
</tmpl_if>

<tmpl_if name='cgi' op='==' value='y'>
    # cgi enabled
	<Directory {tmpl_var name='document_root'}/cgi-bin>
      Order allow,deny
      Allow from all
    </Directory>
    ScriptAlias  /cgi-bin/ <tmpl_var name='document_root'>/cgi-bin/
    AddHandler cgi-script .cgi
    AddHandler cgi-script .pl
</tmpl_if>
<tmpl_if name='suexec' op='==' value='y'>
    # suexec enabled
    SuexecUserGroup <tmpl_var name='system_user'> <tmpl_var name='system_group'>
</tmpl_if>
    # Clear PHP settings of this website
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler None
    </FilesMatch>
<tmpl_if name='php' op='==' value='mod'>
    # mod_php enabled
    AddType application/x-httpd-php .php .php3 .php4 .php5
tbrehm's avatar
tbrehm committed
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fwebmaster@<tmpl_var name='domain'>"	
    php_admin_value upload_tmp_dir <tmpl_var name='document_root'>/tmp
    php_admin_value session.save_path <tmpl_var name='document_root'>/tmp
	# PHPIniDir <tmpl_var name='custom_php_ini_dir'>
tbrehm's avatar
tbrehm committed
<tmpl_if name='security_level' op='==' value='20'>
    php_admin_value open_basedir <tmpl_var name='php_open_basedir'>
tbrehm's avatar
tbrehm committed
</tmpl_if>
</tmpl_if>
<tmpl_if name='php' op='==' value='suphp'>
    # suphp enabled
    <Directory {tmpl_var name='web_document_root'}>
		<IfModule mod_suphp.c>
        suPHP_Engine on
        # suPHP_UserGroup <tmpl_var name='system_user'> <tmpl_var name='system_group'>
<tmpl_if name='has_custom_php_ini'>
	suPHP_ConfigPath <tmpl_var name='custom_php_ini_dir'>
</tmpl_if>
        AddHandler x-httpd-suphp .php .php3 .php4 .php5
        suPHP_AddHandler x-httpd-suphp
    </Directory>
</tmpl_if>
<tmpl_if name='php' op='==' value='cgi'>
    # php as cgi enabled
    ScriptAlias /php5-cgi <tmpl_var name='cgi_starter_path'><tmpl_var name='cgi_starter_script'>
    Action php5-cgi /php5-cgi
    AddHandler php5-cgi .php .php3 .php4 .php5
    <Directory {tmpl_var name='cgi_starter_path'}>
        Order allow,deny
        Allow from all
    </Directory>
</tmpl_if>
<tmpl_if name='php' op='==' value='fast-cgi'>
    # php as fast-cgi enabled
    <IfModule mod_fcgid.c>
	  # IdleTimeout n (300 seconds)
	  # An idle fastcgi application will be terminated after IdleTimeout seconds.
	  FcgidIdleTimeout 300
	  # ProcessLifeTime n (3600 seconds)
      # A fastcgi application will be terminated if lifetime expired, even no error is detected.
      FcgidProcessLifeTime 3600
	  
	  # MaxProcessCount n (1000)
      # The max count of total fastcgi process count.
      # FcgidMaxProcesses 1000
      
	  # DefaultMinClassProcessCount n (3)
      # The minimum number of fastcgi application instances for any one fastcgi application.
      # Idle fastcgi will not be killed if their count is less than n
      # Set this to 0, and tweak IdleTimeout
	  FcgidMinProcessesPerClass 0
	  
	  # DefaultMaxClassProcessCount n (100)
      # The maximum number of fastcgi application instances allowed to run for
      # particular one fastcgi application.
      FcgidMaxProcessesPerClass 100
	  
	  # IPCConnectTimeout n (3 seconds)
      # The connect timeout to a fastcgi application.
      FcgidConnectTimeout 3
	  
	  # IPCCommTimeout n (20 seconds)
      # The communication timeout to a fastcgi application. Please increase this
      # value if your CGI have a slow initialization or slow respond.
      FcgidIOTimeout 360
      
	  # BusyTimeout n (300 seconds)
      # A fastcgi application will be terminated if handing a single request
      # longer than busy timeout.
	  FcgidBusyTimeout 300
    </IfModule>
    <Directory {tmpl_var name='web_document_root_www'}>
        AddHandler fcgid-script .php .php3 .php4 .php5
        FCGIWrapper <tmpl_var name='fastcgi_starter_path'><tmpl_var name='fastcgi_starter_script'> .php
        Options +ExecCGI
        AllowOverride <tmpl_var name='allow_override'>
        Order allow,deny
        Allow from all
    </Directory>
	<Directory {tmpl_var name='web_document_root'}>
        AddHandler fcgid-script .php .php3 .php4 .php5
        FCGIWrapper <tmpl_var name='fastcgi_starter_path'><tmpl_var name='fastcgi_starter_script'> .php
        Options +ExecCGI
        AllowOverride <tmpl_var name='allow_override'>
        Order allow,deny
        Allow from all
    </Directory>
</tmpl_if>
<tmpl_if name="rewrite_enabled">
    
    RewriteEngine on
<tmpl_loop name="redirects">
    RewriteCond %{HTTP_HOST}   <tmpl_var name='rewrite_domain'>$ [NC]
    RewriteRule   ^/(.*)$ <tmpl_var name='rewrite_target'>$1  <tmpl_var name='rewrite_type'>
</tmpl_loop>
</tmpl_if>

    # add support for apache mpm_itk
    <IfModule mpm_itk_module>
      AssignUserId <tmpl_var name='system_user'> <tmpl_var name='system_group'>
    </IfModule>

    <IfModule mod_dav_fs.c>
      # DO NOT REMOVE THE COMMENTS!
      # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
      # WEBDAV BEGIN
      # WEBDAV END
    </IfModule>

<tmpl_var name='apache_directives'>
</VirtualHost>



<tmpl_if name='ssl_enabled'>
<IfModule mod_ssl.c>
###########################################################
# SSL Vhost
###########################################################

<VirtualHost <tmpl_var name='ip_address'>:443>
<tmpl_if name='php' op='==' value='suphp'>
    DocumentRoot <tmpl_var name='web_document_root'>
</tmpl_else>
  <tmpl_if name='php' op='==' value='cgi'>
    DocumentRoot <tmpl_var name='web_document_root'>
  </tmpl_else>
    DocumentRoot <tmpl_var name='web_document_root_www'>
  </tmpl_if>
</tmpl_if>

vogelor's avatar
vogelor committed
    ServerName <tmpl_var name='ssl_domain'>
<tmpl_if name='alias'>
    <tmpl_var name='alias'>
</tmpl_if>
    ServerAdmin webmaster@<tmpl_var name='domain'>
    
    ErrorLog /var/log/ispconfig/httpd/<tmpl_var name='domain'>/error.log

<tmpl_if name='errordocs'>
    ErrorDocument 400 /error/400.html
    ErrorDocument 401 /error/401.html
    ErrorDocument 403 /error/403.html
    ErrorDocument 404 /error/404.html
    ErrorDocument 405 /error/405.html
    ErrorDocument 500 /error/500.html
    ErrorDocument 503 /error/503.html

</tmpl_if>
    SSLEngine on
vogelor's avatar
vogelor committed
    SSLCertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.crt
    SSLCertificateKeyFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.key
<tmpl_if name='has_bundle_cert'>
vogelor's avatar
vogelor committed
    SSLCACertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.bundle
</tmpl_if>
    
	<Directory {tmpl_var name='web_document_root_www'}>
        Options FollowSymLinks
        AllowOverride <tmpl_var name='allow_override'>
        Order allow,deny
        Allow from all
<tmpl_if name='ssi' op='==' value='y'>
        
        # ssi enabled
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
        Options +Includes
</tmpl_if>
<tmpl_if name='php' op='==' value='no'>
        <Files ~ '.php[s3-6]{0,1}$'>
            Order allow,deny
            Deny from all
            Allow from none
        </Files>
</tmpl_if>
    </Directory>
    <Directory {tmpl_var name='web_document_root'}>
        Options FollowSymLinks
        AllowOverride <tmpl_var name='allow_override'>
        Order allow,deny
        Allow from all
<tmpl_if name='ssi' op='==' value='y'>
        
        # ssi enabled
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
        Options +Includes
</tmpl_if>
<tmpl_if name='php' op='==' value='no'>
        <Files ~ '.php[s3-6]{0,1}$'>
            Order allow,deny
            Deny from all
            Allow from none
        </Files>
</tmpl_if>
    </Directory>

<tmpl_if name='cgi' op='==' value='y'>
    # cgi enabled
	<Directory {tmpl_var name='document_root'}/cgi-bin>
      Order allow,deny
      Allow from all
    </Directory>
    ScriptAlias  /cgi-bin/ <tmpl_var name='document_root'>/cgi-bin/
    AddHandler cgi-script .cgi
    AddHandler cgi-script .pl
</tmpl_if>
<tmpl_if name='ssi'op='==' value='y'>
    # ssi enabled
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</tmpl_if>
<tmpl_if name='suexec'op='==' value='y'>
    # suexec enabled
    SuexecUserGroup <tmpl_var name='system_user'> <tmpl_var name='system_group'>
</tmpl_if>
# Clear PHP settings of this website
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler None
    </FilesMatch>
<tmpl_if name='php' op='==' value='mod'>
    # mod_php enabled
    AddType application/x-httpd-php .php .php3 .php4 .php5
tbrehm's avatar
tbrehm committed
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fwebmaster@<tmpl_var name='domain'>"	
    php_admin_value upload_tmp_dir <tmpl_var name='document_root'>/tmp
    php_admin_value session.save_path <tmpl_var name='document_root'>/tmp
	# PHPIniDir <tmpl_var name='custom_php_ini_dir'>
tbrehm's avatar
tbrehm committed
<tmpl_if name='security_level' op='==' value='20'>
    php_admin_value open_basedir <tmpl_var name='php_open_basedir'>
tbrehm's avatar
tbrehm committed
</tmpl_if>
</tmpl_if>
<tmpl_if name='php' op='==' value='suphp'>
    # suphp enabled
    <Directory {tmpl_var name='web_document_root'}>
		<IfModule mod_suphp.c>
        suPHP_Engine on
        # suPHP_UserGroup <tmpl_var name='system_user'> <tmpl_var name='system_group'>
<tmpl_if name='has_custom_php_ini'>
	suPHP_ConfigPath <tmpl_var name='custom_php_ini_dir'>
</tmpl_if>
        AddHandler x-httpd-suphp .php .php3 .php4 .php5
        suPHP_AddHandler x-httpd-suphp
		</IfModule>
    </Directory>
</tmpl_if>
<tmpl_if name='php' op='==' value='cgi'>
    # php as cgi enabled
    ScriptAlias /php5-cgi <tmpl_var name='cgi_starter_path'><tmpl_var name='cgi_starter_script'>
    Action php5-cgi /php5-cgi
    AddHandler php5-cgi .php .php3 .php4 .php5
	<Directory {tmpl_var name='cgi_starter_path'}>
        Order allow,deny
        Allow from all
    </Directory>
</tmpl_if>
<tmpl_if name='php' op='==' value='fast-cgi'>
    # php as fast-cgi enabled
    <IfModule mod_fcgid.c>
	  # IdleTimeout n (300 seconds)
	  # An idle fastcgi application will be terminated after IdleTimeout seconds.
	  FcgidIdleTimeout 300
	  # ProcessLifeTime n (3600 seconds)
      # A fastcgi application will be terminated if lifetime expired, even no error is detected.
      FcgidProcessLifeTime 3600
	  
	  # MaxProcessCount n (1000)
      # The max count of total fastcgi process count.
      # FcgidMaxProcesses 1000
      
	  # DefaultMinClassProcessCount n (3)
      # The minimum number of fastcgi application instances for any one fastcgi application.
      # Idle fastcgi will not be killed if their count is less than n
      # Set this to 0, and tweak IdleTimeout
	  FcgidMinProcessesPerClass 0
	  
	  # DefaultMaxClassProcessCount n (100)
      # The maximum number of fastcgi application instances allowed to run for
      # particular one fastcgi application.
      FcgidMaxProcessesPerClass 100
	  
	  # IPCConnectTimeout n (3 seconds)
      # The connect timeout to a fastcgi application.
      FcgidConnectTimeout 3
	  
	  # IPCCommTimeout n (20 seconds)
      # The communication timeout to a fastcgi application. Please increase this
      # value if your CGI have a slow initialization or slow respond.
      FcgidIOTimeout 360
      
	  # BusyTimeout n (300 seconds)
      # A fastcgi application will be terminated if handing a single request
      # longer than busy timeout.
	  FcgidBusyTimeout 300
    </IfModule>
    <Directory {tmpl_var name='web_document_root_www'}>
        AddHandler fcgid-script .php .php3 .php4 .php5
        FCGIWrapper <tmpl_var name='fastcgi_starter_path'><tmpl_var name='fastcgi_starter_script'> .php
        Options +ExecCGI
        AllowOverride <tmpl_var name='allow_override'>
        Order allow,deny
        Allow from all
    </Directory>
	<Directory {tmpl_var name='web_document_root'}>
        AddHandler fcgid-script .php .php3 .php4 .php5
        FCGIWrapper <tmpl_var name='fastcgi_starter_path'><tmpl_var name='fastcgi_starter_script'> .php
        Options +ExecCGI
        AllowOverride <tmpl_var name='allow_override'>
        Order allow,deny
        Allow from all
    </Directory>
</tmpl_if>
<tmpl_if name="rewrite_enabled">
    
    RewriteEngine on
<tmpl_loop name="redirects">
    RewriteCond %{HTTP_HOST}   ^<tmpl_var name='rewrite_domain'> [NC]
    RewriteRule   ^/(.*)$ <tmpl_var name='rewrite_target'>$1  <tmpl_var name='rewrite_type'>
</tmpl_loop>
</tmpl_if>

    # add support for apache mpm_itk
    <IfModule mpm_itk_module>
      AssignUserId <tmpl_var name='system_user'> <tmpl_var name='system_group'>
    </IfModule>

    <IfModule mod_dav_fs.c>
      # DO NOT REMOVE THE COMMENTS!
      # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
      # WEBDAV BEGIN
      # WEBDAV END
    </IfModule>

<tmpl_var name='apache_directives'>
</VirtualHost>
</IfModule>

</tmpl_if>