OpenGrok 是一个快速, 便于使用的源码搜索引擎与对照引擎, 它能够帮助我们快速的搜索、定位、对照代码树. 接下来就具体讲解一下 OpenGrok 的安装及使用.
2 安装OpenGrok 2.1 安装JAVA运行环境OpenGrok 是基于 JAVA 的, 因此我们首先需要 JDK 和 JRE 来支持其运行
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install Oracle-java8-installer sudo apt-get install oracle-java8-set-default具体安装请参照 Ubuntu安装JDK详解
2.2 安装Web服务器-Tomcat首先大家应该明白 OpenGrok 是一个 Web 系统, 因此要共享 OpenGrok 搜索引擎, 需要安装 Web 服务器.
在 Ubuntu 环境下, 推荐使用 Tomcat.
Ubuntu14.04 的源中已经提供了Tomcat 7 的包, 参见
安装 Tomcat7, 直接从源中安装 Tomcat7.
sudo apt-get install tomcat7启动 Tomcat7
sudo service tomcat7 start或者
sudo /etc/init.d/tomcat7 start启动 Tomcat 服务后, 在浏览器中输入网址
能够进入以下页面证明Tomcat运行成功.
更加详细的安装, 请参照Ubunt安装和配置Tomcat8服务
2.3 安装OopenGrok安装好 Tomcat 后, 接下来就是配置 OpenGrok 了.
OpenGrok 下载地址 :
在该网址中可以下载 OpenGrok 的编译文件, 也可以下载源文件. 在此我们直接下载编译文件(对OpenGrok感兴趣的同学可以下载源码查看究竟), 下载后通过以下命令进行解压:
tar xvzf opengrok-0.11.1.tar.gz -C /opt 2.4 配置OpenGrok如果希望 OpenGrok 能够正常运行, 则需要很多环境变量, 如果我们按照 OpenGrok的要求安装 jdk , Tomcat 和 OpenGrok , 并建立好目录结构的话, 这些环境变量在运行 OpenGrok 脚本的时候会被正确设置, 但是如果我们希望配置更加灵活的话, 还是自定义目录结构, 然后手动的配置这些环境变量吧,
环境变量的配置如下
#cat mysetenv.sh #------------------------------------------------------------------------------- # - JAVA_HOME Full Path to Java Installation Root # - JAVA Full Path to java binary (to enable 64bit JDK) # - JAVA_OPTS Java options (e.g. for JVM memory increase #------------------------------------------------------------------------------- JAVA_HOME=/usr/lib/jvm/java-8-oracle JRE_HOME=$JAVA_HOME/jre JAVA_BIN=$JAVA_HOME/bin CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME PATH CLASSPATH #------------------------------------------------------------------------------- # - OPENGROK_DISTRIBUTION_BASE Base Directory of the OpenGrok Distribution # - OPENGROK_INSTANCE_BASE Base Directory of the OpenGrok User Data Area # - EXUBERANT_CTAGS Full Path to Exuberant CTags # - OPENGROK_CTAGS_OPTIONS_FILE Full path to file with extra command line # options for CTags program (for its --options #------------------------------------------------------------------------------- # opengrok home directory export OPENGROK_INSTANCE_BASE=/opt/opengrok export SCRIPT_DIRECTORY=$OPENGROK_INSTANCE_BASE/bin export OPENGROK_DISTRIBUTION_BASE=$OPENGROK_INSTANCE_BASE/lib # source code root export SRC_ROOT=$OPENGROK_INSTANCE_BASE/database/src # generated data root export DATA_ROOT=$OPENGROK_INSTANCE_BASE/database/data # EXUB_CTAGS=/usr/bin/ctags #------------------------------------------------------------------------------- # - OPENGROK_APP_SERVER Application Server ("Tomcat" or "Glassfish") # - OPENGROK_WAR_TARGET_TOMCAT Tomcat Specific WAR Target Directory # - OPENGROK_WAR_TARGET_GLASSFISH Glassfish Specific WAR Target Directory # - OPENGROK_WAR_TARGET Fallback WAR Target Directory # - OPENGROK_TOMCAT_BASE Base Directory for Tomcat (contains webapps) # - OPENGROK_GLASSFISH_BASE Base Directory for Glassfish # (contains domains) #------------------------------------------------------------------------------- export OPENGROK_APP_SERVER=Tomcat export OPENGROK_TOMCAT_BASE=/opt/apache-tomcat export OPENGROK_WAR_TARGET_TOMCAT=$OPENGROK_TOMCAT_BASE/webapps export OPENGROK_WAR_TARGET=$OPENGROK_TOMCAT_BASE/webapps export CATALINA_HOME=$OPENGROK_TOMCAT_BASE完成后, 每次在运行 OpenGrok 之前就可以使用mysetenv.sh 脚本来设置环境变量了
source mysetenv.sh我们可以直接将这条命令加载 OpenGrok 脚本的开头
OpenGrok脚本的信息请参见https://github.com/OpenGrok/OpenGrok/blob/master/OpenGrok
如果运行出错请查看源代码自行设置环境变量的信息
解压完成后进入到解压目录, 将 /opt/opengrok/lib 目录下的 source.war 包拷贝到apache-tomcat/webapps 目录下
或者执行
sudo ./OpenGrok deplay系统会自动将 $OPENGROK_DISTRIBUTION_BASE/source.war 拷贝到 OPENGROK_WAR_TARGET_TOMCAT 下
在浏览器中输入
看到以下界面证明OpenGrok运行成功.