本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载请注明出处
我开始打算使用 apache2 + mysql + lxr
搭建的. 毕竟嘛网上教程都是这个,有点坑爹的是网上的教程都是以前的,和现在的好多软件包不一样,偶尔发现个2014年的博客看了下居然还是照搬他人的.
上面居然还能用
sudo apt-get install lxr
1 LXR(Linux Cross Referencer)介绍
LXR 项目站点 : http://lxr.sourceforge.net/zh/index.php
源码下载 : http://sourceforge.net/projects/lxr
安装教程 : http://lxr.sourceforge.net/en/1-0-InstallSteps/1-0-install.php
LXR
是一个通用的源代码索引器和交叉引用器 它提供了一个基于 web 的可浏览任意定义以及任意标识的用法。 它支持很多种语言。
LXR 曾经被作为 “Linux 交叉引用器” 但是已经被证明它可以用来作为任意基于 Linux 内核的项目的交叉引用
它基于股票网站技术 (这意味着它的输出是标准的 HTML) 所以可以选择任意的可用 web 浏览器来作为他的客户端。 它被设计为不依赖 java 或者任何第三方客户端脚本,这样可以保证系统需求和依赖的最小化。
人们经常问起 LXR 与 LXRng (见于 http://lxr.linux.no) 之间的差别。 LXRng 是从 LXR 中 fork 出来带有实验性质的用来探索其他技术的分支。 它基于 ajax 并且依赖很多 CPAN 的包。 它使用了很多的客户端脚本,这意味着运算的负载被服务端和客户端一起分担了。
CAUTION!
在服务端, 任意的带有 cgi 能力的 web 服务器都能表现的很好。
在开发过程中,LXR 是一个很有价值的项目合成观察角色。 对于从头开始学习源代码的人来说,它也是一个很有用的工具。 否则,学习曲线会很陡峭。
1 安装lxr
-
检查并安装运行环境以及依赖包
-
安装lxr
-
配置lxr
1.1 检查并安装运行环境以及依赖包
先安装需要的包 :
#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 安装并检查ctags
LXR 要求ctags版本大于5.0
sudo apt-get install exuberant-ctags ctags --version
下载linux源文件:解压到后面需要配置的文件目录(自己定),文件名改为相应的版本号例如 linux-3.18
改完 3.18
1.1.2 安装并检查perl
ubuntu 14.04
默认已安装了perl
,LXR-2.1.0
要求perl
版本大于 v5.10
即可
sudo apt-get install perl perl -v
LXR
的很多配置都是通过 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] http://mirrors.tuna.tsinghua.edu.cn/mariadb/repo/10.0/ubuntu 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
详细信息请参见Ubuntu下apache的安装与配置
1.1.5 索引系统glimpse
或者swish-e
glimpse(http://webglimpse.net)和swish-e(http://swish-e.org/),建立索引数据的工具,安装一个即可.
- 安装
swish-e
Swish-e
是一个快速,灵活和自由开放源码的网页索引系统. Swish-e
是适合收藏的100
万或更小的网页文件. 使用Gnome libxml2
分析器和收集过滤器,Swish-e
能索引的纯文本文件,电子邮件,PDF
格式,HTML
格式,XML
和微软Word
,PowerPoint
,Excel
和任何文件,可以转换为XML
或HTML
文档. Swish-e
也往往用做为数据库的功能补充,如MySQL
数据库的非常快的全文检索
sudo apt-get install swish-e swish-e -V
- 安装
glimpse
Glimpse
除了对数据库建立检索信息,其高级工具webglimpse
还包含了一个对你的 Web
服务器应用进行诊断的客户端工具.
Glimpse
允许你调试你的 Web
服务,Firebug
是客户端代码的调试,而 Glimpse
是服务器端代码调试.
网址:http://webglimpse.net
首先下载源码包并解压
wget http://webglimpse.net/trial/glimpse-latest.tar.gz #下载完成后版本为glimpse-4.18.6 tar -zxvf glimpse-latest.tar.gz
进入glimpse目录,编译并安装
./configure --prefix=/usr/local make sudo make install
执行过程中可能还其他依赖包,根据提示进行安装,安装完成后使用
glimpse --help which glipmse glimpse -V
来验证 glimpse
的安装
1.1.6 其他perl模块
提示与建议
LXR的很多配置都是给予perl脚本来运行的,因此我们在后期需要安装很多perl的模块,包括数据库驱动
perl DBI
和httpd modules
等,而往往有时候我们并不知道这个perl模块的包名叫什么,这时候就需要一些工具或者技巧来为我们助力参见How to install Perl on Ubuntu Server?
使用cpan来管理和安装perl模块
CPAN(Comprehensive Perl Archive Network)中译为“Perl综合典藏网”,“Perl综合档案网”或者“Perl程序库”。CPAN它包含了极多用Perl写成的软件和其文件
sudo apt-get install cpanminus安装后使用如下命令即可安装模块
cpan App::cpanminus比如安装File::MMagic和Perl DBI
cpanm DBI cpanm File::MMagic有关cpan的文档可参考:http://www.cpan.org/modules/INSTALL.html
使用apt-cache从源中搜索包
apt-cache search perl <module-name>比如安装
apt-cache search perl DBD-mysql apt-cache search perl DBD-Pglibdbd-mysql-perl - Perl5 database interface to the MySQL database
libdbd-pg-perl - Perl DBI driver for the PostgreSQL database server搜索出来以后直接用
apt-get install
安装即可
- perl DBI数据库驱动和对应数据库的驱动
参见 http://dev.mysql.com/downloads/dbi.html
cpanm DBI
或者
######## # 安装dbi接口 ######## apt-cache search perl dbi-perl #输出 #libdbi-perl - Perl Database Interface (DBI) sudo apt-get install libdbi-per ######## # 安装对应数据库的DBD driver ######## apt-cache search perl DBD-mysql #输出 #libdbd-mysql-perl - Perl5 database interface to the MySQL database # sudo apt-get install libdbd-mysql-perl
- perl File::MMagic module
cpanm File::MMagic
或者使用如下命令安装File::MMagic
sudo apt-cache search perl file mmagic #输出 #libfile-mmagic-perl - Perl module to guess file type #libfile-mmagic-xs-perl - Perl module to guess file type (à la mod_mime_magic) apt-get install libfile-mmagic-perl
- 其他
perl
模块
如果你使用 postgresql
,请使用如下
安装数据库
sudo apt-get install postgresql-8.3 postgresql-client-8.3