LoginSignup
7
7

More than 5 years have passed since last update.

OpenGrokの導入

Last updated at Posted at 2015-04-26

OpenGrok

http://opengrok.github.io/OpenGrok/
ソースコード内検索/閲覧に超便利. 関数や変数をリンクで辿れるし.
Webサーバ(tomcatのWebApp)として動作する.
そこそこの規模でソフトウェア開発する場合は導入しておいた方がいいと思う.

ただ本家README見てもインストール手順がいまいちわかりづらいのでメモ.
(英語が苦手なだけかもしれないが)

以下 Ubunt14.04 に導入する手順.
http://bytesthink.com/blog/?p=184 が参考になった.

OpenGrokに必要なパッケージのインストール

$> sudo apt-get install libtomcat7-java
    # tomcat6以前を入れている場合、これを先にインストール.
    # しないとtomcat7-commonとの依存関係でtomcat7をインストールできない.
    # これをインストールすると同時にtomcat6はアンインストールされるので注意.

$> sudo apt-get install openjdk-7-jdk ant jflex ctags tomcat7

OpenGrokバイナリ版ダウンロード.

$> wget http://java.net/projects/opengrok/downloads/download/opengrok-0.12.1.tar.gz
$> tar -xvzf opengrok-0.12.1.tar.gz

以下、解凍ディレクトリパス opengok-0.12.1/ を [OPENGROK_DIR] と表記する。

lib/以下にJFlex.jarのsymlinkを配置.

$> cd [OPENGROK_DIR]/lib/
$> ln -snf /usr/share/java/JFlex.jar JFlex.jar

OpenGrokのデプロイ

$> cd [OPENGROK_DIR]/bin/
$> sudo ./OpenGrok deploy
$> sudo ./etc/init.d/tomcat7 restart

一旦ブラウザで表示確認

http://localhost:8080/source/

で表示されればOK.

この時点でコードも検索インデックスも作成されていないので、
検索を実行すると、以下のようなエラーメッセージがでる.

dataRoot parameter is not set in configuration.xml!

OpenGrokに必要なディレクトリの作成.

ソースコードや検索インデックス保管場所等を作ってあげなければならない.
$> sudo mkdir -m 777 -p /var/opengrok/src/ << ソースコード置き場.
$> sudo mkdir -m 777 -p /var/opengrok/etc/ << 設定ファイル置き場.
$> sudo mkdir -m 777 -p /var/opengrok/data/ << 検索インデックス等の置き場.

閲覧対象のソースコードは/var/opengrok/src以下に置く.
ソースコードディレクトリのシンボリックリンクでもOK.

OpenGrokのインデックス作成

$> cd [OPENGROK_DIR]/bin/
$> sudo ./OpenGrok index

/var/opengrok/etc, /var/opengrok/data以下にファイルが生成される.

※ 新しくソースコード追加するたびにこの操作が必要.


## もう一回ブラウザで表示確認

http://localhost:8080/source/
```
検索を実行して、該当するコード行一覧が表示されれば設定OK.
完了.

参考

http://opengrok.github.io/OpenGrok/
http://askubuntu.com/questions/556954/solvedtomcat7-installation-failed-via-apt-get-on-ubuntu-14-04

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7