내 설정 :
1. Git 저장소 용 OS X runnig apache 서버.
2. 망할 놈의 프로젝트에 대한 나의 디렉토리는 여기에 있습니다 :/라이브러리/웹 서버/문서/CI
내가이 튜토리얼을 따라 한 3. http://www.pkgbox.org/wordpress/2011/08/setting-up-a-git-server-on-macos-x-lion/ 및
4. 내 gitrepo.conf 같은입니다 HTTP를 통해 망할 놈의 접근을 잘 살고 : HTTP를 통해
OS X에서 HTTP를 통한 수신 후 수신
DavLockDB "/var/www/DavLock/Lock"
DavMinTimeout 28800
<Directory /Library/WebServer/Documents/CI>
DAV On
Deny from all
AuthType Basic
AuthName "Area51 git repositories"
AuthUserFile /etc/apache2/other/htpasswd-git
AuthGroupFile /etc/apache2/other/htgroup-git
</Directory>
<Directory /Library/WebServer/Documents/CI/ci_test.git>
Allow from all
Order allow,deny
Require valid-user
<Limit GET>
Require group myproject-reader
</Limit>
<Limit GET PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require group myproject-writer
</Limit>
</Directory>
5. 인증이 작동, 나는 다른 사용자와 다른 그룹을 가지고 있으며 모든 작업 괜찮습니다.
내 문제는 : 내 자식에서 수신 후크를 사용할 수 있기를 원합니다. 이 질문을 읽었습니다 : Git post-receive hook not working 그리고 내가 거기에서 얻는 것은 SMART HTTP를 설정해야한다는 것입니다. 불행히도이 링크 : http://www.kernel.org/pub/software/scm/git/docs/git-http-backend.html GET은 404
나에게있어 내가 여기에 읽었습니다 : http://progit.org/2010/03/04/smart-http.html하지만 서버를 설정하는 정말 초보자 그리고 난 내가 뭘 생각하고 무엇을 이해하지 ... 당신은 저를 제공 할 수 GIT 후크를 활성화하기위한 유효한 구성이 있습니까?
제안 된 솔루션 SMART HTTP로 변경.
: 여기 내가이 요청을하려면 127.0.0.1 지금은 드릴 수 없습니다 가리키는으로 ciserver.smt을 추가/etc/hosts 파일을 변경 한 내 현재 gitrepo.conf<VirtualHost *:80>
ServerName ciserver.smt
DocumentRoot /Library/WebServer/Documents/CI
SetEnv GIT_PROJECT_ROOT /Library/WebServer/Documents/CI
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias//usr/libexec/git-core/git-http-backend/
AliasMatch ^/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /Library/WebServer/Documents/CI/$1
AliasMatch ^/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /Library/WebServer/Documents/CI/$1
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/libexec/git-core/git-http-backend/$1
<LocationMatch "^/.*/git-receive-pack$">
AuthType Basic
AuthName "Git"
AuthUserFile /etc/apache2/other/htpasswd-git
AuthGroupFile /etc/apache2/other/htgroup-git
<Limit GET>
Require group myproject-reader
</Limit>
<Limit GET PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require group myproject-writer
</Limit>
</LocationMatch>
</VirtualHost>
입니다
git clone http://[email protected]/ci_test.git
나는군요 :
error: The requested URL returned error: 403 while accessing http://[email protected]/ci_test.git/info/refs
fatal: HTTP request failed
은 아직도 무슨 일을 했는가?
나는 당신의 붙여 넣기 된 링크를 따라 갔다. (내가 따라야 할 방향을 안다. 나는 여기서 뭔가 잘못했음을 두려워한다. 변경된 설정으로 내 질문을 업데이트하겠습니다. – Ertai