2013-10-13 53 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

相关问题