私は信じています (まだ試していませんが) gitosisは次の目的のために進むべき道だと思います:
更新: 2011 年、実際にgitoliteをデプロイしました
- リポジトリのホスティングを
git
より簡単かつ安全にします。これ
- SSH キーを使用してユーザーを識別し、1 つのユーザー アカウントで複数のリポジトリを管理します。
エンド ユーザーは、サーバー上でシェル アカウントを必要としません。エンド ユーザーは、任意のコマンドを実行できない 1 つの共有アカウントと通信します。
私が推奨するインストール プロセスは、サーバー上の gitolite の完全なインストールをコピーするために、クライアント ポストから行うものです。
(from-client 方式) クライアントからサーバーへのインストール
覚えておいてください: gitolite は認証 (SSH) ではなく承認を管理します: SSH なしで使用できますが、その自然な展開は SSH と強制コマンド メカニズムを介して行われます。(gitosis と同様ですが、より多くの機能を備えています)
gitosis の古い参考文献:
ここにステップバイステップのチュートリアルがあります。
そして、チュートリアルのアプリケーション: Gitosis — 複数の Git リポジトリのホストを管理可能にする(Mac の場合) またはgitosis を Ubuntu にインストールする
続いて:安全な Git セットアップにユーザーを追加する
以下で終了: Git サブプロジェクト(gitosis サーバーがこれらすべての異なる git リポジトリを管理しているため)
本当に軽い (cgi サーバー) パブリック Git リポジトリの場合、次のことができます。
- git サーバーをセットアップします: git-daemon ; ポート 9418 でリッスンします。デフォルトでは、git ディレクトリのように見え、マジック ファイル git-daemon-export-ok を含むすべてのディレクトリへのアクセスを許可します。いくつかのディレクトリ パスを git-daemon 引数として渡すと、エクスポートがそれらのパスにさらに制限されます。
git-daemon を inetd サービスとして実行することもできます。
- httpでエクスポート 新しく作成されたベア git リポジトリを、Web サーバーによってエクスポートされるディレクトリに配置し、Web クライアントに必要な追加情報を提供するためにいくつかの調整を行います。
Apache サーバーで行う方法は次のとおりです。
2010 年の記事「Git リポジトリを共有する 8 つの方法」では、Git リポジトリへのアクセスを許可するすべての可能性について言及しています。