본문 바로가기
ubuntu/server

우분투에 LXR을 설치하자

by lifeseed 2010. 11. 12.
1. glimpse 설치  : http://webglimpse.net/download.php
LXR에서 기본적으로 사용하는 Util인데, apt-get으로 설치가 불가능하다.
따라서 사이트에 접속하여 파일을 다운 받은후 컴파일을 수행하여야 한다.

1) glimpse-lastest.tar.gz 다운로드


2) 컴파일
$ tar xvfz glimpse-lastest.tar.gz
$ sh configure
$ make
$ sudo make install


2. LXR 설치하기
$ sudo apt-get install lxr
역시나 간단하게 설치가 가능하다.
 /usr/share/lxr   -> http & source directory 포함

cf)  lxr의 위치를 내가 원하는 곳으로 하고 옮기고자 하면 소스를 다운 받아 컴파일하여 설치해야 한다.
최신버전은 이것저것 설치고하고 세팅해야할게 만만치 않다. 따라서 old 버전을 받아서 설치하자.
ubuntu의 경우 lxr 버전 역시 0.3.x 이다.
1) 소스 다운
$ wget  http://downloads.sourceforge.net/project/lxr/old/lxr-0.3.1/lxr-0.3.1.tar.gz

$ tar xvfz lxr-0.3.1.tar.gz
$ cd lxr-0.3

2) Makefile 수정
PERBIN=/usr/bin/perl
INSTALLPREFIX=/var/www/html/lxr

3) 컴파일
$ sudo make install

4) 이후 설정은 /usr/share/lxr 대신 /var/www/html/lxr 로 대체 설정하면 된다.


3. LXR 환경 설정
1) /usr/share/lxr/http/lxr.conf 수정
baseurl: http://ipaddr/lxr/http
sourceroot: /usr/share/lxr/source/$v/
srcrootname: $v
dbdir: /usr/shard/lxr/source/$v/
glimpsebin: /usr/local/bin/glimpse

2) /usr/share/lxr/http/.htaccess 설정 추가
<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
</Files>



4. Apache 설정
/etc/apache2/mod-enables/httpd-lxr.conf 생성 및 lxr 관련 설정 추가
Alias /lxr /usr/share/lxr
<Directory /usr/share/lxr>
Options All
AllowOverride All
</Directory>

이후 /usr/share/lxr/http 로 이동하여 blurb.htm 파일을 index.html로 수정한다.

5. Source Code 적용
1) Source Code copy
/usr/share/lxr/source 폴더로 이동하여 소스코드를 copy한다.
예) source code directory name : linux-kernel

2) versions & defversion 파일 생성 
Source Code의 list를 저장한다.
$ sudo echo 'linux-kernel' >> ./versions
$ sudo echo 'linux-kernel' >> ./defversion

3) Index를 나누고 DB 를 구축
소스코드 디렉토리로 이동후 다음명령을 수행. (위치:: /usr/share/lxr/source/linux-kernel)
>> symbol 및 file index 생성
$ sudo genxref ./
 => xref, fileidx 파일이 생성된다.

>> glimpse index 생성
$ sudo glimpseindex -H ./ fileidx xref
 => file searching 및 symbol searching을 위해 두 파일에 대한 glimpseindex를 실시한다.

>> 권한 설정
$ sudo chmod 644 .glimpse_*
# sudo chmod 644 fileidx
# sudo chmod 644 xref

이상 설치 완료.

http://ip_address/lxr/http 로 접속하면 LXR 이용이 가능하다.