史上最详细的LXR安装介绍(Ubuntu14.04+Apache2.4.7)

简介:

LXR (Linux Cross Reference)是一个通过交叉索引方便用户查看项目源代码的工具。项目地址:http://sourceforge.net/projects/lxr/

依赖工具:

LXR依赖的工具包括:

  • Apache和Apache modules:

    mod_version(Ubuntu 默认安装安装)
    mod_perl(LXR基于perl脚本开发)
    
  • perl和依赖perl模块:DBD::mysql,File::Magic,Digest::SHA

  • ctags
  • glimpse(http://webglimpse.net)和swish-e(http://swish-e.org/),建立索引数据的工具,安装一个即可。

安装配置过程:

一、安装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 version
sudo 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(http://search.cpan.org/)

sudo perl -MCPAN -e shell (需要root权限执行)

ubuntu下一些模块也可以用apt安装。

  1. 安装perl。

  2. 安装DBD::mysql (由于ubuntu 14.04在cpan,install DBD::mysql 不管用)

    sudo apt-get install libdbd-mysql-perl
    
  3. 安装File::Magic和Digest::SHA:

    sudo perl -MCPAN -e shel
    install File::Magic
    install Digest::SHA
    

三、安装ctags:

  1. 安装所需的库

    sudo apt-get install build-essential subversion autoconf
    
  2. 下载ctags安装文件(下载地址:http://jaist.dl.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz)

  3. 编译安装:

    ./configuration --prefix=/usr/local/
    sudo make
    sudo make install
    

四、 glimpse和swish-e安装,(装一个就行)

安装web glimpse(http://webglimpse.net)

  1. 下载地址:(http://webglimpse.net/trial/glimpse-latest.tar.gz)

  2. 安装依赖库:ubuntu

    sudo apt-get install flex

  3. 安装

    ./configuration –prefix=/usr/local/
    sudo make
    sudo make install

安装swish-e

  1. 下载地址:(http://swish-e.org/distribution/swish-e-2.4.7.tar.gz)

  2. 安装

    ./configuration –prefix=/usr/local/
    sudo make
    sudo make install

五、LXR安装:

  1. 下载地址(2.0.3版本):(http://jaist.dl.sourceforge.net/project/lxr/stable/lxr-2.0.3.tgz)

  2. 解压并移动文件夹:

    为了让lxr能够被正常访问,最好将lxr安装在/usr/local/share

    $ cd /usr/local/share
    $ tar -zxf ~/Download/lxr-x.y.z.tgz
    
  3. 检查执行环境:
    在lxr安装目录下执行:

    $./genxref --checkonly
    [  OK  ]     Perl     version ... 5.18.2
    [  OK  ]     ctags    version ... 5.8
    Checked:    glimpse   version ... 4.18.5
    Checked: glimpseindex version ... 4.18.5
    Parameter 'swishbin' not defined - trying to find swish-e
    swish-e found at /usr/local/bin/swish-e
    Manually update lxr.conf for permanent setting if needed
    [  OK  ]    swish-e   version ... 2.4.7
    genxref stopped without indexing by --checkonly option
    

    所需要的perl,ctags,glimpse或swish-e能够检测到版本即可,glimpse前面没有输出[ok]没关系,是因为配置参数的原因。
    genxref检查通过标志着使用lxr能够生成代码的索引文件。

六、LXR配置:

LXR的配置包括LXR服务器的配置、数据库配置等。

  1. 启动lxr配置:

    $ ./scripts/configure-lxr.pl -vv

按照官方配置说明(http://lxr.sourceforge.net/en/1-0-InstallSteps/1-0-install3config.php)配置即可。

配置完成后,在lxr文件夹内生成一个custom.d/文件夹,里面有lxr的网站和服务器的配置文件。

  1. 初始化数据库。

    $ ./custom.d/initdb.sh

会根据第1步配置的数据库信息,在数据库中创建所需要的表。

  1. 拷贝lxr.conf到lxr根目录

    $ cp custom.d/lxr.conf .

lxr是产生索引和网站所需的配置文件,产生索引指定的源代码地址、索引创建的目录等信息都在这里指定。

  1. 生成索引文件。

将源代码拷贝到第1步指定的目录内。lxr是根据文件夹管理版本的,源代码里的目录结构是一个文件夹对应一个版本。比如在文件夹内建立“610”文件夹,将6.1.0的代码拷贝到这个文件夹内。
执行命令:

 $ ./genxref --url=http://test.mosenyang.net:8113/cgi-bin --version=610

如果以上没有报错,lxr配置和建立索引数据的工作就完成了,在数据库(http://test.mosenyang.net:8111)中可以看到建立的索引数据。

七、服务端配置。

LXR使用perl脚本实现,通过apache的CGI接口动态的生成页面。ubuntu14.04的apache是2.4.7版,和LXR文档的版本有很大出入,以下文档是摸索出来的,仅保证在apache2.4以上版本能够使用。

如果服务端80或8080端口被占用,需要使用其他端口,检查lxr服务器的配置文件apache-lxrserver.conf是否有

Listen port_num
  1. 使lxr的配置生效:

    sudocpcustom.d/apache−lxrserver.conf/etc/apache2/conf−available sudo cp custom.d/apache-lxrserver.conf /etc/apache2/conf-available sudo a2enconf apache-lxrserver.conf

  2. 修改cgi的配置,把cgi-bin路径指向到lxr的安装路径。

    ScriptAlias /cgi-bin/ /usr/local/share/lxr/

八、维护问题:

1.如何生成一个新版本的索引并在前端展示:

1)生成新版本的索引文件:

./genxref --url=http://test.mosenyang.net/lxr --version=610

2)将新版本的version加入lxd.conf文件中:

'range' => [qw(610)]

第一位的版本是默认显示的版本。

史上最详细的LXR安装介绍相关推荐

  1. 史上最详细版Centos6安装详细教程

    镜像CentOS-6.8-x86_64-bin-DVD1.ISO 将下载好的镜像上传到服务器,并选择该镜像(详情请看上篇exsi镜像上传文章) 一.安装开始 开机选择第一项 这里询问我们是否要对光盘进 ...

  2. 史上最详细SharePoint 2007安装步骤图解新手教程

    Microsoft Office SharePoint Server 2007(简称MOSS 2007)可以构建企业门户站点,并实现团队协作.内容管理.工作流.商业智能等强大功能,是微软2007 Of ...

  3. 史上最详细宝塔面板安装教程(收藏)

    下面稍微介绍一下如何使用阿里云服务器安装宝塔面板. 概述 如果还有不了解宝塔面板怎么使用的小伙伴,可以看下我总结的系列教程,保证从新手变老鸟: [建站流程科普] 个人和企业搭建网站基本流程及六个主要步 ...

  4. 史上最详细的Vmware安装教程(一)-创建Linux虚拟机

    本文将演示如何使用Vwmare workstation软件创建Linux虚拟机,通过学习,我们将可以按照自己下需求,来创建一个安装Linux操作系统(Centos)的虚拟机,虚拟机的CPU.硬盘.网卡 ...

  5. 史上最详细的ORACLE19c安装说明

    19c作为原有序列的12c最后一个版本,可以说是集大成的版本,目前应用最广泛的11g 的 11.2.0.4 版本,其支持仅仅到 2018年12月31日.所以小编建议大家伙可以考虑开始使用船新版本的19 ...

  6. 安装unzip_史上最详细的WordPress安装教程(六):安装WordPress

    程序下载 WordPress官网下载安装源码,也可以在中文官网下载中文版:https://cn.wordpress.org/download/. 如果一直429,那就百度其它下载资源吧,无解. 下载源 ...

  7. 史上最详细之Centos7安装与配置Redis6

    1 下载redis安装包到/opt目录下 [root@hadoop01 opt]# wget http://download.redis.io/releases/redis-6.0.3.tar.gz ...

  8. 安装thymeleaf 插件_史上最详细的WordPress安装教程(四):安装mysql 5.7

    安装mysql 添加源 rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm#或wget http: ...

  9. Wordpress 修改 mysql 插件_史上最详细的WordPress安装教程(三):安装php 5.6及fpm、pdo、mysql等插件...

    ​安装php 5.6 yum -y install epel-release rpm -ivh http://rpms.famillecollet.com/enterprise/remi-releas ...

最新文章

  1. 浅谈25种设计模式(4/25)(此坑未填)
  2. java8 :: 用法 (JDK8 双冒号用法)
  3. 【ArcGIS风暴】根据海拔范围分级统计GIMMS 3g NDVI平均值案例教程——以甘肃省为例
  4. python怎么把列表转换成字符串_如何将字节列表(unicode)转换为Python字符串?
  5. html网页设计插入音乐,背景音乐是如何插入的?-网页设计,HTML/CSS
  6. FPGA状态机二段式
  7. 10年专注单片机从业者告诉你如何自制一个属于自己的单片机开发板
  8. 解决 VMware 新装 CentOS 7.* 连不上网络
  9. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_09-webpack研究-webpack介绍
  10. SharePoint Framework 企业向导(二)
  11. 学会这些Sketchup技巧,工作效率提高一半
  12. Excel自动插入jpg图片或png图片 VBA 工具 模块
  13. 计算机无法进行磁盘碎片整理,无法运行磁盘碎片整理
  14. 网页打开慢的原因及分析
  15. Debian Fully Automatic Installation PXE自动安装FAI
  16. redis 学习曲线及记录笔记
  17. C语言abs函数与fabs函数,函数abs 和fabs
  18. 【Windows】realtek声卡升级驱动后没声音
  19. 把对象按照ASCII码排序
  20. 免费将图片转换成网络链接

热门文章

  1. Spamhaus -影响最大的RBL(实时黑名单列表)服务提供商,非营利性组织
  2. Hides for Mac v5.6一键隐藏所有应用 支持 M1
  3. java学习day58(乐友商城)乐友商城项目搭建、SE6语法使用
  4. windows 多用户使用谷歌浏览器
  5. 油管最火KMP算法讲解,阿三哥的源代码!
  6. linux怎么切换键盘布局,Ubuntu 切换键盘布局(colemak - workman - norman)
  7. 简单使用layui完成表格
  8. 【将门创投】图像搜索的前世今生,让你买买买停不下来的淘宝是如何做到所拍即所得的?...
  9. shell中let 命令与Expr命令介绍
  10. matlab实现基于DPCA密度峰值算法的图像分割