LINUX
2016.04.27 08:29

OpenGrok 설치 빨리하기

조회 수 8614 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
Skip to end of metadata
Go to start of metadata

0. 설치환경 : Ubuntu 12.04


 

1. 필요한 Package


 

$ sudo apt-get install tomcat6 tomcat6-admin exuberant-ctags

Tomcat등의 필요한 package들을 설치하고 OpenGrok을 download 받아서 압축을 푼다.

2. 실행환경 만들기


OpenGrok은 설치 환경이 /var/opengrok directory 아래에 구성되어 있다고 가정한다. 이를 위해 압축을 해제한 OpenGrok file들을 /var/opengrok 으로 옮긴다.

$ sudo mv ./opengrok-0.11.1 /var/opengrok

3. SRC_ROOT 변경


/var/opengrok/bin/OpenGrok file을 열어서 SRC_ROOT를 source 들이 있는 곳으로 변경한다. 기본 설정대로 /var/opengrok/src 아래에 source file을 두려면 이 설정은 건너 뛰고 src directory만 만들어 주면 된다.

    # REQUIRED: Source Code/Repository Root

    #           (your source code or the root of all repositories)

    #SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src"

    SRC_ROOT="<YOUR_SOURCE_REPOSITORY_TOP>"

 

OpenGrok script의 실행경로 변경하기

OpenGrok script는 /var/opengrok directory아래에 bin, data, ext, src가 있는 것을 가정하고 작성되어 있다. Source 경로는 별도의 directory에 보관하고 있는 것을 그대로 사용하고, bin, data, ext는 home directory에 opengrok directory 아래에 있는 것을 사용하므로, OpenGrok script를 열어서 관련 부분을 수정해 준다.

1. OPENGROK_INSTANCE_BASE

: 이 값을 기준으로 bin, data, ext, src의 경로가 기본값으로 설정되어 있으므로, 원하는 경로로 이 값을 바꾼다.

    #OPENGROK_INSTANCE_BASE="${OPENGROK_INSTANCE_BASE:-/var/opengrok}"
    OPENGROK_INSTANCE_BASE="${OPENGROK_INSTANCE_BASE:-/<YOUR_HOME_DIRECTORY>/opengrok}"

2. SRC_ROOT

: Source code는 다른경로에 있는 것을 사용하므로, SRC_ROOT를 변경한다.

    # REQUIRED: Source Code/Repository Root
    #           (your source code or the root of all repositories)
    #SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src"
    SRC_ROOT="<YOUR_SOURCE_REPOSITORY_TOP>"

configuration.xml 위치 변경

web.xml에서 configuration.xml 생성위치를 변경해준다. 이 파일은 source.war안에 들어 있으므로 압축을 해제한 후 수정하고 재 압축하는 다소 번거로운 절차를 따라야 한다.

1. 먼저 source.war file의 압축을 푼다.

$ unzip opengrok/lib/source.war -d opengrok/lib/source

2. web.xml을 수정한다.

: opengrok/lib/source/WEB-INF/web.xml file을 열어서 CONFIGURATION 부분의 <param-value> 값을 우리가 사용할 etc 위치로 변경해 준다. (Line 9)

$ vi opengrok/lib/source/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <display-name>OpenGrok</display-name>
  <description>A wicked fast source browser</description>
  <context-param>
    <param-name>CONFIGURATION</param-name>
    <!-- <param-value>/var/opengrok/etc/configuration.xml</param-value> -->
    <param-value><YOUR_HOME_DIRECTORY>/opengrok/etc/configuration.xml</param-value>
    <description>Full path to the configuration file where OpenGrok can read it's configuration</description>
  </context-param>

3. 다시 zip으로 압축한다.

$ zip -u opengrok/lib/source.war opengrok/lib/source/WEB-INF/web.xml 
  adding: opengrok/lib/source/WEB-INF/web.xml (deflated 80%)

4. 설치 및 indexing


모든 설정이 끝났으니 deploy하고 indexing을 시작한다.

$ sudo /var/opengrok/bin/OpenGrok deploy

$ sudo /var/opengrok/bin/OpenGrok index

http://<IP Address>:8080/source 접속하면 opengrok 화면이 보인다.

5. Source Sync 및 자동 indexing


root 권한으로 작업한다.

crontab에서 자동으로 돌릴 시간과 script 파일명을 추가한다. (data_capa_check.sh 참고)

     $vi /etc/crontab

script 파일은 매시/매일/주/월 단위로 실행 가능하며 /etc 밑의 원하는 폴더에 넣으면 된다.

     cron.hourly / cron.daily / cron.weekly / cron.monthly

실행시킬 script 파일을 미리 실행시켜서 원하는 cmd가 제대로 실행되는지 확인한다.

  • gna server 경우, 아래의 shell script를 수행하여 OpenGrok 파일을 update 하도록 하였다.
    /etc/cron.weekly/opengrok_src_update.sh 

Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
371 업무 H&A본부 교육 중 IoT / 로봇 관련 내용 secret 2016.08.29 0 0
370 Pi DIY 배터리팩 secret 2016.07.20 0 0
» LINUX OpenGrok 설치 빨리하기 2016.04.27 8614 0
368 LINUX 리눅스 파일시스템 체크 하기 fsck(e2fsck) 사용법 2016.04.15 31926 0
367 일반 7zip(7z.exe) 간단 사용법 2016.04.08 8567 0
366 PHP 윈도우용 센드메일 구축 2016.03.30 6488 0
365 Android adb shell 에서 sqilte3 사용 하기 2016.03.28 9669 0
364 Android adb shell로 db 업데이트하기 1 secret 2016.03.28 0 0
363 LINUX 리눅스 계정 목록 보기 2016.03.21 5986 0
362 LINUX 우분투(Ubuntu)에서 APM 웹서버 구축하기 2016.03.17 5686 0
361 LINUX 우분투(Ubuntu) 설치된 패키지 목록 확인하기 2016.03.17 5184 0
360 LINUX 리눅스 그룹관리 (groupadd, groupmod, groupdel) 2016.02.23 6473 0
359 LINUX 삼바(SAMBA)를 이용한 윈도우 접근 가능 공유폴더 만들기 2016.02.23 14643 0
358 JAVA 자바 리스트(List,ArrayList) 이용하는 방법 2016.02.22 25849 0
357 LINUX iptables 명령어 - 방화벽 설정 2016.02.01 11248 0
목록
Board Pagination ‹ Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 33 Next ›
/ 33

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5