You'll need this (located anywhere you want) in the config file...
Code:
<Directory "/home/*/www/html/cgi-bin">
Options +ExecCGI
</Directory>
Just replace the path above with the path to your actual cgi-bin. The important part is the +ExecCGI which adds this functionality to the directory you've chosen.
That's it, really. Also be aware that asterisk's work here just like they do at the shell. which means, the example I'm showing above will activate ExeCGI for all paths on your server that match this string. In my case, I've got a whole bunch of users who have accounts setup the same way, so I can enable cgi-bin's on all of their accounts using this simple statement and I don't need to make seperate ones for each account, which becomes a pain everytime I need to add another user.
And yes, you'll need to create this directory.
Also, another nugget that may be important for you...
If your cgi script will be creating any new files (like if you had a message board that writes new files all the time) those files will be written with "apache" as the owner. This becomes a real pain when you want to have the admin for that website able to FTP into their account and manipulate those files. They will not be able to delete those files because they are not the owner of the files! Unless you have them logging in as the apache user, which is a bad idea because what happens when you want to let other people login using FTP? You can't have everyone logging in via FTP as the apache user!
The solution here is to use "suexec" which allows a virtual host to run as a specified user. So in the vhost stanza, you have the following line...
Code:
SuexecUserGroup user group
Where "user" is the user you want apache to run as, and "group" is the group you want apache to run as. What happens now is... when files are created by a cgi script anywhere under that document root, they are created with the user/group you specify. This way, when people login using FTP, they are able to manipulate those files because they are the owner of the files that were written.
Hope that helps.