I have a large httpd.conf file, most of which is virtual hosts. Is there a way to make a file, say virtual_hosts.conf, and include it from httpd.conf? I've googled a bit, but can't seem to find much as far as includes, just module loading.
I have a large httpd.conf file, most of which is virtual hosts. Is there a way to make a file, say virtual_hosts.conf, and include it from httpd.conf? I've googled a bit, but can't seem to find much as far as includes, just module loading.
Information on apache httpd.conf files can be found at here.
Some snippets have been copied from this website to ensure that the information is not lost if the link would deprecated:
Relative paths:
Wildcards:
I separate each virtual host into it's own vhost config file, that way you don't wind up searching through a giant document looking for one little directive. Similar to Quanta's post:
Just place it as the last line in your httpd.conf
then just split your single vhosts.conf into individual files for each domain, i.e.
much easier to manage. -sean
You can do it with Include directive:
IncludeOptional
Also you can use IncludeOptional directive
So in such case there can be no any appropriate file. Or as exactly said in documentation,
BUT!
Pay attention that some versions of Apache really fails to start in cases when "file path does not exist on the file system". Like on example above if there is no directory
conf/vhosts/
.So, in such a problem you may be restricted in fact in safe usage of this directive by non-using some subdirectories when you are not sure if they exists
Like such a manner:
When some like
will works good (have you any file matching given mask or not), but
will fail if there is no such subdirectory
config_optional_subdir
.Note that
will fail too if at least one of sites will not have exactly specified file
extra.httpd.conf
. Wildcards are the key.So, if common site configuration created and can be recreated automatically by some template, but some concrete site requires an extra apache configuration that cant be wrote just in a .htaccess file - you can use this approach.