最初は1人の開発者だけでgitサーバーを実装しようとしているので、完全にアクセスできるのは1人だけです。私はすでにこれを行うことに問題はありません。このユーザーは、ssh アクセスで作業を行っています。
そして、プロジェクトへの読み取り専用アクセスを、Apacheで実行されているある種のGUI(gitweb、gitlist、gitalist ...)と共有したいと思います。これにより、選択したリポジトリを特定のユーザーや完全に公開することができます。何かのようなもの:
- Repo x - user1 と user3 の読み取りアクセス
- Repo y - user1 と user2 の読み取りアクセス
- Repo z - すべてのユーザーの読み取りアクセス。
このようなことを行うための適切な解決策を見つけることができません。
認証されたユーザーにのみリポジトリを表示するための認証方法に関するドキュメントを見つけることができますが、Apache で実行されている GUI の 1 つを使用して、認証された各ユーザーにいくつかのリポジトリのみを表示するためのリポジトリのきめ細かい制御はできません。
webmin gitモジュールを使用してdavでgitwebを試しましたが、認証したユーザーがすべてではなく一部のリポジトリにしかアクセスできない場合でも、すべてのリポジトリがgitwebに表示されます。
Web サーバーはユーザー git で suexec を実行しており、リポジトリへの完全な読み取りアクセス権を持っています。
このようなものをどのように実装する必要がありますか?多分いくつかのフック?
さらに、ユーザーがプロジェクトのパッケージ化された tar.gz をダウンロードできるようにするオプションにのみ興味があります。ユーザーがプロジェクトと共同作業できるようにする予定はありません。多分解決策はこれ以外です。プロジェクトに関するフィードバックを受け取ることができるようにするために、trac システムがより良い解決策である場合も興味深いものになる可能性があります。