Mac OSX Apache - How to get server side includes (SSI) working on Mac OS X

Wow, for me, getting Apache server side includes (SSI's) to work on my Apple Mac OS X installation was nothing like what I read elsewhere. Oh, you do have to do the setup work as shown in this Apache SSI configuration document, but on Mac OS X the setup is a little different.

The key on the Mac was that instead of restarting Apache, I decided to stop and start Apache manually, like this:

sudo apachectl stop

followed by:

sudo apachectl start

When I issued the start command I saw something I hadn't seen before:

  Processing config file: /private/etc/httpd/users/al.conf

I hadn't seen any mention of this file anywhere before, and sure enough, it was getting parsed last, after all my other configuration efforts. (I was just editing the /etc/httpd/httpd.conf file.) Once I modified this configuration file, so it contained the contents shown below, then restarted Apache, my SSI's starting working.

Here's my /private/etc/httpd/users/al.conf configuration file as it appears now, with the SSI's working:

     Options Indexes MultiViews Includes     AllowOverride None     Order allow,deny     Allow from all 

If you read the Apache SSI link I included at the beginning of this tip you'll know that all I had to do here was add the "Includes" option to the "Options" directive in this file, and then everything magically started working.

FWIW, I'm using Apache 1.3.33 on Mac OS X 10.4.