0%

Ubuntu搭建OpenGrok在线代码浏览环境

OpenGrok 是一个快速, 便于使用的源码搜索引擎与对照引擎, 它能够帮助我们快速的搜索、定位、对照代码树. 接下来就具体讲解一下 OpenGrok 的安装及使用。

1. 安装 JDK

需要安装java 1.8.x及以上:

1
sudo apt install java

2. 安装 exuberant-ctags

1
sudo apt-getinstall exuberant-ctags

3. Tomcat 环境配置

https://tomcat.apache.org/ 下载tomcat 9.0(apache-tomcat-9.0.11.tar.gz),解压到 /opt/ 目录下,赋予 apache-tomcat-9.0.11/bin 可执行权限,启动tomcat:

1
2
3
4
5
6
7
ranger@adp:/opt/tomcat-9.0.11 $ ./bin/startup.sh 
Using CATALINA_BASE: /opt/tomcat-9.0.11
Using CATALINA_HOME: /opt/tomcat-9.0.11
Using CATALINA_TMPDIR: /opt/tomcat-9.0.11/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/tomcat-9.0.11/bin/bootstrap.jar:/opt/tomcat-9.0.11/bin/tomcat-juli.jar
Tomcat started.

在浏览器中输入 http://localhost:8080/ 检查tomcat是否正常启动,如显示欢迎页面则配置成功。

4. 配置 OpenGrok

  1. 官方github 下载最新版本,建议不要使用最新版本,反正我用最新版本 opengrok-1.1-rc38 没有成功,最终使用 opengrok-0.12.1.5 成功;

  2. 使用如下脚本命令创建索引

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #****************************************************************#                                                                                                                                     
    # ScriptName: indexing_opengrok.sh
    # Author: ZhouRan
    # Create Date: 2018-08-29
    #***************************************************************#

    opengrok_path="/opt/opengrok-0.12.1.5"
    source_root="${opengrok_path}/source/code"
    indexing_root="${opengrok_path}/source/indexing"

    # indexing for the source code
    # 1. remove the old indexing if exist
    if [ -d ${indexing_root}/ ];then
    rm -rf ${indexing_root}/
    fi
    mkdir -p ${indexing_root}

    # 2. export the OpenGrok environment variables
    export OPENGROK_TOMCAT_BASE=/opt/apache-tomcat-9.0.11
    export OPENGROK_INSTANCE_BASE=opengrok

    export JAVA_OPTS="-Xmx1024m"
    # java -jar ${opengrok_path}/lib/opengrok.jar for command help
    java $JAVA_OPTS -jar ${opengrok_path}/lib/opengrok.jar -P -S -v \
    -s ${source_root} \
    -d ${indexing_root} \
    -W ${indexing_root}/configuration.xml \
    -w opengrok # webapp-context ${OPENGROK_TOMCAT_BASE}/webapps/webapp-context
  3. 复制 source.war 到 /opt/apache-tomcat-9.0.11/webapps ,source.war 会自动解压为 source 目录,可修改此目录名;

    1
    cp /opt/opengrok-0.12.1.5/lib/source.war /opt/apache-tomcat-9.0.11/webapps

    浏览器输入 http://localhost:8080/source ,显示搜索界面则成功;

  4. 修改 /opt/apache-tomcat-9.0.11/webapps/mychain/WEB-INF/web.xml ,将CONFIGURATION 设置为实际的 configuration.xml

    1
    2
    3
    4
    5
    6
    7
    <display-name>OpenGrok</display-name>
    <description>A wicked fast source browser</description>
    <context-param>
    <param-name>CONFIGURATION</param-name>
    <param-value>/opt/opengrok-0.12.1.5/source/indexing/configuration.xml</param-value>
    <description>Full path to the configuration file where OpenGrok can read it's configuration</description>
    </context-param>

5. 启动 tomcat ,在线浏览代码

1
bash /opt/apache-tomcat-9.0.11/bin/startup.sh

浏览器输入 http://localhost:8080/source 浏览代码。

6. Tomcat 开机启动

https://blog.csdn.net/wangli61289/article/details/37924785

7. OpenGrok 多项目索引配置

https://blog.csdn.net/luzhenrong45/article/details/52734781

参考:https://blog.csdn.net/yzx_zjut/article/details/81951869

Donate comment here.