我无法使用gitweb进行语法高亮显示。我已经被困在这几天了,感谢任何帮助。我已经做了很多研究并尝试了很多东西,但似乎没有任何效果。我能够在没有语法高亮的情况下查看gitweb。
# 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
答案 0 :(得分:1)
我最近遇到了同样的问题。
似乎CentOS 6.4使用了一个相当古老的Git版本(1.7.1),它不支持Gitweb的语法高亮显示。你已经正确完成了配置部分,但是Gitweb还不知道如何处理这些变量。
一种解决方案是从官方Git source repo开始,并从那里检索最新版本(1.8.5)。这要求您自己从源代码构建软件。
解决方法:强>
我不想构建整个东西,因此只是去那里获取最新的 gitweb.cgi 。此脚本通常由 gitweb.perl 构建,但也可以通过重命名并替换所有占位符(例如“++ GIT_BINDIR ++”)来手动创建,如README文件中所述。
这对我来说效果很好,但重建和安装(make
&amp; make install
)整个版本可能更安全,更稳定。