Hello,
I use Mac OS X server. Or maybe a better thing to say is I use Apache 2.
I have found that the get documentation is–I know this is shocking for an open source project–not quite current. Specifically the git protocols have incorporated a very efficient HTTP transfer mechanism, which is not talked about too much. Most of the documentation seems rooted in the past prior to when this efficient HTTP protocol was incorporated.
The protocols pack up all the small changes and transmit them is a large packet, much like the SSH protocol. The advantage of using the HTTP protocol is that it easily passes through corporate firewalls, whereas the SSH protocol is often blocked.
What I did to convert my server into a private github was the following:
1. Turn on DAV. You can stop there, but you will have an inefficient transfer. DAV is good for creating the initial bare repository.
2. Include the attached HTTP directives in the git_support.conf file for Apache 2. This allows the execution of git code which does the packing and the packing. The example attached file is using directories specific to how I have set up the server. You may want to change the locations of the directories. Also I am using the Macports git, so you will see locations like:
/opt/local/libexec/git-core/git-http-backend/
for the executables of git.
I even use these type of urls with github; it works fine.