Próbuję skonfigurować gitlistę na systemie CentOS Linux (z gitolite w przypadku, który ma znaczenie - rozluźniłem uprawnienia do katalogów repo zarządzanych przez gitolite).gitlist nie może uzyskać niczego poza listą repozytoriów
Wyciągnąłem z targów gitlist.org wersję 0.3 tarballa.
Moja config.ini wygląda następująco:
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
dyrektywy wirtualnego hosta w 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>
Przy tej konfiguracji będzie http://sub.example.com/gitlist powoduje wyświetlenie komunikatu o błędzie przeglądarki, że plik /index.php nie istnieje (tzn. próbuje przejść to /var/www/html/index.php)
W tym przypadku, jeśli przejdę do http://sub.example.com/gitlist/index.php, lista repozytorium (podobno) poprawnie się wyświetli. Kiedy klikam jeden z repo, coś idzie nie tak kiedy próbuje wykonać, git. I otrzymujemy:
Whoops, looks like something went wrong.
1/1 RuntimeException: Unknown option: -c
(std git usage message omitted)
Jeśli usunąć regułę przepisywania z .htaccess, jestem w stanie uzyskać dostęp do strony indeksu, albo określając index.php czy nie. Ale w takim razie po kliknięciu na repo, próbuje znaleźć repo pod katalogiem gitlist:
The requested URL /gitlist/testing.git/ was not found on this server.
Czy ktoś mógłby pomóc uporządkować ten bałagan?
Dlaczego przepisać? Umieść swój webap gitlist gdziekolwiek chcesz, zadeklaruj alias i katalog, i powinno wystarczyć (jak na https://github.com/VonC/compileEverything/blob/master/apache/env.conf.tpl#L41-L93) – VonC
Przepisanie jest częścią aplikacji (zawiera plik .htaccess, który go zawiera). Nie wiem, dlaczego tam jest. Próbowałem tego bez, jak już wskazałem, i nadal miałem problemy. Czy mówisz, że jeśli przeniesię go poza mój katalog internetowy, problem zniknie? –
Wskazuję tylko na inną technikę odwoływania się do webappa bez konieczności przepisywania. Będę musiał przetestować gitlistę i sprawdzić, czy działa w ten sposób. – VonC