I spent a whole day struggling with Apache 2.0 because .cgi files wouldn't work with public_html.
In the end, I compiled cgiwrapper with some options to make it work. It's not essential, but it's fine.
Optionally, it has the following form:
./configure –with-cgi-dir=public_html –with-httpd-user=apache –with-install-dir=/var/www/cgi-bin
Apparently, unless you add at least these three options, it's no good.
--with-cgi-dir=public_html will also manage the .cgi files directly under it.
The path forward is as follows:
develop% ./configure –with-cgi-dir=public_html –with-httpd-user=apache –with-install-dir=/var/www/cgi-bin
develop% make
root# make install