在Ubuntu 上安装OpenGrok浏览Android源码

来源:互联网 发布:单片机pwm调速原理 编辑:程序博客网 时间:2024/06/05 05:17

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


原创粉丝点击