Ubuntu18.04搭建OpenGrok代码搜索工具

一、工具准备

  1. apache-tomcat-9.0.64.tar.gz

    下载地址:https://tomcat.apache.org/download-90.cgi

    将其存放至/opt目录下

  2. opengrok-1.3.16.tar.gz

    下载地址:https://github.com/oracle/opengrok/releases/tag/1.3.16

    将其存放至/opt目录下

  3. universal-ctags

    下载地址:git clone https://github.com/universal-ctags/ctags.git

二、安装依赖

  1. 安装openjdk8
    运行环境需要大于等于jdk8的版本。

    sudo apt-get install openjdk-8-jdk
    
  2. 安装universal-ctags
    exuberant-ctags已经不再维护,对opengrok不友好。
    从github上下载universal-ctags进行编译安装。

    # 移除exuberant-ctags
    sudo apt-get remove --purge exuberant-ctags
    # 编译安装universal-ctags
    tar -zxvf ctags.tar.gz
    cd ctags/
    ./autogen.sh
    ./configure 
    make
    sudo make install
    

三、安装Tomcat

  1. 解压并重命名

    # 切换超级用户
    cd /opt
    tar -zxf apache-tomcat-9.0.64.tar.gz
    rm apache-tomcat-9.0.64.tar.gz
    mv apache-tomcat-9.0.64/ tomcat
    
  2. 启动服务器

    cd /opt/tomcat/bin/
    ./startup.sh
    
    # 同网络下浏览器输入主机IP,若成功打开网页则服务器安装成功
    # http://192.168.2.222:8080/
    
  3. 关闭服务器

    cd /opt/tomcat/bin/
    ./shutdown.sh
    

四、安装OpenGrok

  1. 切换超级用户

  2. 解压安装

    # 解压并重命名
    cd /opt
    tar -zxf opengrok-1.3.16.tar.gz
    rm opengrok-1.3.16.tar.gz
    mv opengrok-1.3.16/ opengrok
    

五、Tomcat与OpenGrok关联及配置

  1. 查看webapps目录

    ls -al /opt/tomcat/webapps
    

    可以看到目录下并没有source目录。

  2. 文件复制

    将opengrok的lib目录下的source.war文件,复制到tomcat的webapp目录下

    cp /opt/opengrok/lib/source.war /opt/tomcat/webapps/
    
  3. 重启tomcat服务器

    此时系统会自动在webapp目录下生成一个source目录。

    cd /opt/tomcat/bin/
    # 注意,执行完startup.sh后,再执行shutdown.sh,source目录可能会被tomcat删除。
    # 可以在执行完startup.sh后,手动备份/opt/tomcat/webapps/source目录,
    # 在执行完shutdown.sh 后将备份的source目录还原到/opt/tomcat/webapps/目录下即可。
    ./startup.sh
    ./shutdown.sh
    
  4. 再次查看webapps目录

    ls -al /opt/tomcat/webapps
    

    在这里插入图片描述
    可以发现新生成一个source目录。

  5. 删除source.war文件

    rm -Rf /opt/tomcat/webapps/source.war
    
  6. 建立相应的目录

    # 该目录直接关联到源代码
    mkdir -p /opt/opengrok/source
    # 该目录存放源代码索引文件
    mkdir -p /opt/opengrok/data
    # 该目录存放后期代码同步的必须文件
    mkdir -p /opt/opengrok/etc
    
  7. 配置环境变量

    vim /etc/profile
    # 添加如下变量
    export OPENGROK_TOMCAT_BASE=/opt/tomcat
    export CATALINA_HOME=/opt/tomcat
    export OPENGROK_APP_SERVER=Tomcat
    export OPENGROK_INSTANCE_BASE=/opt/opengrok
    
  8. 更新环境变量

    source /etc/profile
    
  9. 建立源码仓库,并放入相关代

    # 此目录根据实际情况建立
    mkdir -p /home2/jerry/test
    mkdir -p /home2/jerry/test/android-11.0.0_r46
    mkdir -p /home2/jerry/test/android-12.1.0_r5
    
  10. 通过软链接关联相关仓库

    ln -s /home2/jerry/test/android-11.0.0_r46/ /opt/opengrok/source/
    ln -s /home2/jerry/test/android-12.1.0_r5/ /opt/opengrok/source/
    
  11. 查看关联结果

    ls -al /opt/opengrok/source/
    
  12. 生成索引文件和configuration.xml文件

    上一步虽然让opengrok与源代码目录关联起来,但是opengrok不可能直接跳转到源代码目录去查找目标代码,还缺少源代码索引文件。并且索引文件还可以大大缩减了代码检索时间。下一步就是创建源代码索引文件,创建命令如下(注意在root用户下执行):

    cd /opt/opengrok/
    java -jar /opt/opengrok/lib/opengrok.jar -P -S -v -s /opt/opengrok/source -d /opt/opengrok/data -i d:.git -i d:.repo -i d:out -W /opt/opengrok/etc/configuration.xml
    
  13. 关联configuration.xml文件

    /var/opengrok/etc/configuration.xml路径替换为上一步新生成的/opt/opengrok/etc/configuration.xml

    vim /opt/tomcat/webapps/source/WEB-INF/web.xml
    

    在这里插入图片描述
    至此,启动tomcat服务器后,浏览器内输入http://192.168.2.222:8080/source便可适用opengrok搜索代码。

六、tomcat开机设置

  1. 配置文件设置

    cp /opt/tomcat/bin/catalina.sh /etc/init.d/tomcat
    vim /etc/init.d/tomcat
    

    添加以下代码:

    ### BEGIN INIT INFO
    # Provides:          tomcat
    # Required-Start:    $remote_fs $network
    # Required-Stop:    $remote_fs $network
    # Default-Start:    2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: The tomcat Java Application Server
    ### END INIT INFO
    
    CATALINA_HOME=/opt/tomcat
    JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
    

    如下图:
    在这里插入图片描述
    注意BEGIN INIT INFO和END INIT INFO之间的内容需要添加。

  2. 重启tomcat服务

    update-rc.d -f tomcat defaults
    service tomcat start
    service tomcat stop
    service tomcat status
    service tomcat start
    

七、功能验证

浏览器内输入http://192.168.2.222:8080/source便可使用opengrok搜索代码。
在这里插入图片描述

八、其它

  1. 上文提到的IP地址192.168.2.222为服务器的主机地址,通过ifconfig查看。
  2. 在生成索引文件时,如果产生以下警告,则无需关心:
    警告: Error from ctags: ctags: Warning: Don't reuse the kind letter 等错误无需关注
    在这里插入图片描述
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值