2013-10-13 56 views
0

我無法使用gitweb獲得語法突出顯示。我已經堅持了幾天,現在感謝任何幫助。我做了很多研究,並嘗試了很多東西,但似乎沒有任何工作。我能夠在沒有語法高亮的情況下查看gitweb。gitweb 1.7.1語法突出顯示爲centos6不起作用

# cat /etc/centos-release 
    CentOS release 6.4 (Final) 

# rpm -qa | grep highlight 
    highlight-3.8-1.el6.x86_64 

# rpm -qa | grep gitweb 
    gitweb-1.7.1-3.el6_4.1.noarch 

# rpm -qa | grep git 
    git-1.7.1-3.el6_4.1.x86_64 

/etc/httpd/conf.d/git.conf

Alias /git /var/www/git 

# Suexec setup 
SuexecUserGroup gitolite gitolite 


# Set up appropriate GIT environments 
SetEnv GIT_PROJECT_ROOT /var/lib/gitolite/repositories 
SetEnv GIT_HTTP_EXPORT_ALL 

# Set up appropriate gitolite environment 
SetEnv GITOLITE_HTTP_HOME /var/lib/gitolite 

# To serve gitweb at the same url, use a ScriptAliasMatch to 
# only those URLs that git http-backend can handle, and 
# forward the rest to gitweb: 
ScriptAliasMatch \ 
    "(?x)^/(.*/(HEAD | \ 
        info/refs | \ 
        objects/(info/[^/]+ | \ 
          [0-9a-f]{2}/[0-9a-f]{38} | \ 
          pack/pack-[0-9a-f]{40}\.(pack|idx)) | \ 
        git-(upload|receive)-pack))$" \ 
    /var/www/cgi-bin/gitolite-suexec-wrapper.sh/$1 

# Make sure we can execute gitweb okay 
<Directory "/var/www/git"> 
     Options ExecCGI 
     AllowOverride None 
     AddHandler cgi-script .cgi 
     DirectoryIndex gitweb.cgi 
     Order allow,deny 
     Allow from all 
</Directory> 

# We need gl-auth-command executable 
<Directory "/var/www/cgi-bin"> 
    <Files "gitolite-suexec-wrapper.sh"> 
      Order allow,deny 
      Allow from all 
    </Files> 
</Directory> 

/etc/gitweb.conf

# cat /etc/gitweb.conf | grep highlight 
    $highlight_bin = "/usr/bin/highlight"; 
    $feature{'highlight'}{'default'} = [1]; 

我還安裝了kogakure的GitWeb主題。 https://github.com/kogakure/gitweb-theme

回答

1

我最近經歷過同樣的問題。

好像CentOS 6.4使用了一個相當舊的Git版本(1.7.1),它不支持Gitweb的Syntax-Highlighting。你已經正確完成了配置部分,但Gitweb不知道如何處理這些變量。

一個解決方案是去官方Git source repo並從那裏檢索最新版本(1.8.5)。這要求您自己從源代碼構建軟件。

解決方法:

我並不想建立整個事情,所以只是去那裏得到最新的 gitweb.cgi。此腳本通常由 gitweb.perl構建而成,但也可通過重命名並替換README文件中所述的所有佔位符(例如「++ GIT_BINDIR ++」)來手動創建。

這對我來說很好,但它可能會更安全穩定地重建和安裝(make & make install)整個版本。

+0

謝謝,我會試試這個報告。我是否需要從源代碼編譯git和gitweb? – user2875495

+0

因爲它是git發行版的一部分,所以我要說你必須編譯完整的git源文件夾才能訪問你需要的gitweb.cgi。似乎還有一些[repoforge上的Redhat/Centos RPM軟件包](http://pkgs.repoforge.org/git),它可能讓你跳過整個構建過程。但是我沒有嘗試過這些。 –

+0

我從源代碼編譯git並將/ usr/share/gitweb複製到/ var/www/git,將/ var/www/git的權限更改爲由gitolite:gitolite擁有的gitolite,使用相同的配置文件重新啓動apache,突出顯示是支持。謝謝Markus H.我很高興它可以工作,但不是很高興默認的突出顯示風格很糟糕。我的代碼文件是java,我希望Eclipse語法,但找不到任何有關如何更改它的好的參考。這個問題得到解答,再次感謝你。 – user2875495

相關問題