公司同事有阅读代码的需求,尝试部署了一个OpenGrok,安装过程参考这篇Blog,非常详细:OpenGrok安装使用指南,
或者直接看官方Wiki: How to install OpenGrok 。
遇到两个问题,一个是导入了很多项目之后,对多个项目进修检索的时候出现了错误"Error parsing HTTP request header",错误码400。这是由于选择多个项目时,导致HTTP 头特别大,超出了限制,修改一下app/tomcat/conf/server.xml,指定下maxHTTPSize:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
maxHttpHeaderSize="65536"
redirectPort="8443" />
另外一个问题是LDAP支持的问题,需要支持LDAP验证,Google了一下,不少解决方法,不过都是抄来抄去,而且由于个人对Tomcat不熟悉,最后找了一个简单的方法,编辑server.html,也HOST标签之间插入:
<Realm className="org.apache.catalina.realm.JNDIRealm"
debug="99"
connectionURL="ldap://"
userPattern="cn={0}, ou=XXX,dc=XXX,dc=XXX"
/>
</Realm>
另外把原有的一个Realm块注释掉:
<!--
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
-->
效果如下,基本的HTTP Authentication对话框: