By default Apache deb installable binary on Debian GNU / Linux is shipped with Apache version (Apache 2.2.16-6+squeeze6) is configured to be able to process Server Side Include (SSIs) scripts.
For those who don't know what is a Server-Side Includes it a way giving possibility for inclusion through .shtml or even .html files (if configured) to dynamically include and process external scripts. Most admins should have already seen SSI scripts, but it is possible they don't even know it is SSI. An example code from an SSI script looks something like:
<!--#include file="footer.html" -->
<!--#exec cgi="/cgi-bin/foo.cgi" -->
<!--#exec cmd="ls -l" -->
As of time of writting (on Debian stable codename Squeeze – and I guess the unstable one too).
In Debian.BG one of my previous employment companies SSI was used on a few website Projects; However nowadays SSI's are not so popular as they used to be and many websites using mostly PHP for a programming backend don't use / need the Server Side Includes at all. Thus it is recommended on such servers where SSIs aren't used and not planned by company to be used in short future to disable SSI (.shtml) support completely. As the popular saying says "less is more" – having enabled SSI hanging their is simply a waste of Apache resources and just another hanging unused feature from security stand point is not good.
SSI .shtml support in Debian is enabled via /etc/apache2/mods-available/mime.conf, not through apache2.conf because of the modular Apache Debian build structure.
Thus to disable server-side parsing on Debian (and I guess other debian derivatives);
- Edit /etc/apache2/mods-available/mime.conf
vim /etc/apache2/mods-available/mime.conf
- Look for file section:
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
- Comment out .shtml mime directives to:
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
##AddType text/html .shtml
##AddOutputFilter INCLUDES .shtml
- Apply changes, with the usual apache restart:
debian:~# apache2ctl -k restart
Don't expect that disabling SSI will give a great boost to the webserver but it will definitely, do a minor performance improvement. This should be noticable on Webserver hosts (using apache2-mpm-prefork) with thousands of Apache forks, on a little home Webserver perf change is unnoticeable.