5

gitolite と gitweb の両方をインストールして構成しました。gitolite は正常に動作し、すべてのリポジトリとユーザーは期待どおりに動作します..しかし、gitweb を使用すると、404 が表示されます - プロジェクトが見つかりません。私は、projects.list が空であることを確認しました。projects.list ファイルの権限は 640 で、ユーザーとグループは同じ "git" です。

gitolite が projects.list にも新しいリポジトリを追加していると思いますよね?私のプロジェクト ルートは /home/git/repositories です。

4

1 に答える 1

5

注:これは、新しいバージョンのgitoliteで作り直されました。関連するドキュメントは次のとおりです。以前と同じように、特別なユーザー「gitweb」に読み取り権限を付与することもできます。また、次のような行をリポジトリに追加することもできます。

config gitweb.owner         =   owner name
config gitweb.description   =   some description
config gitweb.category      =   some category

これらの構成パラメーターの少なくとも1つがリポジトリに設定されている場合、gitwebからアクセスできるようになります。

以前と同様に、「gitwebにアクセスできるようにする」とは、「魔法のようにprojects.listに追加される」ことを意味します。


元の答え:

Gitoliteは、賢明なデフォルトで最も制限の厳しい権限に設定されています。リポジトリを許可するように指示するまで、誰もリポジトリを見ることができません。もちろん、これにはgitwebが含まれます。gitwebがリポジトリを表示するには、gitolite.confのドキュメントを引用します。

同様に、gitwebに読み取り権限を付与して、gitwebCGIがリポジトリを表示できるようにします。このようなもの:

repo    foo bar baz
    R   =   gitweb

これにより、gitwebやデーモンアクセス用に複数のリポジトリをすばやく提供できます。

ただし、プロジェクトの説明を設定すると、gitweb権限も有効になるため、必要に応じてそのように行うことができます。もちろん、この場合、各リポジトリを個別に処理する必要があります。次のような行をgitolite.confに追加します。

foo = "some description"
bar = "some other description"
baz = "yet another description"

必要に応じて、表示するgitwebの所有者を指定することもできます。たとえば、私は使用するかもしれません:

gitolite "Sitaram Chamarty" = "fast, secure, fine-grained, access control for git"

Gitoliteは、これらの方法の1つを介してリポジトリをgitwebで使用できるようにするように指示した場合にのみ、projects.listにリポジトリを配置します。所有者と説明を使用してprojects.listにもデータを入力するため、通常はそのようにするのが最適です。WebサーバーがGitoliteとは別のユーザーとして実行されている場合は、デフォルトで他のユーザーから隠されている関連ディレクトリに何らかの方法でアクセスできることを確認する必要があることに注意してください。より複雑なケースに関するドキュメントの例がいくつかあります:gitolite-gitweb-http-backend

于 2011-12-22T13:56:59.527 に答える