zoukankan      html  css  js  c++  java
  • OpenGrok源代码索引系统搭建

    OpenGrok源代码索引系统搭建

    系统环境

    • Ubuntu20.04.1 LTS
    • jdk1.8
    • Tomcat9.0.37
    • OpenGrok-0.12.1.5 (stable)

    环境安装与配置

    • 1)java version 1.8
    //下载jdk1.8的包
    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
    
    //安装工具
    sudo apt install alien
    
    //用alien将rpm转换成deb包,dpkg安装
    sudo apt install alien
    fakeroot alien jdk-8u131-linux-x64.rpm
    sudo dpkg -i jdk1.8.0-131_1.8.0131-1_amd64.deb
    
    //在/etc/profile下添加环境变量
    vi /etc/profile
    export JAVA_HOME=/usr/java/jdk1.8.0_131
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
    export PATH=$PATH:${JAVA_PATH}
    
    //令环境变量生效
    source /etc/profile
    
    //此时输入java -version就可以查看到jdk信息了
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
    
    • 2)Tomcat 9
    //首先下载压缩包
    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://ftp.mirror.tw/pub/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
    
    //解压到/usr/tomcat路径下
    sudo mkdir /usr/tomcat
    sudo tar -zxvf apache-tomcat-9.0.37.tar.gz -C /usr/tomcat/
    cd /usr/tomcat/apache-tomcat-9.0.37/
    chmod 777 * -R
    
    //将weapps目录下的文件全部清空
    cd /usr/tomcat/apache-tomcat-9.0.37/webapps/
    sudo rm -rf *
    
    • 3)Exuberant Ctags工具
    //安装ctags工具
    sudo apt-get install exuberant-ctags
    

    搭建Opengrok

    • 1)下载Opengrok包
    //下载压缩包
    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://github.com/OpenGrok/OpenGrok/files/213268/opengrok-0.12.1.5.tar.gz
    
    • 2)解压并创建索引目录和源代码存放目录
    //-C 后面跟着的是解压到的目标路径,这里一个“/”代表根目录
    sudo tar -zxvf opengrok-0.12.1.5.tar.gz -C /
    //src用于存放源代码 
    sudo mkdir /opengrok-0.12.1.5/src
    //data用于存放索引文件
    sudo mkdir /opengrok-0.12.1.5/data
    
    • 3)修改OpenGrok的配置文件
    vi /opengrok-0.12.1.5/bin/OpenGrok
    // 找到以下3个地方分别作修改
    //修改opengrok的安装路径
    OPENGROK_INSTANCE_BASE="${OPENGROK_INSTANCE_BASE:-/opengrok-0.12.1.5}"
    
    //增加tomcat/webapps的路径
        if [    -d "/var/tomcat6/webapps"        
             -o -d "/var/lib/tomcat6/webapps"    
             -o -d "/var/lib/tomcat7/webapps"    
             -o -d "/var/lib/tomcat8/webapps"    
             -o -d "/usr/tomcat/apache-tomcat-9.0.37/webapps"    
           ]
        then
            echo "Tomcat"
            return
    //增加tomcat的路径
        for prefix in               
            ${OPENGROK_TOMCAT_BASE} 
            /var/tomcat6            
            /var/lib/tomcat6        
            /var/lib/tomcat7	 
            /usr/tomcat/apache-tomcat-9.0.37
    
    • 4)使用命令生成索引
    //使用下面的命令会识别opengrok/src下的目录仓库,并在/opengrok-0.12.1.5/etc/下生成一个configuration.xml文件
    /opengrok-0.12.1.5/bin/OpenGrok index
    
    • 5)将opengrok资源文件部署到tomcat上
    //使用下面的命令会将/opengrok-0.12.1.5/lib/source.war文件拷贝到/usr/tomcat/webapps目录下。
    //tomcat会自动解压war文件并自动修改web.xml文件,但是实测好像并没有修改,手动修改方法见下
    /opengrok-0.12.1.5/bin/OpenGrok deploy
    
    //手动修改tomcat中webapps/source/WEN-INF下的web.xml文件
    //这里仅修改param-value属性值,使之指向上一步生成的configuration.xml文件路径
    vi /usr/tomcat/apache-tomcat-9.0.37/webapps/source/WEN-INF/web.xml
    
      <display-name>OpenGrok</display-name>
      <description>A wicked fast source browser</description>
      <context-param>
        <param-name>CONFIGURATION</param-name>
        <param-value>/opengrok-0.12.1.5/etc/configuration.xml</param-value>
        <description>Full path to the configuration file where OpenGrok can read it's configuration</description>
      </context-param>
    
    • 6)开启Tomcat服务,在浏览器中输入http://localhost:8080/source/ 就可以愉快的使用系统啦。
    //开启服务
    cd usr/tomcat/apache-tomcat-9.0.37/bin
    ./startup.sh
    //如果要关闭服务
    ./shutdown.sh
    

    Some Tips

    • 1)端口号可以在/usr/tomcat/apache-tomcat-9.0.37/conf/server.xml中修改,因为Linux的保护机制,如果是1024以下的端口需要root权限才能开启
        <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    
    • 2)可以将source文件名修改成你想要的名字,但是要注意在deploy后要删除webapps下的war文件,因为如果修改文件名后,tomcat会重新解压一份名为source的网站资源文件。
    • 3)中间如果有走不通的地方多半是因为权限问题,要么在命令前加sudo,要么进入要对其操作的文件的文件目录,修改权限
    chmod 777  * -R  
    
    • 4)源代码管理
      Android源码巨大,要将其拷贝到src目录下极为不方便,也不利于后续的管理维护。可以利用软链接的方式解决这个问题。
    cd /opengrok-12.0.1.5/
    ln -s [项目源码绝对路径] src/
    

    -5)在每次需要添加或删除或修改项目时,需要重新生成一次索引文件。但是如果是在项目内部进行开发修改代码则不需要。

    /opengrok-0.12.1.5/bin/OpenGrok update
    
    //也可以为每个项目单独更新索引
    /opengrok-0.12.1.5/bin/OpenGrok indexpart /opengrok-0.12.1.5/src/projectname 
    

    以下为效果图:

  • 相关阅读:
    手机的基本功能测试情景模式
    C#.net技术内幕04集合
    .net 发送电子邮件
    SQL:select case when(转)
    《 C#技术内幕》学习01IDisposable
    C#.net技术内幕03字符串
    点击确定后页面跳转
    SQL注入式攻击
    C#.NET技术内幕 02表达式
    window xp自带的功能之繁体字
  • 原文地址:https://www.cnblogs.com/lzhkami/p/13657170.html
Copyright © 2011-2022 走看看