2013-01-04 28 views
5

मैं सेंटोस लिनक्स पर गिटलिस्ट स्थापित करने की कोशिश कर रहा हूं (मामले के मामले में गिटोलाइट के साथ - मैंने गिटोलाइट द्वारा प्रबंधित रेपो निर्देशिकाओं पर अनुमतियों को आराम दिया है)।गिटलिस्ट को रिपोजिटरी सूची से परे कुछ भी नहीं मिल सकता है

मैंने आज से gitlist.org से संस्करण 0.3 टैरबॉल निकाला।

मेरे 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> 

इनको:

<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 पर जाता हूं, तो भंडार सूची (स्पष्ट रूप से) ठीक से दिखाई देती है। जब मैं रिपोप्स में से किसी एक पर क्लिक करता हूं, तो कुछ गलत हो जाता है जब यह निष्पादित करने का प्रयास करता है, गिट। मैं:

Whoops, looks like something went wrong. 

1/1 RuntimeException: Unknown option: -c 
(std git usage message omitted) 

अगर मैं .htaccess से पुनर्लेखन नियम निकालने के लिए, मैं या तो निर्दिष्ट करने index.php या नहीं द्वारा सूचकांक पृष्ठ का उपयोग करने में सक्षम हूँ।

The requested URL /gitlist/testing.git/ was not found on this server. 

किसी तरह बाहर इस गंदगी में मदद कृपया: लेकिन उस मामले जब मैं एक रेपो पर क्लिक करें, यह gitlist निर्देशिका के नीचे रेपो खोजने की कोशिश करता?

+0

क्यों पुनर्लेखन लंबित है? जहां भी आप चाहें अपनी गिटलिस्ट वेबपैप रखें, उपनाम और निर्देशिका घोषित करें, और यह पर्याप्त होना चाहिए (जैसा कि https://github.com/VonC/compileEverything/blob/master/apache/env.conf.tpl#L41-L93 में है) – VonC

+0

पुन: लिखना ऐप का हिस्सा है (यह एक .htaccess के साथ जहाज है जिसमें यह शामिल है)। मुझे नहीं पता कि यह क्यों है। जैसा मैंने संकेत दिया, मैंने इसे बिना कोशिश की, और मुझे अभी भी समस्याएं थीं। क्या आप कह रहे हैं कि अगर मैं इसे अपनी वेब निर्देशिका से बाहर ले जाता हूं तो समस्या दूर हो जाएगी? –

+0

मैं फिर से लिखने के बिना वेबपैड को संदर्भित करने के लिए अन्य तकनीक को इंगित कर रहा हूं। मुझे गिटलिस्ट का परीक्षण करना होगा और देखें कि यह इस तरह से भी काम करता है या नहीं। – VonC

उत्तर

1

अंत में मैं गिटलिस्ट का परीक्षण करने में कामयाब रहा।

मैं .htaccess हटाया, और httpd.conf में निम्नलिखित config रखा:

# GitList on 28473 
<IfModule !php5_module> 
    LoadModule php5_module modules/libphp5.so 
</IfModule> 
Listen 28473 
<VirtualHost aserver.prod.fr.company:28473> 
    ServerName aserver.prod.fr.company 
    ServerAlias aserver 
    SSLCertificateFile "/home/vonc/apache/crt" 
    SSLCertificateKeyFile "/home/vonc/apache/key" 
    SSLEngine on 
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL 
    SetEnv GIT_HTTP_BACKEND "/home/vonc/usr/local/apps/git/libexec/git-core/git-http-backend" 
    DocumentRoot /home/vonc/gitlist/github 
    Alias /gitlist /home/vonc/gitlist/github 
    <FilesMatch "\.(cgi|shtml|phtml|php)$"> 
     SSLOptions +StdEnvVars 
    </FilesMatch> 
    <FilesMatch ".php$"> 
     SetHandler application/x-httpd-php 
    </FilesMatch> 
    <FilesMatch ".phps$"> 
     SetHandler application/x-httpd-php-source 
    </FilesMatch> 
    <Directory /home/vonc/gitlist/github> 
     SSLOptions +StdEnvVars 
     Options ExecCGI +Indexes +FollowSymLinks 
     AllowOverride All 
     order allow,deny 
     Allow from all 
     Options -MultiViews 

     DirectoryIndex index.php 
     RewriteEngine On 

     RewriteBase /home/vonc/gitlist/github/ 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteRule ^(.*)$ gitlist/index.php/$1 [L,NC] 

    </Directory> 

    # RewriteLog "/home/vonc/gitlist/logs/apache_gitlist_rewrite_log" 
    # RewriteLogLevel 3 
    CustomLog "/home/vonc/gitlist/logs/apache_gitlist_ssl_request_log" \ 
       "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 
    ErrorLog "/home/vonc/gitlist/logs/apache_gitlist_error_log" 
    TransferLog "/home/vonc/gitlist/logs/apache_gitlist_access_log" 
    LogLevel info 
</VirtualHost> 

(my own commit से, और this setup)

ध्यान दें कि:

  • इस चलाने के लिए है अपनी खुद की उपनिर्देशिका में गिटलिस्ट: https://myServer/gitlist (न केवल https://myserver)
  • ,210
  • यह एक Git रेपो के भीतर उप-निर्देशिका के तहत किसी भी फाइल प्रदर्शित नहीं करेगा: Issue 250 देखते हैं, पैच
+0

VonC आपके प्रयासों के लिए धन्यवाद। मेरी मुख्य समस्या वास्तव में अज्ञात विकल्प त्रुटि के आसपास केंद्रित थी जिसे मैंने उल्लेख किया था, जिसे मैंने अपने गिट निष्पादन योग्य अद्यतन करके तय किया था। जब भी मैं अपने रेपो तक पहुंचने का प्रयास करता हूं, तब भी मुझे एक त्रुटि हो रही है, लेकिन वह त्रुटि है 'गिट रिपोजिटरी (या कोई मूल निर्देशिका नहीं): .git' जो मेरे मूल प्रश्न/समस्या से संबंधित प्रतीत नहीं होता है। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^