เบเบตเปเปเบกเปเบเบเปเบฒเบชเบฑเปเบ git-http-backend เบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเปเปเบ OnWorks เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบฎเบเบเบดเปเบเบเบฃเบตเปเบเบเปเบเปเบซเบเบถเปเบเปเบเบซเบผเบฒเบเปเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบญเบญเบเปเบฅเบเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบฑเปเบ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator
เปเบเบเบเบฒเบ:
NAME
git-http-backend - เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเบเปเบเบตเบเปเบงเบตเบเบญเบ Git เบเปเบฒเบ HTTP
เบชเบฐเบซเบผเบธเบเบชเบฑเบเบฅเบงเบก
เปเบ http-backend
เบฅเบฒเบเบฅเบฐเบญเบฝเบ
เปเบเบเบเบฒเบ CGI เบเปเบฒเบเปเปเบเบทเปเบญเบฎเบฑเบเปเบเปเปเบเบทเปเบญเบซเบฒเบเบญเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ Git เปเบซเปเบเบฑเบเบฅเบนเบเบเปเบฒ Git เบเบตเปเปเบเบปเปเบฒเปเบเบดเบ
repository เบเปเบฒเบ http:// เปเบฅเบฐ https:// protocols. เปเบเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบฅเบนเบเบเปเบฒเบเบถเบเบเปเปเบกเบนเบ
เปเบเปเบเบฑเบเปเบเปเบเบเบญเบ HTTP เบญเบฑเบเบชเบฐเบฅเบดเบเบฐ เปเบฅเบฐเปเบเบฃเปเบเบเป HTTP dumb เบเบตเปเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบเบซเบผเบฑเบ, เปเบเบฑเบ
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบฅเบนเบเบเปเบฒเบเบธเบเบเบนเปเบเบฒเบเบเปเบฒเปเบเปเปเบเปเบเบเบญเบ HTTP smart.
เบกเบฑเบเบเบงเบเบชเบญเบเบงเปเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเบกเบตเปเบเบฅเป magic "git-daemon-export-ok", เปเบฅเบฐเบกเบฑเบเบเบฐ.
เบเบฐเบเบดเปเบชเบเบเบฒเบเบชเบปเปเบเบญเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบต Git เปเบเปเบเบตเปเบเปเปเปเบเปเบเบทเบเบซเบกเบฒเบเบขเปเบฒเบเบเบฑเบเปเบเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบปเปเบเบญเบญเบเบเปเบงเบเบงเบดเบเบตเบเบตเป
(เปเบงเบฑเปเบเปเบชเบเปเบเปเบเบฐเบเบฑเปเบเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก GIT_HTTP_EXPORT_ALL).
เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบกเบตเบเบฝเบเปเบเปเบเปเบฅเบดเบเบฒเบ upload-pack เปเบเบปเปเบฒเบเบฑเปเบเบเบตเปเบเบทเบเปเบเบตเบเปเบเป, เปเบเบดเปเบเปเบซเปเบเปเบฅเบดเบเบฒเบ เปเบ fetch-pack เปเบฅเบฐ เปเบ
ls-เปเบฅเบเบฐเปเบ เบฅเบนเบโเบเปเบฒโ, เบเบตเปโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฒเบโ เปเบ เบเบถเบ, เปเบ เบเบถเบ, เปเบฅเบฐ เปเบ cloneเบเบตเปเบขเบนเป เบเปเบฒเบซเบฒเบเบงเปเบฒ
เบฅเบนเบโเบเปเบฒโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเบงเบโเบชเบญเบโ, เบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโเบเบฒเบโเบฎเบฑเบโเบเบญเบโเปเบเปโเบเบทเบโเปเบเบตเบโเปเบซเปโเปเบเปโเบเบฒเบโ, เบเบตเปโเปเบฎเบฑเบโเปเบซเปโเบเปโเบฅเบดโเบเบฒเบโ เปเบ เบชเบปเปเบเบเบธเบ
เบฅเบนเบโเบเปเบฒโ, เปเบเบดเปเบโเปเบเปโเบเบทเบโเบฎเบฝเบโเบฎเปเบญเบโเบเบฒเบโ เปเบ เบเบฒเบเบเบธเบเบเบนเป.
เบเปเบฅเบดเบเบฒเบ
เบเปเบฅเบดเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเปเบเบตเบเปเบเปเบเบฒเบ / เบเบดเบเบเบฒเบเปเบเปเบเบฒเบเปเบเบเปเบเปเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเปเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ:
http.getanyfile
เบญเบฑเบเบเบตเปเปเบซเปเบเปเบฅเบดเบเบฒเบเบฅเบนเบเบเปเบฒ Git เบเบตเปเปเบเบปเปเบฒเบเบงเปเบฒเปเบงเบตเบเบฑเบ 1.6.6 เบเบตเปเบเปเปเบชเบฒเบกเบฒเบเปเบเปเบเบฒเบเบญเบฑเบเปเบซเบฅเบเปเบเป
เบเปเบฅเบดเบเบฒเบเบซเบธเปเบกเบซเปเป. เปเบกเบทเปเบญเปเบเบตเบเปเบเป, เบฅเบนเบเบเปเบฒเบชเบฒเบกเบฒเบเบญเปเบฒเบเปเบเบฅเปเปเบเปเบเบฒเบเปเบ repository,
เบฅเบงเบกเบเบฑเบเบงเบฑเบเบเบธเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเปเบเบฒเบเบชเบฒเบเบฒเปเบเปเบเบฑเบเบกเบตเบขเบนเป. เบกเบฑเบ
เบเบทเบเปเบเบตเบเปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบเปเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบเปเบเปเบเบฒเบเบกเบฑเบเปเบเปเปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเป
เบฅเบฒเบเบเบฒเบเปเบเบฑเบเบเบดเบ.
http.uploadpack
เบเบตเปเปเบซเปเบเปเบฅเบดเบเบฒเบ เปเบ fetch-pack เปเบฅเบฐ เปเบ ls-เปเบฅเบเบฐเปเบ เบฅเบนเบเบเปเบฒ. เบกเบฑเบเบเบทเบเปเบเบตเบเปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบเป a
repository เบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบเปเบเปเบเบฒเบเบกเบฑเบเปเบเปเปเบเบเบเบฒเบเบเบฑเปเบเบฅเบฒเบเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเปเบเบฑเบเบเบดเบ.
http.receivepack
เบเบตเปเปเบซเปเบเปเบฅเบดเบเบฒเบ เปเบ เบชเบปเปเบเบเบธเบ เบฅเบนเบเบเปเบฒ, เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบธเบเบเบนเป. เบกเบฑเบเบเบทเบเบเบดเบเปเบเปเบเบฒเบเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ
เบเบนเปเปเบเปเบเบตเปเบเปเปเปเบเบตเบเปเบเบตเบเบเบทเป, เปเบฅเบฐเบเบทเบเปเบเบตเบเปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบชเปเบฒเบฅเบฑเบเบเบนเปเปเบเปเบเบตเปเบเบทเบเบเบดเบชเบนเบเบขเบทเบเบขเบฑเบเปเบเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเป. เบกเบฑเบ
เบชเบฒเบกเบฒเบเบเบทเบเบเบดเบเปเบเปเบเบฒเบเปเบเปเปเบเบเบเบฒเบเบเบฑเปเบเบฅเบฒเบเบเบฒเบเบเบตเปเปเบเบฑเบเบเบดเบ, เบซเบผเบทเปเบเบตเบเปเบซเปเบเบนเปเปเบเปเบเบฑเบเปเบปเบ, เบฅเบงเบกเบเบฑเบ
เบเบนเปเปเบเปเบเบตเปเบเปเปเปเบเบตเบเปเบเบตเบเบเบทเป, เปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบกเบฑเบเปเบเบฑเบเบเบงเบฒเบกเบเบดเบ.
URL เบเบฒเบเปเบเบเบฒเบชเบฒ
เปเบเบทเปเบญเบเปเบฒเบเบปเบเบชเบฐเบเบฒเบเบเบตเปเบเบญเบ repository เปเบเปเบเปเบ, เปเบ http-backend concatenates เปเบเป
เบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก PATH_INFO, เปเบเบดเปเบเบเบทเบเบเบฑเปเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเปเบงเบฑเบเปเบเบตเบเปเบงเบต, เปเบฅเบฐ
GIT_PROJECT_ROOT, เปเบเบดเปเบเบเปเบญเบเบเบทเบเบเบฑเปเบเบเปเบงเบเบเบปเบเปเบญเบเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบตเบเปเบงเบต. เบเปเบฒ
GIT_PROJECT_ROOT เบเปเปเปเบเปเบเบฑเปเบ, เปเบ http-backend เบญเปเบฒเบ PATH_TRANSLATED, เปเบเบดเปเบเบเบทเบเบเบฑเปเบเปเบงเป
เบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเป.
เบเบปเบงเบขเปเบฒเบ
เบเบปเบงเบขเปเบฒเบเบเบฑเบเปเบปเบเบเปเปเปเบเบเบตเปเปเบเบเบเบตเป http://$hostname/git/foo/bar.git เบซเบฒ
/var/www/git/foo/bar.git.
Apache 2.x
เปเบซเปเปเบเปเปเบเบงเปเบฒ mod_cgi, mod_alias, เปเบฅเบฐ mod_env เบเบทเบเปเบเบตเบเปเบเป, เบเบฑเปเบ GIT_PROJECT_ROOT (เบซเบผเบท
DocumentRoot) เบขเปเบฒเบเบเบทเบเบเปเบญเบ, เปเบฅเบฐเบชเปเบฒเบ ScriptAlias โโเบเบฑเบ CGI:
SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias โโ/git/ /usr/libexec/git-core/git-http-backend/
เปเบเบทเปเบญเปเบเบตเบเปเบเปเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบญเปเบฒเบเปเบเบเบเปเปเปเบเบตเบเปเบเบตเบเบเบทเปเปเบเปเบกเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบเบฝเบเบเบตเปเบเบทเบเบเปเบญเบ, เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบญเบฐเบเบธเบเบฒเบ
เบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฒเบเปเบเบชเบฐเบเบฒเบญเปเบฒเบเบญเบตเบเปเบเบทเปเบญเบเบเบปเปเบ (เบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบงเบเบเบปเบเบงเปเบฒเปเบเบฑเบเบเบฒเบเบเบธเบเบเบนเปเบเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ
เบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบ query string), เปเบฅเบฐเบเบฒเบเปเบญเบตเปเบเบฎเบฑเบเบเบญเบเบเบปเบงเบกเบฑเบเปเบญเบ:
RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]
RewriteCond %{REQUEST_URI} /git-receive-pack$
RewriteRule ^/git/ - [E=AUTHREQUIRED:yes]
เบเปเบฒโเบชเบฑเปเบโเบเบฐโเบเบดโเปเบชเบโ, เบญเบฐโเบเบธโเบเบฒเบโเปเบซเปโ
เบเบฐเบเบดเปเบชเบเบเบฒเบ env=AUTHREQUIRED
AuthType Basic
เบเบทเป "Git Access"
เบฎเบฝเบโเบฎเปเบญเบโเปเบซเปโเบกเบตโเบเบฐโเบเบฐโเบเปเบฒโเบกเบฐโเบเบธเปเบกโ
เบเปเปเบเบขเปเบฒเบเปเบเบเปเปเบเบฒเบก
...
เบเปเบฒเบเปเบฒเบเบเปเปเบกเบต mod_rewrite เบเบตเปเบเบฐเบเบปเบเบเบฑเบ string query, เบกเบฑเบเปเบกเปเบ
เบเบฝเบเบเปเบเบตเปเบเบฐเบเบปเบเบเปเบญเบ git-receive-pack เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ, เปเบเบฑเปเบ:
AuthType Basic
เบเบทเป "Git Access"
เบฎเบฝเบโเบฎเปเบญเบโเปเบซเปโเบกเบตโเบเบฐโเบเบฐโเบเปเบฒโเบกเบฐโเบเบธเปเบกโ
...
เปเบเปเบซเบกเบเบเบตเป, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฐเบเปเปเบฎเปเบญเบเบเปเปเบซเปเบกเบตเบเบฒเบเบเบงเบเบชเบญเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเบเบปเบเบเปเบงเบฒเบฅเบนเบเบเปเบฒเบเบปเบงเบเบดเบ
เปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบเบฐเบเบฒเบเปเบเบฅเบฐเบเบฒเบเบธเบเบเบฐเบชเบปเบเบเบญเบเบเบฒเบเบเบธเบเบเบนเป, เปเบเบเบเบตเปเบเบฐเปเบเปเบฅเบเบฐเปเบเบทเปเบญเบเบเบปเปเบ
เบเบดเบเบเปเป. เบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบตเป, เบเปเบฒเบเบเบฑเบเบเปเบญเบเปเบเบตเบเปเบเปเบเบปเบงเปเบฅเบทเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒ http.receivepack เปเบ
repositories เปเบเบเบตเปเบเบงเบเบเบฐเบเบญเบกเบฎเบฑเบเบเบฒเบเบเบธเบเบเบนเป. เบเบถเบเบเบดเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบเปเบฒ http.receivepack
เบเปเปเปเบเปเบเบทเบเบเบฑเปเบ, เปเบกเปเบเปเบเบทเปเบญเบเบฐเบเบดเปเบชเบเบเบฒเบเบเบธเบเบเบนเปเปเบเปเปเบเบเบเบนเปเปเบเปเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบเบฒเบเบขเบทเบเบขเบฑเบ; เบเบฒเบเบฎเปเบญเบเบเปเปเบเบทเปเบญเบเบเบปเปเบเบเบฐ
เบเบฑเปเบเบเบฑเปเบ, เบฅเบฒเบเบเบฒเบ 403 Forbidden เบเบฑเบเบฅเบนเบเบเปเบฒ, เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบญเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบ
เบเบฒเบเบเบงเบเบชเบญเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบ.
เปเบเบทเปเบญเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบเบงเบเบชเบญเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฒเบเบญเปเบฒเบเปเบฅเบฐเบเบฒเบเบเบฝเบ, เปเบซเปเปเบเปเบเปเบฒเบชเบฑเปเบเบชเบฐเบเบฒเบเบเบตเปเบญเปเบญเบกเบฎเบญเบ
เบเบฑเบเปเบเบฑเบเบกเปเบฝเบ, เบซเบผเบทเบซเบเบถเปเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบซเบผเบฑเบเบเบญเบเบกเบฑเบ:
AuthType Basic
AuthName "เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ Git เบชเปเบงเบเบเบปเบง"
เบฎเบฝเบโเบฎเปเบญเบโเปเบซเปโเบกเบตโเบเบฐโเบเบฐโเบเปเบฒโเบกเบฐโเบเบธเปเบกโ
...
เปเบเบทเปเบญเบฎเบฑเบเปเบเป gitweb เบขเบนเปเปเบ url เบเบฝเบงเบเบฑเบ, เปเบเป ScriptAliasMatch เปเบซเปเบเบฑเบ URL เปเบซเบผเบปเปเบฒเบเบฑเปเบเปเบเบปเปเบฒเบเบฑเปเบ เปเบ
http-backend เบชเบฒเบกเบฒเบเบเบฑเบเบเบฒเบ, เปเบฅเบฐเบชเบปเปเบเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเปเบเบซเบฒ gitweb:
ScriptAliasMatch \
"(?x)^/git/.*/(HEAD | \
เบเปเปเบกเบนเบ/เบญเปเบฒเบเบญเบตเบ | \
เบงเบฑเบเบเบธ/(เบเปเปเบกเบนเบ/[^/]+ | \
[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
ScriptAlias โโ/git/ /var/www/cgi-bin/gitweb.cgi/
เปเบเบทเปเบญเบฎเบฑเบเปเบเปเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบซเบผเบฒเบเบเปเบญเบเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ gitnamespaces(7โ) เปเบ repository เบเบฝเบงโ:
SetEnvIf Request_URI "^/git/([^/]*)" GIT_NAMESPACE=$1
ScriptAliasMatch ^/git/[^/]*(.*) /usr/libexec/git-core/git-http-backend/storage.git$1
Accelerated static Apache 2.x
เบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเบเปเบฒเบเปเบเบดเบ, เปเบเป Apache เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบฑเบเบเบทเบเปเบเบฅเป static เบเบตเปเปเบเบฑเบเปเบงเปเปเบ
เปเบเปเบ. เปเบเบซเบผเบฒเบเปเบฅเบฐเบเบปเบเบเบตเปเบญเบฒเบเบเบฐเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบผเบฒเบเบเบถเปเบเบเปเบญเบเบงเปเบฒ Apache เบชเบฒเบกเบฒเบเบเปเปเบซเป kernel เบเบฑเบเบฅเบญเบ
เปเบเบทเปเบญเปเบเปเบเบฅเปเบเบฒเบเบฅเบฐเบเบปเบเปเบเบฅเปเปเบเบเบเบปเบเบเบฑเบเปเบเบทเบญเบเปเบฒเบ:
SetEnv GIT_PROJECT_ROOT /var/www/git
AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1
AliasMatch ^/git/.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1
ScriptAlias โโ/git/ /usr/libexec/git-core/git-http-backend/
เบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒ gitweb:
SetEnv GIT_PROJECT_ROOT /var/www/git
AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1
AliasMatch ^/git/.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1
ScriptAliasMatch \
"(?x)^/git/.*/(HEAD | \
เบเปเปเบกเบนเบ/เบญเปเบฒเบเบญเบตเบ | \
objects/info/[^/]+ | \
git-(upload|receive)-pack))$" \
/usr/libexec/git-core/git-http-backend/$1
ScriptAlias โโ/git/ /var/www/cgi-bin/gitweb.cgi/
เบชเบฐเบซเบงเปเบฒเบ
เปเบซเปเปเบเปเปเบเบงเปเบฒ mod_cgi, mod_alias, mod_auth, mod_setenv เบเบทเบเปเบซเบฅเบ, เบเบฒเบเบเบฑเปเบเบเบฑเปเบ
GIT_PROJECT_ROOT เบขเปเบฒเบเปเปเบฒเบฐเบชเบปเบก เปเบฅเบฐเบเปเบฝเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฑเบเปเบปเบเปเบเบซเบฒ CGI:
alias.url += ( "/git" => "/usr/lib/git-core/git-http-backend")
$HTTP["url"] =~ "^/git" {
cgi.assign = ("" => "")
setenv.add-environment = (
"GIT_PROJECT_ROOT" => "/var/www/git",
"GIT_HTTP_EXPORT_ALL" => ""
)
}
เปเบเบทเปเบญเปเบเบตเบเปเบเปเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบญเปเบฒเบเปเบเบเบเปเปเปเบเบตเบเปเบเบตเบเบเบทเปเปเบเปเบกเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบเบฝเบเบเบตเปเบเบทเบเบเปเบญเบ:
$HTTP["querystring"] =~ "service=git-receive-pack" {
เบเบฐเบเบญเบเบกเบต "git-auth.conf"
}
$HTTP["url"] =~ "^/git/.*/git-receive-pack$" {
เบเบฐเบเบญเบเบกเบต "git-auth.conf"
}
เบเปเบญเบเบเบตเป git-auth.conf เบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเบเบท:
auth.require = (
"/" => (
"เบงเบดเบเบตเบเบฒเบ" => "เบเบทเปเบเบเบฒเบ",
"realm" => "Git Access",
"require" => "เบเบนเปเปเบเปเบเบตเปเบเบทเบเบเปเบญเบ"
)
)
# ...เปเบฅเบฐเบเบฑเปเบเบเปเบฒ auth.backend เบเบตเปเบเบตเป
เปเบเบทเปเบญเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบเบงเบเบชเบญเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเบเบญเบเบเบฑเบเบเบฒเบเบญเปเบฒเบเปเบฅเบฐเบเบฒเบเบเบฝเบ:
$HTTP["url"] =~ "^/git/private" {
เบเบฐเบเบญเบเบกเบต "git-auth.conf"
}
ENVIRONMENT
เปเบ http-backend เบญเบตเบเปเบชเปเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก CGI เบเบตเปเบเปเบฒเบเบปเบเปเบงเปเปเบเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเบเบตเปเปเบญเบตเปเบ,
เบฅเบงเบกเบเบฑเบ:
ยท PATH_INFO (เบเปเบฒ GIT_PROJECT_ROOT เบเบทเบเบเบฑเปเบ, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ PATH_TRANSLATED)
ยท REMOTE_USER
ยท REMOTE_ADDR
ยท CONTENT_TYPE
ยท QUERY_STRING
ยท REQUEST_METHOD
เบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก GIT_HTTP_EXPORT_ALL เบญเบฒเบเบเบฐเบเบทเบเบชเบปเปเบเบเบฑเบ git-http-backend เปเบเบทเปเบญ bypass
เบเบฒเบเบเบงเบเบชเบญเบเปเบเบฅเป "git-daemon-export-ok" เปเบเปเบเปเบฅเบฐ repository เบเปเบญเบเบเบตเปเบเบฐเบญเบฐเบเบธเบเบฒเบเปเบซเปเบชเบปเปเบเบญเบญเบ.
เบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบเบฑเปเบ.
เบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก GIT_HTTP_MAX_REQUEST_BUFFER (เบซเบผเบท http.maxRequestBuffer config
variable) เบญเบฒเบเบเบฐเบเบทเบเบเบฑเปเบเปเบซเปเบเปเบฝเบเบเปเบฒเบฎเปเบญเบเบเปเบเบฒเบเปเบเบฅเบฐเบเบฒ ref เบเบตเปเปเบซเบเปเบเบตเปเบชเบธเบเบเบตเป git เบเบฐเบเบฑเบเบเบฒเบ
เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบ fetch; เบเบฒเบเบเบถเบเบเปเปเบกเบนเบเปเบเปเบเปเบเบฒเบกเบเบตเปเบเปเบญเบเบเบฒเบ buffer เปเบซเบเปเบเบงเปเบฒเบเบฐเบเปเปเบชเปเบฒเปเบฅเบฑเบ. เบกเบนเบเบเปเบฒเบเบตเปเบเบงเบ
เบเบปเบเบเบฐเบเบดเปเบฅเปเบงเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ, เปเบเปเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฐเปเบซเบเบเบเปเบฒเบซเบฒเบเบงเปเบฒเบเปเบฒเบเบเปเบฒเบฅเบฑเบเบเบถเบเบเปเปเบกเบนเบเบเบฒเบ repository
เบเบฑเบเบเปเบฒเบเบงเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเบซเบผเบฒเบ. เบกเบนเบเบเปเบฒเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเบเบปเบเบเปเบงเบเบซเบเปเบงเบเบเบฒเบ (เบเบปเบงเบขเปเบฒเบ: 100M
เบชเปเบฒเบฅเบฑเบ 100 megabytes). เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบกเปเบ 10 megabytes.
เบเบฐเบเบงเบเบเบฒเบ backend เบเปเบฒเบเบปเบ GIT_COMMITTER_NAME เปเบเบฑเบ $REMOTE_USER เปเบฅเบฐ GIT_COMMITTER_EMAIL เบเบฑเบ
${REMOTE_USER}@http.${REMOTE_ADDR}, เบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒ reflogs เปเบเปเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบ git-receive-pack
เบกเบตเบเปเปเบกเบนเบเบเบฒเบเบฅเบฐเบเบธเบเบปเบงเบเบปเบเบเบฒเบเบขเปเบฒเบเบเบญเบเบเบนเปเปเบเปเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบเบเบตเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบธเบเบเบนเป.
เบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก CGI เบเบฑเบเปเบปเบเปเบกเปเบเบกเบตเบขเบนเปเปเบเปเบเปเบฅเบฐ hooks เบเบตเปเบเบทเบเบฎเบฝเบเบฎเปเบญเบเปเบเบ
git-receive-pack.
GIT
เบชเปเบงเบเบซเบเบถเปเบเบเบญเบ เปเบ(1) เบเบธเบ
เปเบเป git-http-backend เบญเบญเบเปเบฅเบเปเปเบเบเปเบเปเบเปเบฅเบดเบเบฒเบ onworks.net