一、Java环境配置
JDK1.8或以上,已安装JDk1.8请跳过该步骤:
sudo apt-get install java
二、tomcat环境配置
参考:
https://github.com/yaozhongxiao/dev-tools/blob/master/opengrok/opengrok_step_by_step.md
下载tomcat,如apache-tomcat-8.5.45,并解压到:
/home/XXX/bin/apache-tomcat-8.5.45
(注意:XXX为当前的家目录)
执行startup.sh启动tomcat:
XXX@h:~/bin/apache-tomcat-8.5.45/bin$ ./startup.sh
Using CATALINA_BASE: /home/XXX/bin/apache-tomcat-8.5.45
Using CATALINA_HOME: /home/XXX/bin/apache-tomcat-8.5.45
Using CATALINA_TMPDIR: /home/XXX/bin/apache-tomcat-8.5.45/temp
Using JRE_HOME: /usr/lib/jvm/java-8-openjdk-amd64
Using CLASSPATH: /home/XXX/bin/apache-tomcat-8.5.45/bin/bootstrap.jar:/home/XXX/bin/apache-tomcat-8.5.45/bin/tomcat-juli.jar
Tomcat started.
在tomcat启动后,在浏览器中打开http://localhost:8080/,检查是否正常。
三、opengrok安装及布署
参考:
https://blog.csdn.net/gatieme/article/details/53083987
下载opengrok0.12.1.5(链接),并解压到:/home/XXX/bin/opengrok-0.12.1.5
新建bash文件(如bash_opengrok.sh)来配置:
# bash_opengrok.sh
echo "start bash_opengrok.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-openjdk-amd64
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=/home/XXX/bin/opengrok-0.12.1.5
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=/home/XXX/bin/apache-tomcat-8.5.45
export OPENGROK_WAR_TARGET_TOMCAT=$OPENGROK_TOMCAT_BASE/webapps
export OPENGROK_WAR_TARGET=$OPENGROK_TOMCAT_BASE/webapps
export CATALINA_HOME=$OPENGROK_TOMCAT_BASE
opengrok配置完成后,将/home/XXX/bin/opengrok-0.12.1.5/lib 目录下的 source.war 包拷贝到apache-tomcat-8.5.45/webapps 目录下,或者执行sudo ./OpenGrok deplay,系统会自动将 source.war 拷贝到 apache-tomcat-8.5.45/webapps下。
在浏览器中输入http://localhost:8080/source/,看到Opengrok界面证明OpenGrok运行成功。
四、建立源码索引
为了使得环境变量能够正确识别, 我们可以修改 OpenGrok 脚本的源代码, 重置 SRC_ROOT 和 DATA_ROOT 的值.
# 修改/home/XXX/bin/opengrok-0.12.1.5/bin/OpenGrok
SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src"
改为
SRC_ROOT="${OPENGROK_INSTANCE_BASE}/database/src"
DATA_ROOT="${OPENGROK_INSTANCE_BASE}/data"
改为
DATA_ROOT="${OPENGROK_INSTANCE_BASE}/database/data"
接着我们将需要索引的源码放在 src 目录下即可, 当然我们其实没必要把源码真的放到这里, 只需要为其创建一个链接即可:
cd /home/XXX/bin/opengrok-0.12.1.5/database/src
ln -s ~/code/android7.0 android7.0
生成索引:
在/home/XXX/bin/opengrok-0.12.1.5/bin目录下,执行:
#./OpenGrok index
接着我们打开http://localhost:8080/source,就可以看到我们的源代码了。
电脑重启后,需要重新配置及部署,可参考bash_opengrok.sh执行:
echo "1.config..."
source ~/bashmy/bash_config_opengrok.sh
echo "2.start opengrok..."
$OPENGROK_TOMCAT_BASE/bin/startup.sh
echo "3.index..."
$OPENGROK_INSTANCE_BASE/bin/OpenGrok deploy
$OPENGROK_INSTANCE_BASE/bin/OpenGrok index