1.安装包
emerge apache file-mmagic mod_perl lxr glimpse
2.导入数据库
mysql -u root < /pathToLxrMysql/0.9.5_create.sql
3.lxr.conf配置
{
#这些文件位置用find,locate,whereis,which找一下就行
'glimpsebin' => '/usr/bin/glimpse',
'glimpseindex' => '/usr/bin/glimpseindex',
'ectagsbin' => '/usr/bin/exuberant-ctags',
'tmpdir' => '/tmp',
'genericconf' => '/usr/lib64/perl5/vendor_perl/5.12.4/LXR/Lang/generic.conf',
'ectagsconf' => '/usr/lib64/perl5/vendor_perl/5.12.4/LXR/Lang/ectags.conf',
'cvspath' => '/bin:/usr/local/bin:/usr/bin:/usr/sbin',
},
{ #只在本机浏览就无所谓了
'baseurl' => 'http://localhost/lxr',
'virtroot' => '/lxr', # The bit after the / above
'variables' => {
'v' => {
'name' => 'Version',
# versions文件所在地址,default是默认版本
'range' => [ readfile('/var/www/localhost/htdocs/lxr/code/versions') ],
'default' => '0.96'},
......//省略
},
......//省略,下面时代码所在位置,然后是子目录
'sourcerootname' => '$v',
# cache位置
'sourceparams' => {'cachepath' => '/var/www/localhost/htdocs/lxr/code/cache'},
......//省略,然后是mysql的用户名密码
'dbpass' => 'xxxx',
'dbuser' => 'root',
# database位置
'glimpsedir' => '/var/www/localhost/htdocs/lxr/code/glimpse/',
# 头文件位置
'incprefix' => [ '/usr/include', '/usr/include/linux' ],
......//省略
4.修改lxr目录下的Index/Mysql.pm
就是release加上反引号
$self->{dbh}->prepare("select * from ${prefix}releases where fileid = ? and release = ?");
to
$self->{dbh}->prepare("select * from ${prefix}releases where fileid = ? and `release` = ?");
$self->{dbh}->prepare("insert into ${prefix}releases (fileid, release) values (?, ?)");
to
$self->{dbh}->prepare("insert into ${prefix}releases (fileid, `release`) values (?, ?)");
$self->{dbh}->prepare("delete from ${prefix}releases " . "where release = ?");
to
$self->{dbh}->prepare("delete from ${prefix}releases " . "where `release` = ?");
5.修改httpd.conf
Alias /lxr /var/www/localhost/htdocs/lxr
<Directory /var/www/localhost/htdocs/lxr>
<Files ~ (find|search|source|ident|diff)$>
SetHandler cgi-script
Options ExecCGI
</Files>
</Directory>
6.修改/var/www/localhost/htdocs/lxr/.htaccess
<Files ~ (find|search|source|ident|diff)$>
SetHandler cgi-script
ForceType text/html
</Files>
7.重启apache
Reference:
利用LXR来生成Linux内核代码的交叉索引页面
http://blog.ssnail.net/tag/lxr
方便阅读Web源代码 Gentoo下lxr配置方法
http://www.wangchao.net.cn/bbsdetail_1787381.html