史上最详细的LXR安装介绍(Ubuntu14.04+Apache2.4.7)
简介:
LXR (Linux Cross Reference)是一个通过交叉索引方便用户查看项目源代码的工具。项目地址:/projects/lxr/
依赖工具:
LXR依赖的工具包括:
Apache和Apache modules:
mod_version(Ubuntu 默认安装安装)mod_perl(LXR基于perl脚本开发)
perl和依赖perl模块:DBD::mysql,File::Magic,Digest::SHA
ctagsglimpse()和swish-e(http://swish-/),建立索引数据的工具,安装一个即可。
安装配置过程:
一、安装Apache和需要的modules:
1.apache的安装安装网上的攻略即可。
2.mod_version在ubuntu14.04上默认安装。
3.安装mod_perl:
sudo apt-get install libapache2-mod-perl2
4.安装mod_mpm
sudo a2dismod mpm*sudo apt-get install apache2-mpm-worker
5.使以上模块生效:
sudo a2enmod versionsudo a2enmod mpm_worker
6.检查模块是否生效:
apache2ctl -MLoaded Modules:……version_module (static)mpm_prefork_module (shared)perl_module (shared)……
有以上模块即可。
二、安装perl和依赖的perl模块:
Perl 到了第五版增加了模块的概念,用来提供面向对象编程的能力。这是 Perl 语言发展史上的一个里程碑。此后,广大自由软件爱好者开发了大量功能强大、构思精巧的 Perl 模块,极大地扩展了 Perl 语言的功能。CPAN(Comprehensive Perl Archive Network)是 Perl 模块最大的集散地,包含了现今公布的几乎所有的 perl 模块。
配置perl的库文件安装工具CPAN(/)
sudo perl -MCPAN -e shell (需要root权限执行)
ubuntu下一些模块也可以用apt安装。
安装perl。
安装DBD::mysql (由于ubuntu 14.04在cpan,install DBD::mysql 不管用)
sudo apt-get install libdbd-mysql-perl
安装File::Magic和Digest::SHA:
sudo perl -MCPAN -e shelinstall File::Magicinstall Digest::SHA
三、安装ctags:
安装所需的库
sudo apt-get install build-essential subversion autoconf
下载ctags安装文件(下载地址:http://jaist./project/ctags/ctags/5.8/ctags-5.8.tar.gz)
编译安装:
./configuration --prefix=/usr/local/sudo makesudo make install
四、 glimpse和swish-e安装,(装一个就行)
安装web glimpse()
下载地址:(/trial/glimpse-latest.tar.gz)
安装依赖库:ubuntu
sudo apt-get install flex
安装
./configuration –prefix=/usr/local/
sudo make
sudo make install
安装swish-e
下载地址:(http://swish-/distribution/swish-e-2.4.7.tar.gz)
安装
./configuration –prefix=/usr/local/
sudo make
sudo make install
五、LXR安装:
下载地址(2.0.3版本):(http://jaist./project/lxr/stable/lxr-2.0.3.tgz)
解压并移动文件夹:
为了让lxr能够被正常访问,最好将lxr安装在/usr/local/share
$ cd /usr/local/share$ tar -zxf ~/Download/lxr-x.y.z.tgz
检查执行环境:
在lxr安装目录下执行:
$./genxref --checkonly[ OK ]Perlversion ... 5.18.2[ OK ]ctags version ... 5.8Checked: glimpse version ... 4.18.5Checked: glimpseindex version ... 4.18.5Parameter 'swishbin' not defined - trying to find swish-eswish-e found at /usr/local/bin/swish-eManually update lxr.conf for permanent setting if needed[ OK ] swish-e version ... 2.4.7genxref stopped without indexing by --checkonly option
所需要的perl,ctags,glimpse或swish-e能够检测到版本即可,glimpse前面没有输出[ok]没关系,是因为配置参数的原因。
genxref检查通过标志着使用lxr能够生成代码的索引文件。
六、LXR配置:
LXR的配置包括LXR服务器的配置、数据库配置等。
启动lxr配置:
$ ./scripts/configure-lxr.pl -vv
按照官方配置说明(/en/1-0-InstallSteps/1-0-install3config.php)配置即可。
配置完成后,在lxr文件夹内生成一个custom.d/文件夹,里面有lxr的网站和服务器的配置文件。
初始化数据库。
$ ./custom.d/initdb.sh
会根据第1步配置的数据库信息,在数据库中创建所需要的表。
拷贝lxr.conf到lxr根目录
$ cp custom.d/lxr.conf .
lxr是产生索引和网站所需的配置文件,产生索引指定的源代码地址、索引创建的目录等信息都在这里指定。
生成索引文件。
将源代码拷贝到第1步指定的目录内。lxr是根据文件夹管理版本的,源代码里的目录结构是一个文件夹对应一个版本。比如在文件夹内建立“610”文件夹,将6.1.0的代码拷贝到这个文件夹内。
执行命令:
$ ./genxref --url=:8113/cgi-bin --version=610
如果以上没有报错,lxr配置和建立索引数据的工作就完成了,在数据库(:8111)中可以看到建立的索引数据。
七、服务端配置。
LXR使用perl脚本实现,通过apache的CGI接口动态的生成页面。ubuntu14.04的apache是2.4.7版,和LXR文档的版本有很大出入,以下文档是摸索出来的,仅保证在apache2.4以上版本能够使用。
如果服务端80或8080端口被占用,需要使用其他端口,检查lxr服务器的配置文件apache-lxrserver.conf是否有
Listen port_num
使lxr的配置生效:
sudocpcustom.d/apache−lxrserver.conf/etc/apache2/conf−available sudo a2enconf apache-lxrserver.conf
修改cgi的配置,把cgi-bin路径指向到lxr的安装路径。
ScriptAlias /cgi-bin/ /usr/local/share/lxr/
八、维护问题:
1.如何生成一个新版本的索引并在前端展示:
1)生成新版本的索引文件:
./genxref --url=/lxr --version=610
2)将新版本的version加入lxd.conf文件中:
'range' => [qw(610)]
第一位的版本是默认显示的版本。
如果觉得《史上最详细的LXR安装介绍》对你有帮助,请点赞、收藏,并留下你的观点哦!