OpenGrok
wiki : http://en.wikipedia.org/wiki/OpenGrok
homepage : http://opengrok.github.io/OpenGrok/
install : https://github.com/OpenGrok/OpenGrok/wiki/How-to-install-OpenGrok
설치과정. (Ubuntu server에..)
-
file 받기
$wget http://java.net/projects/opengrok/downloads/download/opengrok-0.11.1.tar.gz\ -
압축 해제.
$ tar -xvf opengrok-0.11.1.tar.gz \
[apache tomcat : http://tomcat.apache.org/ 설치 - sudo apt-get install tomcat, sudo apt-get install tomcat-admin]
$ ./OpenGrok deploy
usr/opengrok/bin$ sudo ./OpenGrok deploy
Loading the default instance configuration …
Installing /usr/opengrok/bin/../lib/source.war to /var/lib/tomcat6/webapps …
Start your application server (Tomcat), if it is not already
running, or wait until it loads the just installed web application.
OpenGrok should be available on: /source\ where HOST and PORT are configured in Tomcat.
- source code로 이동해서 그 디렉토리를 index 한다. (Ctag를 사용하는것 같다, [sudo apt-get install ctags])
~/git/linux_3.7.1$ sudo /usr/opengrok/bin/OpenGrok index .
Loading the default instance configuration …
( linux kernel 몇개를 했더니 좀 오래 걸린다. ㅜㅜ 마이크로 서버의 문제인가..)
이렇게 하면 index.. 그러니까 코드 찾기 최적화를 해준다. (마치 source insite 사용하거나 ctags + cscope 같이..)
아래와 같이 검색할수 있는 창이 뜨게 된다.
설치된 ubuntu에서 browser를 띄우고 주소창에 localhost:8080/source 를 넣으면 방금 index한 내용을 검색할수 있을꺼다.
아래와 같이~~ ^^;

필자의 경우는 외부 DDNS에 연결을 하여 서치가 가능하게 셋팅을 하였다. ^^
이제 외부에서도 소스코드 검색이 된다.. 이야..

아.. 좋다..
- sudo apt-get install tomcat
- sudo apt-get install tomcat-admin
- sudo apt-get install ctags
- wget http://java.net/projects/opengrok/downloads/download/opengrok-0.11.1.tar.gz
- tar xzvf opengrok-0.11.1.tgr.gz
- sudo mv opengrok-0.11.1 /usr/opengrok
- cd /usr/opengrok/bin
- ./OpenGrok deploy
- source code로 이동
- sudo /usr/opengrok/bin/OpenGrok index .
- browser 접속 (lolocalhost:8080/source)
사족으로 외부에서 접속을 하려면 DNS나 DDNS를 사용하고 집의 server로 연동을 해주면 된다.
tomcat이 설치가 안되서 tomcat7으로 설치를 해보니 (아시겠지만 sudo apt-cache search tomcat으로 검색가능)
FATAL ERROR: Unable to determine Deployment Directory for Tomcat - Aborting 이런 에러가 난다.
OpenGrck에서 tomcat7버젼을 생각안해줘서 생긴 문제고.
/usr/opengrok/bin/opengrok 에서 아래 부분을 수정해 주면 된다.
# Server specific WAR Directory and see if they exist.
if [ -d “/var/tomcat6/webapps” \
-o -d “/var/lib/tomcat6/webapps” \
-o -d “/var/lib/tomcat5/webapps” \
-o -d “/var/lib/tomcat5.5/webapps” \
-o -d “/var/lib/tomcat7/webapps” \ «489
]
then
\
for prefix in \
${OPENGROK_TOMCAT_BASE} \
/var/tomcat6 \
/var/lib/tomcat6 \
/var/lib/tomcat5 \
/var/lib/tomcat5.5 \
/var/lib/tomcat7 \ «524
do
\
\