我开始打算使用 apache2 + mysql + lxr 搭建的. 毕竟嘛网上教程都是这个, 有点坑爹的是网上的教程都是以前的, 和现在的好多软件包不一样, 偶尔发现个2014年的博客看了下居然还是照搬他人的.
上面居然还能用
sudo apt-get install lxr 1 LXR(Linux Cross Referencer)介绍LXR 是一个通用的源代码索引器和交叉引用器 它提供了一个基于 web 的可浏览任意定义以及任意标识的用法。 它支持很多种语言。
LXR 曾经被作为 “Linux 交叉引用器” 但是已经被证明它可以用来作为任意基于 Linux 内核的项目的交叉引用
它基于股票网站技术 (这意味着它的输出是标准的 HTML) 所以可以选择任意的可用 web 浏览器来作为他的客户端。 它被设计为不依赖 java 或者任何第三方客户端脚本,这样可以保证系统需求和依赖的最小化。
人们经常问起 LXR 与 LXRng (见于 ) 之间的差别。 LXRng 是从 LXR 中 fork 出来带有实验性质的用来探索其他技术的分支。 它基于 ajax 并且依赖很多 CPAN 的包。 它使用了很多的客户端脚本,这意味着运算的负载被服务端和客户端一起分担了。
CAUTION!
在服务端, 任意的带有 cgi 能力的 web 服务器都能表现的很好。
在开发过程中,LXR 是一个很有价值的项目合成观察角色。 对于从头开始学习源代码的人来说,它也是一个很有用的工具。 否则,学习曲线会很陡峭。
1 安装lxr检查并安装运行环境以及依赖包
安装lxr
配置lxr
1.1 检查并安装运行环境以及依赖包 包描述mysql-server或者MariaDB mysql服务器, 任选其一即可
lighttpd或者apache2 lighttpd或者apache2服务以及相应的服务模块, 任选其一即可, 如果选择了apache请安装 `libapache2-mod-perl2-dev
swish-e或者glimpse 任选其一即可
perl 也是配置需要实际没有用到的,如果没有不能通过配置前的检查就不能往下执行
先安装需要的包 :
#ctags swish-e perl sudo apt-get install exuberant-ctags swish-e perl # mysql-server | MariaDB | 任选其一 sudo apt-get install mysql-server sudo apt-get install mariadb-server #apache2 | lighttpd sudo apt-get install apache2 sudo apt-get install lighttpd* 1.1.1 安装并检查ctagsLXR 要求ctags版本大于5.0
sudo apt-get install exuberant-ctags ctags --version下载linux源文件:解压到后面需要配置的文件目录(自己定), 文件名改为相应的版本号例如 linux-3.18 改完 3.18
1.1.2 安装并检查perlUbuntu 14.04 默认已安装了perl, LXR-2.1.0 要求perl 版本大于 v5.10 即可
sudo apt-get install perl perl -vLXR 的很多配置都是通过 perl 来完成的, 因此我们需要安装一些其他的 perl 模块, 具体的信息参见其他perl模块。
1.1.3 安装并检查关系型数据库配置LXR需要数据库的支持, 可以使用 mariadb或MySQL 4.X/5.x、Oracle、PostgreSQL 和SQLite等, 任选其一即可, 我使用了mariadb-5.5
sudo apt-get install mariadb-server如果你希望安装10.0版本, 则14.04上需要添加源
sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] trusty main'具体信息请参见Ubuntu 14.04(Trusty)安装MariaDB 10数据库
自然我们也需要perl连接数据库的接口Perl DBI drivers, 这个我们会在后面讲解其他模块时候进行详细详解
1.1.4 http服务器LXR将我们的源代码处理成为网站的形式, 自然就需要http服务器, 最常用的是Apache httpd, 当然也有很多用Lighttpd是替代选择的, 但是LXR从v2.0开始, 支持Nginx和thttpd等服务.
http服务器我选择的是 apache2
sudo apt-get install apache2 1.1.5 索引系统glimpse或者swish-eglimpse()和swish-e(), 建立索引数据的工具, 安装一个即可.
安装swish-e