4

I'm setting up a git server with git-http-backend and Smart HTTP but Apache doesn't seem to be calling the Smart HTTP CGI:

$ curl http://localhost/repo/myproject.git/info/refs?service=git-receive-pack 2ddf56592a0f55456b8c42dc9f2cb9289f083f53 refs/heads/1.0.x 55079bb13d9af8a9164ad0d24b654cbfe119bc7e refs/heads/master 

Here's my config:

<VirtualHost *:8000> ServerName localhost DocumentRoot /opt/local/apache2/htdocs/repo SetEnv GIT_PROJECT_ROOT /opt/local/apache2/htdocs/repo SetEnv GIT_HTTP_EXPORT_ALL ScriptAlias /repo/ /usr/libexec/git-core/git-http-backend/ AliasMatch ^/repo/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /opt/local/apache2/htdocs/repo/$1 AliasMatch ^/repo/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /opt/local/apache2/htdocs/repo/$1 ScriptAliasMatch \ "(?x)^/repo/(.*/(HEAD | \ info/refs | \ objects/(info/[^/]+ | \ [0-9a-f]{2}/[0-9a-f]{38} | \ pack/pack-[0-9a-f]{40}\.(pack|idx)) | \ git-(upload|receive)-pack))$" \ /usr/libexec/git-core/git-http-backend/$1 <Directory "/usr/libexec/git-core/"> Options +ExecCGI Allow From All </Directory> <LocationMatch "^/repo/.*/git-receive-pack$"> AuthType Basic AuthName "Git" Require valid-user AuthUserFile /etc/apache2/other/htpasswd </LocationMatch> </VirtualHost> 

Here's the output of httpd -S:

VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:8000 localhost (/private/etc/apache2/other/gitrepo.conf:1) Syntax OK 

And I have got http.receivepack enabled (= true) in my server-side git config:

[http] receivepack = true 

Any ideas of what I should do?

1 Answer 1

1

Well, since that's in the virtualhost for :8000, I would presume you'd want to curl http:// localhost:8000/, not http:// localhost/. Beyond that, just make sure mod_cgi is enabled.

1
  • I completely forgot about the VirtualHost! Thanks! Commented Aug 1, 2012 at 11:12

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.