GitストレージサーバーGIT_PROJECT_ROOT

GitストレージサーバーGIT_PROJECT_ROOT

Git SmartHTTPとApache2を使用して私のGitストレージサーバーを設定しようとしています。だからただフォローしてください。これら公式Gitマニュアルの指示。ただし、設定中にこの変数が正確に何を構成しているかは不明ですGIT_PROJECT_ROOT。 Webサーバー上の1つのリポジトリへのパスを設定しますか、またはその値をすべてのリポジトリを含むフォルダへのパスに設定できますか?
この変数は他の何かに影響しますか?
問題は、SmartHTTPの章や公式のgitマニュアルの環境変数の章に説明や説明がないことです。

ベストアンサー1

奥に説明があります。git-http-バックエンドマニュアルGIT_PROJECT_ROOTApacheと同様に、すべてのリポジトリの親パスに設定された変数DocumentRootURLパスをファイルシステムに変換するディレクティブ:

URLの翻訳

ディスク上のストレージの場所を確認するには子httpバックエンドPATH_INFOWebサーバーが自動的に設定する環境変数と、GIT_PROJECT_ROOTWebサーバー構成で手動で設定する必要がある環境変数を関連付けます。設定していない場合GIT_PROJECT_ROOT子httpバックエンド読み取りPATH_TRANSLATED、これもWebサーバーによって自動的に設定されます。

はい

以下の例はすべてにhttp://$hostname/git/foo/bar.gitマップされています/var/www/git/foo/bar.git

Apache 2.x

mod_cgi、mod_alias、およびmod_envが有効で正しく設定されていること(またはDocumentRoot)を確認し、GIT_PROJECT_ROOTCGI用のScriptAliasを作成します。

SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/

したがって、/git/一部はhttp://hostname/git/foo/bar.gitgit-http-backend CGIスクリプトにマッピングされ、残りはGitリポジトリと一致する必要があるパス(またはDocumentRoot)変数に追加されますfoo/bar.gitGIT_PROJECT_ROOT

おすすめ記事