之前有过一段web应用开发的经历,最近想要能够通过一种尽量快的方式来检索本地的Android的Source Code,所以今天研究一下怎么在本地机器部署
OpenGrok, 配置完成记录一下[ubuntu 12.04].
1.安装JDK 1.7
sudo apt-get install openjdk-7-jdk
vi /etc/profile 将export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64添加到该文件中
source /etc/profile
java -version #确定一下JDK版本
java version "1.7.0_03"
OpenJDK Runtime Environment (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-1ubuntu2)
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
2.安装Apache Tomcat6
下载地址http://tomcat.apache.org/download-60.cgi
下载Binary Distributions -> Core -> tar.gz
tar zxvf apache-tomcat-6.0.43.tar.gz apache-tomcat-6.0.43
cd apache-tomcat-6.0.43
export CATALINA_HOME= ../apache-tomcat-6.0.43 #这里也可以设置为apache-tomcat-6.0.43的绝对路径
cd $CATALINA_HOME/bin
./startup.sh #启动Tomcat、
在浏览器中输入http://192.168.42.51:8080出现Apache如下界面,说明安装配置成功
3.安装ctags-exuberant
sudo apt-get install exuberant-ctags
which which ctags-exuberant #获取到ctags-exuberant的路径,设置OpenGrok需要用到
/usr/bin/ctags-exuberant
4.安装OpenGrok
下载地址http://opengrok.github.io/OpenGrok/
下载opengrok-0.12.1.tar.gz - Binary distribution,下载Binary版本进行,有兴趣研究源码的同学可以下载Source Code
tar zxvf opengrok-0.12.1.tar.gz opengrok-0.12.1
cd opengrok-0.12.1
mkdir -p DATA/data #建立一个专门存放索引和数据的目录
ln -sf <src-of- your-repository> `pwd`/DATA/data #将你的代码库以软链接的形式放到DATA目录中
vi bin/OpenGrok #给该脚本的一些变量复制
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OPENGROK_INSTANCE_BASE=/home/anna/software/opengrok-0.12.1/DATA
EXUBERANT_CTAGS=/usr/bin/ctags-exuberant #ctags的全路径
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 #java安装路径
OPENGROK_APP_SERVER="Tomcat" #指定app server
OPENGROK_WAR_TARGET=/home/anna/software/apache-tomcat-6.0.43/webapps #指定tomcat的webapps路径
#OPENGROK_INSTANCE_BASE="${OPENGROK_INSTANCE_BASE:-/var/opengrok}" #可以把原来的这句注释掉
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./bin/OpenGrok deploy #部署OpenGrok,这步会将opengrok-0.12.1/lib/source.war拷贝到上面设置的tomcat对应的webapps目录中,
#source.war会自动解压
./bin/OpenGrok index XXXX #XXX写你的代码库的软链接的全路径,即生成该代码库的索引,代码库中代码量较大的时候时间会略长
5.binggo 所有的安装都已经完成,在浏览器中输入http://192.168.42.51:8080/source即可,OpenGrok的root目录为source,出现如下界面就搞定了
参考:
1.http://blog.csdn.net/weihan1314/article/details/8944291
2.http://blog.csdn.net/yahoozhuo/article/details/5917810