チームのために git を評価しようとしていますが、要件の 1 つは転送方法として HTTPS を使用することです。新しい Smart HTTP トランスポートを使用してこれを設定する方法について、 git-http-backend のドキュメントといくつかのまばらなブログをフォローしようとしましたが、うまくいきません。私はそれがおそらくばかげたことであることを知っていますが、私はそれについて頭を悩ませましたが役に立ちませんでした. git に関する実際の知識を前提としないでください。私はこのツールを初めて使用します。
現在、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エラーログには次のように書かれています:
エラー: リポジトリ データベース ./objects にオブジェクトを追加するための権限が不十分です
致命的: オブジェクトの書き込みに失敗しました
アパッチ構成:
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
しかし、私はまだ同じエラーが発生します。
ありがとうございます。