チームのためにgitを評価しようとしていますが、要件の1つはトランスポート方法としてHTTPSを使用することです。私はgit-http-backendのドキュメントと新しいスマートHTTPトランスポートを使用してこれを設定するためのいくつかの疎なブログに従っていますが、うまく機能していません。私はそれがおそらく何かばかげたことを知っていますが、私はそれの上に私の脳を無駄にしてしまいました。 gitで本当の知識を前提にしていない、私はかなり新しいツールです。権限が不十分Gitに共有するRepo over Smart HTTP
今私は、HTTP上でうまくクローンを作成することができますが、私がしようとすると、プッシュするとき、クライアントが取得する:
$ git push
Username:
Password:
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 291 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
error: unpack failed: unpack-objects abnormal exit
サーバーApacheのエラーログは言う:
error: insufficient permission for adding an object to repository database ./objects
fatal: failed to write object
Apache設定:
SetEnv GIT_PROJECT_ROOT /opt/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
<Location /git>
AuthType Basic
AuthName "Private Git Access"
Require valid-user
AuthUserFile /opt/git/passwords
</Location>
明らかに私の最初の考えは、ファイルのパーミッションだったので、私は迅速のchown -R apacheのをした場合:/ opt/gitの
# ls -l /opt/git
drwxr-xr-x. 7 apache apache 4096 Aug 12 11:06 project.git
しかし、私はまだ同じエラーを取得します。
ありがとう、私はこれに得ることができるすべてのヘルプに非常に感謝します。
これは、Apacheのディレクトリへの書き込みをブロックするSELinuxのことになりました。 – bfos