- opengrok site
- Features
- Comparison with Similar Tools
- Supported Revision Control Systems
- Supported Languages and Formats
- How to build OpenGrok from source
- How to install OpenGrok
- Internals
- Story of OpenGrok
在用户目录下执行,仅作验证使用。
安装准备
- 从https://github.com/oracle/opengrok/releases下载压缩包,目前最新的为
opengrok-1.3.16.tar.gz
- 创建目录
mkdir -p opengrok/{src,data,dist,etc,log}
src目录作为源码仓库,data目录作为indexer目录 - 解压压缩包
tar -C opengrok/dist --strip-components=1 -xzf opengrok-1.3.16.tar.gz
(--strip-components=1 参数Strip NUMBER leading components from file names on extraction。 将移除一层目录) - 指定log配置
cp opengrok/dist/doc/logging.properties opengrok/etc
- 在src目录下git clone几个代码仓库
ubuntu下安装universal-ctags
- 安装依赖环境
sudo apt install \
gcc make \
pkg-config autoconf automake \
python3-docutils \
libseccomp-dev \
libjansson-dev \
libyaml-dev \
libxml2-dev
- 拉取代码
git clone https://github.com/universal-ctags/ctags.git
- 在ctags目录下,执行
./autogen.sh
,./configure
,make
,sudo make install
成功后,默认ctags位于 /usr/local/bin/ctags
$ ./autogen.sh
$ ./configure --prefix=/where/you/want # defaults to /usr/local
$ make
$ make install # may require extra privileges depending on where to install
- 生成配置文件
java \
-Djava.util.logging.config.file=/opengrok/etc/logging.properties \
-jar opengrok/dist/lib/opengrok.jar \
-c /usr/local/bin/ctags \
-s opengrok/src -d opengrok/data -H -P -S -G \
-W opengrok/etc/configuration.xml
- 复制opengrok/dist/lib/目录下的source.war文件到tomcat服务器的webapps目录
安装管理工具(可选)
python包包括了一下封装后的命令,包括indexer等。在release版本的tar包解压后的tools
文件夹下包含opengrok-tools.tar.gz
文件,使用pip命令安装此文件即可。
- 先确保有python3环境
- 安装python3环境下的pip
sudo apt install python3-pip
(查看帮助pip3 --help
,或者pip3 install --help
), 检查版本pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6) - 到tool目录下执行
pip3 install opengrok-tools.tar.gz
安装web服务器
Setup Apache Tomcat 8 | 8.5 on Ubuntu 16.04 | 18.04 LTS
- 下载压缩包,解压压缩包,指定端口号,直接到bin目录执行
./catalina.sh start
将启动默认的服务器 - 修改source工程(即openGrok服务)的配置文件
tomcat8/webapps/source/WEB-INF/web.xml
,指定服务变量CONFIGURATION
的值
<context-param>
<description>Full path to the configuration file where OpenGrok can read its configuration</description>
<param-name>CONFIGURATION</param-name>
<param-value>/home/xxx/opengrok/etc/configuration.xml</param-value>
</context-param>