在实际操作中遇到不少问题,用红字标注修改。
总结:
1. 安装jdk和tomcat
需要jdk 1.7及tomcat 7.0 版本过高搜索时报404错误
2. 安装ctags
3. 解压opengrok.tar.gz包, 然后将source.war复制到tomcat/webapp下面
opengrok版本是0.12.1.5
sudo cp -R opengrok-0.12.1.5 /usr/opengrok
编辑 opengrok/bin/OpenGrok, 在OPENGROK_TOMCAT_BASE处添加tomcat的路径
sudo ./OpenGrok index /home/carlo/sae/work/carloblog生成索引
在浏览器中运行 http://localhost:8080/opengrok即可
具体步骤:
1. install jdk and tomcat
http://tomcat.apache.org/download-80.cgi
sudo tar zxvf apache-tomcat-7.0.5.tar.gz
sudo mv apache-tomcat-7.05 tomcat7
sudo ./starup.sh
http://localhost:8080
2. download and insatll opengrok
http://opengrok.github.io/OpenGrok/
tar xvzf opengrok-0.11.1.tar.gz
将./lib目录下的source.war包拷贝到/data_2/tools/apache-tomcat-7.0.40/webapps目录下
cp source.war ~/programfiles/tomcat7/webapps/opengrok.war
浏览器中输入: http://localhost:8080/opengrok/, 可看到如下结果
3. ctags的安装和使用
http://blog.csdn.net/g_brightboy/article/details/16830395
功能:为源码的变量/对象、结构体/类、函数/接口、宏等产生索引文件,以便快速定位
安装:
1)在线安装:
sudo apt-get install ctags (ubuntu)
(RedHat系列使用:yum install ctags)
若不成功,可能是因为源的问题,换一下软件源update后重新执行上述命令即可。
2)手动下载安装:
下载地址
Official site: http://ctags.sourceforge.net/
VIM online: http://www.vim.org/scripts/script.php?script_id=610
参考步骤(以5.8版本ctags-5.8.tar.gz为例)
解压后
$ cd ctags-5.8
$ ./configure
$ make
# sudo make install
安装结束后,使用ctags命令测试是否成功
或whatis ctags, whereis ctags等
4. OpenGrok的配置
https://github.com/OpenGrok/OpenGrok/wiki/How-to-install-OpenGrok
(1)编辑 opengrok/bin/OpenGrok, 若有多份源码,可复制重命名OpenGrokxxx
在OPENGROK_TOMCAT_BASE处添加tomcat的路径
修改 JDK HOME 路径
修改 Ctags
修改索引存放目录,并且可以设置索引别名,方便查询
(2)创建索引,在bin目录下执行两条命令
./OpenGrokxxx deploy
./OpenGrokxxx index <absolute_path_to_your_SRC_ROOT> 需要创建索引的代码的绝对路径
索引建立完成后 默认在 /var/opengrok/目录下:
5,将索引部署到Tomcat上
(1)拷贝opengrok-0.12.1.5/lib/source.war到apache-tomcat-7.0.65/webapps/目录下,并重命名为aliasname(别名).war
(2)刷新,会看到自动创建别名文件夹(tomcat要先启动,在安装目录bin下执行startup.sh)
(3)修改aliasname/WEB-INF/web.xml,设定索引路径
(4)在浏览器中运行 http://localhost:8080/aliasname
若是先生成了index,在想转移索引目录,也是可以的,但是比较麻烦
需要修改如下几个文件
carloz@linux:~/programfiles/opengrok$ sudo mv /var/opengrok ./indexdata
carloz@linux:~/programfiles/opengrok/bin$ vi OpenGrok
root@linux:/home/carloz/programfiles/opengrok/indexdata/etc# vi configuration.xml
root@linux:/home/carloz/programfiles/opengrok/indexdata# vi logging.properties
root@linux:/home/carloz/programfiles/tomcat7/webapps/opengrok/WEB-INF# vi web.xml
把这几个文件中的所有 /var/opengrok路径全部改成 自己的路径
You need the following:
- JDK 1.7 or higher
- {OpenGrok binaries from downloads (either the package for Solaris, or .tar.gz with binaries, NOT the src !)
- Exuberant Ctags for analysis
- A servlet container like GlassFish or Tomcat (5.x or later) also running with java at least 1.6
- If history is needed, appropriate binary (in some cases also cvs/svn repository) must be present on the system (e.g. Subversion or Mercurial or SCCS or ... )
- 2GB of memory for indexing process using OpenGrok script (can use less, this is scaled for bigger deployments)
- a recent browser for clients - IE, Firefox, recent Chrome or Safari