在Ubuntu 上安装OpenGrok浏览Android源码

http://opengrok.github.io/OpenGrok/

OpenGrok is a fastand usable source code search and cross reference engine. It helps you search,cross-reference and navigate your source tree. It can understand variousprogram file formats and version control histories like Mercurial, git, SCCS,RCS, CVS, Subversion, Teamware, ClearCase, Perforce, Monotone and Bazaar. Inother words it lets you grok (profoundly understand) source code and isdeveloped in the open, hence the name OpenGrok. It is written in java.

 

  1. Install ctags

If you cannot run ctags command, install it.

apt-getinstall exuberant-ctags

 

  1. Install Tomcat

sudoapt-get install tomcat7 tomcat7-docs tomcat7-examples tomcat7-admin

/etc/init.d/tomcat7 restart

sudo vim /etc/tomcat7/tomcat-users.xml   // add below change password before </tomcat-users>

<role rolename="manager-gui"/>

<role rolename="admin-gui"/>

<user username="admin" password="root123" roles="manager-gui,admin-gui"/>

sudo /etc/init.d/tomcat7 restart

Directories:

/etc/tomcat7 - Global configurations

   /usr/share/tomcat7/ - Program

  /etc/tomcat7/Catalina/localhost/ - local Catalina configures

    /var/lib/tomcat7/ - tomcat home

  /var/lib/tomcat7/webapps - applications

  /var/lib/tomcat7/work - dynamic directory, such as dynamic compiled.jsp

 

 

Another way:

From http://tomcat.apache.org/ download Tomcat binary package. (apache-tomcat-7.0.42.tar.gz)

cd /opt

tar xvzf apache-tomcat-7.0.42.tar.gz

cd apache-tomcat-7.0.42/bin

./startup.sh     (use ./shutdown.sh to stoptomcat)

Visit: http://localhost:8080/

 

  1. Install OpenGrok

From http://opengrok.github.io/OpenGrok/  download binaray file (opengrok-0.11.1.tar.gz).

cd /opt

tarxvzf opengrok-0.11.1.tar.gz

ln -s opengrok-0.11.1   opengrok

copy /opt/opengrok/lib/source.war to  /var/lib/tomcat6/webapps  or /opt/apache-tomcat-7.0.42/webapps/)

Visit http://localhost:8080/source/to confirm OpenGrok is installed OK.

 

  1. Configure OpenGrok

add below line to /etc/profile.d/hansel.sh

exportOPENGROK_INSTANCE_BASE=/opt/opengrok

 

Modify /opt/apache-tomcat-7.0.42/webapps/source/WEB-INF/web.xml, change the path of opengrok.

<context-param> 

  <param-name>CONFIGURATION</param-name> 

   <param-value>/opt/opengrok/etc/configuration.xml</param-value> 

   <description>Full path to theconfiguration file where OpenGrok can read it'sconfiguration</description> 

 </context-param>

 

Setup password for using opengrok web page:

add role name to /etc/tomcat7/tomcat-users.xml

<rolerolename="opengrok"/>

<user username="opengrok" password="1234" roles="opengrok"/>

modify /var/lib/tomcat7/webapps/source/WEB-INF/web.xml, add below tothe bottom before "</web-app>":

  <security-constraint>

    <web-resource-collection>

      <web-resource-name>OpenGrokWeb</web-resource-name>

      <url-pattern>/*</url-pattern>

    </web-resource-collection>

    <auth-constraint>

      <role-name>opengrok</role-name>

    </auth-constraint>

  </security-constraint>

  <login-config>

   <auth-method>BASIC</auth-method>

   <realm-name>OpenGrok</realm-name>

  </login-config>

 

  1. Create Index of source code

cd /opt/opengrok

mkdir data src

cd src

ln -s  <your sourcecode>  <project name>

cd ../bin

OPENGROK_VERBOSE=true  ./OpenGrok index

chown tomcat7:tomcat7 * -R

 

  1. Create symbol link

To avoid OpenGrok complain about not found /var/opengrok/ when doindex using root.

mkdir -p /var/opengrok/etc/

ln -s /opt/opengrok/etc/configuration.xml/var/opengrok/etc/configuration.xml

 

  1. Update index automatically

add execute /opt/opengrok/bin/OpenGrok to system crontab.

sudo vim /etc/cron.daily/opengrok

#!/bin/sh

/opt/opengrok/bin/OpenGrokindex

sudo chmod +x /etc/cron.daily/opengrok


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值