5

I'm currently hosting my own git-repos for my private projects. For this, I use Apache and the standard git http-backend.

Now, a repo can be accessed under an URL like this:

http://vcs.myserver.lc/git/Repo.git 

With this URL, I can push, fetch and clone to/from this repo using . However, opening this URL in a Browser simply gives me a blank page and now I'm looking for a way to avoid this.

Instead, I'd like Apache to present a page with some infos like:

This is not a web-page, this is a git-repo. You can clone this repo using git clone [URL] ...

It would be nice if [URL] would be replaced with the current URL (using PHP for example), but plain HTML would be fine, too.

I know this should be possible since does the same with their repos.

I managed to do something similar for the vcs.myserver.lc-domain by specifying a DocumentRoot in the VHost-config file:

DocumentRoot /srv/http/vcs/ 

In this path, i put a simple index.html-file with basic instructions.

So, is their any simple way of showing an info side for browsers while the git-client can still work with the repo? Can I redirect browsers to a specific info-site?

1 Answer 1

-1

Yes, that's actually relatively simple. You need to tell apache to only use the git-http-backend for things git is interested in, which is anything that matches ^.*/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$

2
  • Would you elaborate? Using AliasMatch with that expression doesn't work. Commented Aug 26, 2015 at 21:02
  • Ok, I've figured it out and your answer was the pointer I needed. I created an AliasMatch ^/git/.*.git/$ <some_txt_file_with_basic_instructions> to handle browsers and a ScriptAliasMatch ^/git/(.*\.git/.*) /usr/lib/git-core/git-http-backend/$1 where I previously had the textbook ScriptAlias. Commented Aug 27, 2015 at 18:18

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.