git-http-backend와 apache 2.4를 사용하여 git 서버를 설정하려하고 있습니다. 도움이되었던 것과 동일한 것에 대해 this question을 찾았지만, 나는 붙어있다. 나는 우분투 16.04에 자식과 아파치를 설치 한 및 필요한 모듈 아파치로 git-http-backend 설정하기 2.4
sudo a2enmod cgi alias env
그런 다음 /etc/apache2/apache2.conf
에 다음 코드를 추가 : /var/www/git
이 어디
<VirtualHost *:80>
SetEnv GIT_PROJECT_ROOT /var/www/git
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))$" \
"/usr/lib/git-core/git-http-backend/$1"
Alias /git /var/www/git
<Directory /usr/lib/git-core>
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
하는 것으로 I 내 보고서를 보내고 달려 간다.
find/-name git-http-backend
/usr/lib/git-core/git-http-backend
다음, /var/www/git/
의 내부 내가 디렉토리 myrepo.git
을 생성 등을 설정을 보여줍니다
sudo git init --bare --shared
sudo cp hooks/post-update.sample hooks/post-update
sudo git update-server-info
다음으로, 나는 아파치 소유자에게 디렉토리의 소유권을 변경해야합니다 (임 말했다). 뭔가를 실행하는 두 root
및 www-data
처럼 보이기 때문에
root 3087 0.0 0.4 73688 4928 ? Ss 02:37 0:00 /usr/sbin/apache2 -k start
www-data 3455 0.0 0.5 362836 5852 ? Sl 03:13 0:00 /usr/sbin/apache2 -k start
www-data 3456 0.0 0.5 362836 5852 ? Sl 03:13 0:00 /usr/sbin/apache2 -k start
git 3531 0.0 0.0 14512 932 pts/1 S+ 03:19 0:00 grep -E --color=auto (apache|httpd)
지금은 모르겠지만, 현재 WWW 데이터 (어쩌면 그것이 있어야로 소유권을 설정하기로 결정했습니다 : ps aux | egrep '(apache|httpd)'
를 실행하면 다음과 반환 뿌리?).
sudo chown -R www-data:www-data .
가 나는 또한 전체 경로가에 속하는 가지고 읽기 기억하는 것 : www가 데이터의 그룹은 내가 그 소유권을 설정하는 데 사용 (내 생각) 그래서
$ id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data)
또한 www가 데이터입니다
: 그래서 그냥 좋은 측정을위한 아파치 사용자는 본인은 myrepo를 복제하려고 내 localmachine에서 지금sudo chown -R www-data:www-data /var/www
설정
fatal: unable to access 'http://<ip-address>/myrepo.git/': The requested URL returned error: 503
아무도 임 잘못하고 무엇을 볼 수 :
그리고 오류는 무엇입니까?
그래 이러한 별칭이 표시되지 않습니다, 나는 복사 별칭이 [이 답변에서 ] (http://stackoverflow.com/a/26734934/3486338) 나는 그것이 필요한지 확실하지 않습니다. 나는 주된 문제가 권한 문제라고 생각한다. 나는 디렉토리 소유권을'root'로 바꿨지 만 지금은 복제 할 수 있지만 다시 밀어 올릴 수는 없다. 나는 그것 [이 게시물] (http://stackoverflow.com/questions/6448242/git-push-error-insufficient-permission-for-adding-an-object-to-repository-datab)와 유사하다고 생각합니다. – bradimus