CentOS Linuxでgitlistをセットアップしようとしています(問題が発生した場合に備えてgitoliteを使用します-gitoliteによって管理されるリポジトリディレクトリの権限を緩和しました)。
今日、gitlist.org からバージョン 0.3 の tarball を抽出しました。
私の config.ini は次のようになります。
client = '/usr/bin/git' ; Your git executable path
repositories = '/home/gitolite/repositories/' ; Path to your repositories
[app]
debug = true
; I don't know if baseurl is still needed..seems like my results are the same either way
baseurl = 'http://sub.example.com.com/gitlist' ; Base URL of the application
httpd.conf の仮想ホスト ディレクティブ:
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName sub.example.com
<Directory "/var/www/html">
AllowOverride All
Options -Indexes
</Directory>
</VirtualHost>
htaccess:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /var/www/html/gitlist/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,NC]
AuthName "Git List"
AuthType Basic
AuthUserFile /var/www/.gitlistpwds
Require valid-user
</IfModule>
<Files config.ini>
order allow,deny
deny from all
</Files>
このセットアップでは、http: //sub.example.com/gitlist にアクセスすると、ブラウザーのエラー メッセージが表示され、 /index.php が存在しないというメッセージが表示されます (つまり、 /var/www/html/index.php に移動しようとしています)。
この場合、http://sub.example.com/gitlist/index.phpにアクセスすると、(どうやら) リポジトリ リストが適切に表示されます。リポジトリの 1 つをクリックすると、git を実行しようとすると何か問題が発生します。私は得る:
Whoops, looks like something went wrong.
1/1 RuntimeException: Unknown option: -c
(std git usage message omitted)
.htaccess から書き換えルールを削除すると、index.php を指定するかどうかに関係なく、インデックス ページにアクセスできるようになります。しかし、その場合、リポジトリをクリックすると、gitlist ディレクトリの下にあるリポジトリを見つけようとします。
The requested URL /gitlist/testing.git/ was not found on this server.
誰かがこの混乱を整理するのを手伝ってくれませんか?