0

我想在 /var/opengrok/src 以外的目录中配置 opengrok 源代码。我将 OPENGROK_INSTANCE_BASE 环境变量设置为我想要的目录。(为了确定和测试,我在 Opengrok 脚本中硬编码了该变量。)我在所需目录中创建了 src/data/etc/ 文件夹。在这些之后,我发出 sudo ./OpenGrok index commnad。现在从网络浏览器我可以在项目列表中看到源代码,但是当我搜索时我看到以下错误

*有一个错误!

您的配置中指定的源根目录未指向有效目录!请配置您的网络应用程序。配置的 dataRoot '/home/xxnikosr/opengrok/data' 指的是一个不存在或不可读的目录!*

我检查 /data 文件夹的权限是否正确并且确实存在。有人面临同样的问题吗?我是否错过了任何配置。PS 我在创建 src/data/etc/ 目录之前做了 Opengrok 部署

4

1 回答 1

1

似乎即使您将 OPENGROK_INSTANCE_BASE 设置为 /var/opengrok 以外的其他内容,opengrok 仍将继续从 /var/opengrok/etc 读取配置信息。

(更令人困惑的是,在创建索引时,配置已正确写入 $OPENGROK_INSTANCE_BASE/etc。在 Ubuntu 14.4 上使用 opengrok 0.12.1 进行了测试。我认为这是一个错误。)

解决这个问题的最简单方法是使用默认的 /var/opengrok 作为实例库,或者创建一个链接 /var/opengrok/etc -> $OPENGROK_INSTANCE_BASE/etc。这对我行得通。

如果您想要一个更好的解决方案,必须更改 /var/opengrok 的路径——这似乎是硬连线在 webapp xml 中的。有关详细信息,请参阅:https ://github.com/OpenGrok/OpenGrok/wiki/How-to-install-OpenGrok#optional-need-to-change-web-application-properties-or-name

..托马斯

于 2015-04-05T10:11:44.093 回答