git/gitweb 1.7.1とhttpd 2.2.15がインストールされているCentOS 6.2サーバーでgitwebセットアップをしようとしています。HEADファイルが表示されないため、gitwebにリポジトリが表示されませんか?
(CGIスクリプトで検証)gitwebのデフォルトプロジェクトのルートがの/ var/libに/ gitのであるので、私はそれを作成したとそこに裸のgitリポジトリ:
$ ls -laF /var/lib/git
total 12
drwxrwxr-x. 3 git git 4096 Feb 8 16:37 ./
drwxr-xr-x. 15 root root 4096 Feb 8 14:20 ../
drwxrwxr-x. 7 git git 4096 Feb 8 15:37 foo/
$ git init --bare --shared foo
Initialized empty shared Git repository in /var/lib/git/foo/
$ ls -lF foo
total 32
drwxrwsr-x. 2 git git 4096 Feb 8 17:16 branches/
-rw-rw-r--. 1 git git 126 Feb 8 17:16 config
-rw-rw-r--. 1 git git 73 Feb 8 17:16 description
-rw-rw-r--. 1 git git 23 Feb 8 17:16 HEAD
drwxrwsr-x. 2 git git 4096 Feb 8 17:16 hooks/
drwxrwsr-x. 2 git git 4096 Feb 8 17:16 info/
drwxrwsr-x. 4 git git 4096 Feb 8 17:16 objects/
drwxrwsr-x. 4 git git 4096 Feb 8 17:16 refs/
$ cat foo/HEAD
ref: refs/heads/master
しかしhttp://localhost/git/
を見に、I 「404プロジェクトが見つかりません」を参照してください。
スクリプトでデバッグしましたが、それは/var/lib/git/foo
ですが、Perlの-e
演算子は/var/lib/git/foo/HEAD
で失敗しています。ファイル内の同じ場所で、ls
への逆戻りの呼び出しにより、ファイルがそこに表示されていることが示されますが、Perl -e
にファイルを表示させることはできません。
これを失敗させる原因は何でしょうか?これは私には意味がありません。
EDIT:
$ sudo sestatus
SELinux status: disabled
EDIT:移動/var/lib/git
から/git
にすべてが役立っていない。このCentOSのボックス上のSELinuxの機能拡張を無効にするように見えることに注意してください。 apache
のユーザーに、実際のシェルを持ち、そのユーザーとしてログインし、問題のすべてのディレクトリとファイルにアクセスできることを確認しました。
このチュートリアルで役立つ追加の手順はありますか? (http://bcaccinolo.wordpress.com/2010/12/28/gitweb-configuration-the-easy-way/)または...多分このフォーラムの投稿からの何か? (http://ubuntuforums.org/showthread.php?t=1536963)それは、そのフォーラムのポスターの1つが発見したように、親ディレクトリが 'chmod a + x'になる必要性に関連する可能性があります。また...それはCentOSです。私はこれがSELinuxのものと何か関係があるのだろうかと思っています... – summea
@summeaこれらの2つは、関連するGoogleの検索でポップアップするので、私は数時間前にそれらを読んでいます。しかし、懐かしい表情をありがとう。 –
これはおそらくSELinuxではなく、現在は無効になっています。それを反映するために上記のテキストを編集しました。 –