I'm trying to set up git and Apache on Home windows. I've installed MSYSGit 1.7.3 on my small Home windows 2008 server (x64). I decided the git instructions should work from the Home windows command prompt after i installed msysgit.

I've added wrinkles to my http.conf file:

SetEnv GIT_PROJECT_ROOT C:/Repositories
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ "C:/Progra~2/git/libexec/git-core/git-http-backend.exe/"

<Directory />
  Options +ExecCGI
  Allow from all
</Directory>

I produced a repository (MKE_Playground.git). I added personal files test.txt.

After I make an effort to access the URL http://localhost/git/MKE_Playground.git I recieve this error within the Apache log:

[Tue Feb 01 15:56:09 2011] [notice] Child 1164: Child process is running
[Tue Feb 01 15:56:09 2011] [notice] Child 1164: Acquired the start mutex.
[Tue Feb 01 15:56:09 2011] [notice] Child 1164: Starting 64 worker threads.
[Tue Feb 01 15:56:09 2011] [notice] Child 1164: Starting thread to listen on port 80.
127.0.0.1 - - [01/Feb/2011:15:56:14 -0600] "GET /git/MKE_Playground.git HTTP/1.1" 500 539
[Tue Feb 01 15:56:14 2011] [error] [client 127.0.0.1] Premature end of script headers: git-http-backend.exe

I understand that which means that the headers in the script were malformed. Basically were writing the script I'd check there, however i think that the git after sales typically provides correct headers. My undertake this would be that the git http after sales unsuccessful for whatever reason. How can i visit determine why it unsuccessful? It is possible to Git log somewhere?

Pat O

I had been fighting exactly the same problem. During my situation it had been a person permission problem. You should check the "loginInch information for that Apache Home windows Service and test together with your domain user for example (User Interface->Administrative Tools->Services->Apache->Log On Tab).

Following a reboot, browsing for your http://localhost/git/MKE_Playground.git should then provide you with a Request not supported error inside your error.log. That's fine.

git clone http://localhost/git/MKE_Playground.git should work then.

I worked having a similar problem earlier.

Running "git-http-after sales.exe" inside a Cygwin spend says the dll, "libiconv2.dll" couldn't be located. The file is situated within the git/bin directory for my Git install (mostly defaults). I added the bin and libexec sites from the git install to my Path, and could clone the git repository in your area through Apache.

Note: My Apache error logs appeared as if this - git-http-after sales.exe was failing around the missing dll, although not confirming that within the httpd logs:


[Mon February 14 15:26:02 2011] [notice] Child 3308: Beginning 64 worker threads.

[Mon February 14 15:26:02 2011] [notice] Child 3308: Beginning thread to pay attention on port 80.

[Mon February 14 15:26:20 2011] [error] [client 127...1] Premature finish of script headers: git-http-after sales.exe

[Mon February 14 15:26:20 2011] [error] [client 127...1] Premature finish of script headers: git-http-after sales.exe

I've abandonded the thought of running Git on Home windows. As a result this really is no more an problem for me personally.

Interesting help.

This labored for my 1.7.6.msysgit. setup:

In http://www.jeremyskinner.co.uk/2010/07/31/hosting-a-git-server-under-apache-on-windows/, Jeremy Skinner indicates that it should be easy to run Gitlibexecgit-http-after sales.exe inside a Home windows cmd spend. If this fails, copy Gitbinlibiconv-2.dll and Gitbinlibiconv2.dll to Gitlibexecgit-core and check out again. If you're able to call git-http-after sales.exe and it offers a superior a "500 Internal Server Error", try your clone or fetch again.