4

CentOs 5.5 サーバーに機能する git リポジトリがあります。gitweb を使用するリポジトリ用の Web ユーザー インターフェイスが必要です。

http://git-scm.com/book/ch4-6.htmlの手順を使用して gitweb をインストールし、Apache サーバーで cgi を適切に実行することができました。リポジトリを入れて、行でファイル/pub/gitを作成しました。残念ながら、リポジトリが表示されず、Web ページに「そのようなプロジェクトは見つかりませんでした」というメッセージが表示されます。gitweb.conf/etc/$projectroot = '/pub/git';

$projects_list = '/pub/git/projects.list';に行を追加して、リポジトリの名前でgitweb.confファイルを作成しようとしました (例: )。何も変わりません。に存在しないリポジトリの名前を入力すると、Web ページには、より一般的で調査済みのエラー メッセージ「404 - プロジェクトが見つかりません」が表示されます。projects.listrepos1.git/pub/git

apache ユーザーはすべてのファイルとリポジトリにアクセスできることに注意してください。

私の内容/etc/gitweb.confは次のとおりです。

$projectroot = '/pub/git';
$projects_list = '/pub/git/projects.list';

ありがとう!

4

7 に答える 7

10

私は自分の問題を解決しました。他の誰かがこれに出くわした場合に備えて、解決策を投稿すると思いました。

gitweb が単にgit実行可能ファイルを見つけられなかったことが判明しました。つまり、 http: //git-scm.com/book/ch4-6.htmlmake GITWEB_PROJECTROOT="/path/to/git/git"に示されている make 手順では不十分です。

これを理解するのにこれほど時間がかかった理由は、リポジトリの空のリストだけでなく、別の種類の問題が発生することが予想されるためです! プロジェクトでgitwebが実行git rev-listされている最新のコミットメッセージを表示するようです。が見つからない場合はgit、単にプロジェクトの一覧表示をあきらめます。私がしなければならなかったのは、行$GIT = '/path/to/git/git';をに追加することだけでしたgitweb.conf

乾杯!

于 2013-03-20T02:12:02.557 に答える
1

私はbluehost.comで同じ問題に遭遇し、gitバイナリへのフルパスを提供しても役に立ちませんが、gitweb.cgiのコメントで述べたように、 「あなたのウェブサーバーに適切なパスがある場合、これは単に「git」にすることができます」この問題を解決しました、したがって、それを修正する必要があるのは次のとおりです。

our $GIT = "git";

gitweb.cgi自体または " gitweb_config.perl "のいずれか

于 2013-05-14T17:22:19.607 に答える
1

projectroot は gitweb.conf で定義されていると思っていましたが、gitweb.cgi にもハードコーディングされていました。おそらく、私の実装では gitweb.conf が供給されていません。とにかく、私は gitweb.cgi を編集しour $projectroot = /home/gitて修正しました。

于 2016-11-16T02:39:37.850 に答える
1

すでにリポジトリを作成してから gitweb をインストールした場合、リポジトリの保護が間違っている可能性があります。私の最初の UMASK は 077 だったので、すべてのリポジトリには git ユーザーしかアクセスできません。

私がしたとき:

cd /home/git
chmod -R 750 repositories

www-data を「git」グループに追加しました。

usermod -a -G  git www-data

私はそれを働かせました。

于 2014-03-24T14:56:30.810 に答える
0

CentOS 6.4 でもこの問題に遭遇し、私のソリューションをこのスレッドに追加したかっただけです。

私にとっての問題は、SELinux が有効になっていることでした。これにより、リポジトリ ディレクトリに chmod 777 を実行しても、httpd プロセスがリポジトリ ディレクトリにアクセスできなくなりました。

私にとっては、SELinux を無効にするだけで問題が解決しました。無効にすることができない場合は、httpd がリポジトリ ディレクトリにアクセスできるように SELinux を構成する方法を確認する必要があります。

于 2013-07-31T17:44:23.873 に答える
0
  1. ファイルのパーミッションを確認してください$projectroot
    • apacheまたはnginxですべてが読み取り可能/通過可能ですか?
  2. 小切手/etc/gitweb.conf
    • 私は変えなければならなかったし$projectroot$project_list両方の場所で
  3. 小切手/var/www/git/gitweb.cgi
    • 私は変えなければならなかったし$projectroot$project_list両方の場所で
  4. あなたのプロジェクトはエクスポートされていますか?
    • 小切手/path/to/project.git/git-daemon-export-ok
  5. selinux ポリシーを確認する
于 2015-03-05T01:23:18.120 に答える