接下需要更改 apache-tomcat/webapps/source/WEB-INF 目录下的web.xml配置文件
<context-param> <param-name>CONFIGURATION</param-name> <param-value>/opt/opengrok/etc/configuration.xml</param-value> <description>Full path to the configuration file where OpenGrok can read it's configuration</description> </context-param>配置 configuration.xml 的路径为 opengrok/etc 配置目录
提示
实验发现这个xml不配置也是可以正常使用的
2.5 建立源码索引下面我们就需要为我们的源码配置索引了, OpenGrok 生成源代码的索引信息
设置的话需要如下环境变量
环境变量描述默认值SRC_ROOT 待生成索引的源代码路径 ${OPENGROK_INSTANCE_BASE}/src
DATA_ROOT 存放生成的索引的路径 ${OPENGROK_INSTANCE_BASE}/data
那么我们直接在 opengrok 的安装目录 /opt/opengrok 下创建 src 和 data目录即可
但是我为了方便管理, 建立了一个 database 二级目录, 将 src 和 data 放在这个二级目录里面.
为了使得环境变量能够正确识别, 我们可以修改 OpenGrok 脚本的源代码, 重置 SRC_ROOT 和 DATA_ROOT 的值.
# 修改/opt/opengrok/bin/OpenGrok SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src" 改为 SRC_ROOT="${OPENGROK_INSTANCE_BASE}/database/src" DATA_ROOT="${OPENGROK_INSTANCE_BASE}/data" 改为 DATA_ROOT="${OPENGROK_INSTANCE_BASE}/database/data"但是由于我已经在 mysetenv.sh 中设置了 SRC_ROOT 和 DATA_ROOT 的值, 因此我是这么修改的
if [ ! -n "${SRC_ROOT}" ]; then # REQUIRED: Source Code/Repository Root # (your source code or the root of all repositories) SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src" fi if [ ! -n "${DATA_ROOT}" ]; then # REQUIRED: OpenGrok Generate Data Root # (for Lucene index and hypertext cross-references) # This area is rebuilt by "update" / "updateQuietly" DATA_ROOT="${OPENGROK_INSTANCE_BASE}/data" fi接着我们将需要索引的源码放在 src 目录下即可, 当然我们其实没必要把源码真的放到这里, 只需要为其创建一个链接即可
cd /opt/opengrok/database/src ln -s /usr/src/linux-4.4.6 4.4.6生成索引
#./OpenGrok index指定SRC_ROOT
./OpenGrok index <absolute_path_to_your_SRC_ROOT>接着我们打开
就可以看到我们的源代码了