2014-06-11 11 views

답변

0

아이디어는 git-http-backend exe를 사용하여 httpd Apache 구성 파일에서 직접 git를 호출하는 것입니다.
이것은 smart http protocol의 일부이며, 나는 this answer에 언급되어 있습니다.

Env GIT_PROJECT_ROOT C:/GIT/Apache/repositories 
SetEnv GIT_HTTP_EXPORT_ALL 
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER 
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))$" \ 
        "C:/Program Files/git/libexec/git-core/git-http-backend.exe/$1" 

해당 스크립트 (Git 배포판에 있음)는 http를 통해 git 쿼리를 가져 와서 결과를 반환 할 수 있습니다.

당신은 "Setting up Git Server on Windows With git-http-backend.exe"는 세분화 된 액세스 레벨 제어를 위해


, 당신은 당신의 httpd.conf (gitolite에서 gitolite 다음 히트 HTTP 호출 것 authorization layer처럼 추가 할 수있는 완전한 예제를 찾을 수 있습니다 git 쿼리를 승인하면 백엔드).
LDAP (for the authentication part)와 함께 cunjunction에서 사용하지만 LDAP를 사용할 필요는 없습니다. gitolite가 사용할 사용자 ID (allow)를 갖기 위해서는 Apache 구성이 먼저 사용자를 인증하도록 설정되어 있는지 확인하십시오. 또는 거부).

+0

익명으로 끌어 오기 및 인증 된 밀어 넣기를 수행 할 수 있습니까? 이 모든 예제는 큰 도움이 될 것입니다 – user3053286

+0

@ user3053286 쉬운 gitolite (http://stackoverflow.com/a/13796467/6309). gitolite없이 : http://tommi.org/2012/01/git-through-apache-anonymous-pull-but-authenticated-push/ – VonC

+0

하지만 gitolite는 방화벽 친화적이지 않은 ssh 키를 사용합니다. – user3053286