Debian / Apache - Configure um servidor git + gitweb sem virtualhost

1

Eu estou lutando para configurar um servidor git limpo e funcional com o gitweb sem virtualhost .

Software

  • Debian 8
  • Apache 2.4

Configuração inicial

  • mod userdir ativado
  • O Apache DocumentRoot é / home / user / public_html
  • php5-cgi e módulos relacionados do Apache ativados
  • adicionou "usuário" a www-data e adicionou permissões corretas

Objetivo

  • Sem virtualhost
  • Todos os git repos em / home / user / git,
  • Repos clonável / empurrável a partir do link (ssh, http, git)
  • O Gitweb pode ser acessado pelo link (se não for possível, link )
  • .htpasswd protegido

Recursos seguidos

/etc/apache2/sites-enabled/git.conf

Alias /git /home/user/git

<Directory /home/user/git>
 Options All
 AllowOverride All
 Require all granted

Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
SetEnv GITWEB_CONFIG /etc/gitweb.conf

RewriteEngine on

RewriteRule ^([^.]+\.git.*)$ /git/gitweb.cgi/$0 [L,PT]
</Directory>

ScriptAliasMatch \
 "(?x)^/(.*/(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/lib/git-core/git-http-backend/$1

  SetEnv GIT_PROJECT_ROOT /home/user/git
  SetEnv GIT_HTTP_EXPORT_ALL
  SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER

/etc/apache2/conf-enabled/git.conf

<IfModule mod_alias.c>
  <IfModule mod_cgi.c>
    Define ENABLE_GITWEB
  </IfModule>
  <IfModule mod_cgid.c>
    Define ENABLE_GITWEB
  </IfModule>
</IfModule>

<IfDefine ENABLE_GITWEB>
  Alias /git /usr/share/gitweb

  <Directory /usr/share/gitweb>
    Options +FollowSymLinks +ExecCGI
    AddHandler cgi-script .cgi
 DirectoryIndex gitweb.cgi
  </Directory>
</IfDefine>

Neste momento, http://myserver/git mostra uma lista de repos, mas http://myserver/git/repo.git/ é "não encontrado" e o gitweb não está acessível.

    
por kursus 21.10.2015 / 12:33

1 resposta

0

Depois de instalar o gitweb via apt-get, você deve executar o seguinte:

# a2enmod cgi
# service restart apache2

Em seguida, insira link

    
por 21.02.2017 / 14:54