O Git vem com seu próprio git-http-backend
, um aplicativo CGI que fornece fetch & empurre o HTTP (S). Você encontrará instruções para vários servidores web mais comuns em sua página de manual. A autenticação também é feita por meio do servidor da Web (por exemplo, HTTP Basic).
Um exemplo de configuração somente leitura para nginx + fcgiwrap pode ser:
location / {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
fastcgi_param GIT_PROJECT_ROOT /home/grawity/pub/git;
fastcgi_param PATH_INFO $uri;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_pass unix:/run/fcgiwrap.socket;
}
Observe que o git-http-backend fornece somente Git operações remotas, ou seja, clone / fetch / push. Se você também precisa de uma interface gráfica para navegar em seus repositórios, isso tem que ser instalado separadamente. Interfaces gráficas comuns são cgit, gitweb e Gitea / Gogs.