なんだかんだと毎年OpenGrokをインストールしてるのだが、今年も、その時期がやってきた。
ということで、最新版のOpenGrok 1.2.8をUbuntu 18.04にインストールしていた。1.2.8は過去のバージョンと比較すると、セットアップの流れがいくつか異なるので今後の自分のためにメモしておく(公式ドキュメント以外はちゃんとした情報が見つからなかった...)。
構築環境
- Ubuntu 18.04
- Tomcat 8
1.0系と異なる点
構築にあたってOpenGrok1.0系から1.2系になっての変更点は以下の通り。
- JDK 8必須
- universal-ctagインストール
- OpenGrokパッケージ内部のbinフォルダ廃止
これらの詳細についてはセットアップ方法の流れの中で随時解説していく。
構築の流れ
詳細はOpenGrokの導入公式ドキュメントの通りに行えばインストールできるのだが、自分がハマった事などもあるので、改めて解説していく。
必要なソフトをインストール
OpenJDK8とかTomcat 8など。
$ sudo apt-get install openjdk-8-jdk tomcat8
Universal-ctagsをインストール
公式ドキュメントにも書かれているとおり、解析用ソフトがExuberant ctagsからUniversal ctagsに変更となった。このUniversal ctags、Ubuntu 18.04のパッケージが見つからなかったので、ソースコードからインストール。
$ sudo apt-get install pkg-config autoconf $ git clone https://github.com/universal-ctags/ctags.git $ cd ctags $ ./autogen.sh $ ./configure $ make $ sudo make install
make installすると、/usr/local/binディレクトリに実行ファイルが格納される。
OpenGrok向けディレクトリを作成する
OpenGrokで検索する対象のソースコードの配置箇所やワーキングディレクトリを作成する。ここではパーミッションは緩く設定しておいた。世間に公開する訳でもないので。
検索対象とするソースコードは、あらかじめ/var/opengrok/srcディレクトリ配下に配置しておくこと。
$ mkdir -p /var/opengrok/{data,src} $ chmod 777 -R /var/opengrok/
OpenGrokをデプロイ
opengrok-1.2.8.tar.gzをダウンロードした後に展開した後に、.warファイルをデプロイする。UbuntuパッケージでインストールしたTomcat 8のデプロイ先はデフォルトで/var/lib/tomcat8/webappsディレクトリなので、そこへsource.warファイルをコピーする。以下の手順ではホームディレクトリ直下にopengrok-1.2.8.tar.gzファイルがすでにダウンロード済みであるモノとして進める。
$ cd $ tar xvfz opengrok-1.2.8.tar.gz $ cp opengrok-1.2.8/lib/source.war /var/lib/tomcat8/webapps/
.warファイルはTomcat 8を再起動すると展開される。ので、再起動をお忘れ無く。
$ sudo /etc/init.d/tomcat8 restart
検索用インデックスを生成する
最後にOpenGrokの検索に必要な索引を作成する。これ、OpenGrok1.0系の頃ははOpenGrokのパッケージに含まれるbin/opengrokファイルを利用して作成していた。が、1.2系からはbinフォルダそのものが廃止された。当然bin/opengrokファイルもなくなった。
1.2.8では、インデックスを作成する場合、jarファイルを直接実行して作成する。インデックスの作成方法は次の通り。オプションでjarファイルの位置や、ctagsのファイルの位置などを渡す必要がある。このあたりは雰囲気で読めるのでは。
$ java -Djava.util.logging.config.file=/var/opengrok/logging.properties \ -jar $HOME/opengrok/lib/opengrok.jar \ -c /usr/local/bin/ctags \ -s /var/opengrok/src -d /var/opengrok/data -H -P -S -G \ -W /var/opengrok/etc/configuration.xml -U http://localhost:8080/source
インデックスを作成後、http://localhost:8080/source/にアクセスすることでOpenGrokが利用できるようになる。

- 作者: Jason Brittain,Ian F. Darwin,村上雅章
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/11/21
- メディア: 大型本
- 購入: 8人 クリック: 74回
- この商品を含むブログ (32件) を見る