Não vou fazer um tutorial sobre como instalar o Gitweb com o módulo Dav no Apache, até por que tem um monte de bons tutorias por ai, como esse:
http://ballen.co.uk/2012/07/23/installing-a-git-server-using-apache-webdav-on-ubuntu-server-12-04/
Mas o lance, é que nunca funciona como queremos ou imaginamos =/ Então, aqui vai algumas dicas:
O usuário dono da pasta onde estão armazonados os repositórios deve ser www-data:
chown www-data.www-data /var/www/repository -R
Outra coisa que não consegui, foi criar um repositório fora do diretório do Apache /var/www, mesmo dando todas as permissões do mundo pro diretório. Então, recomendo que esse repositório fique dentro dos "domínios" do Apache, e que você controle a segurança da pasta através das diretivas do Apache.
Segue aqui os arquivos de configuração prontos:
/etc/gitweb.conf
/etc/apache2/conf.d/git
/etc/apache2/conf.d/gitweb
Um detalhe interessante na primeira imagem, o arquivo /etc/gitweb.conf é para configuração
@git_base_url_list = ('http://mydomain.com/git');
É a configuração que define a url que vai ser apresentada na pagina do repositório. Ou seja, para um repositório chamado system, ele vai mostrar:
URL http://mydomain.com/git/system
Para gear o arquivos de senhas do apache, o comando é:
sudo htpasswd -c /etc/apache2/pass/gitpass user
Lembrando que o parametro -c é de create new file, e deve ser adicionado só na criação do primeiro usuário.
Acho são esses detalhes que sempre esqueço quando tenho que configurar um novo servidor de repositório, o que não é muito comum no meu dia-a-dia.
Até a próxima!