在Ubuntu 12.04.2 LTS上安裝OpenGrok瀏覽Android源碼

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.