OpenGrok§
使用 Unit 运行 OpenGrok 代码搜索引擎
使用 Java 11+ 语言模块安装 Unit。
按照官方 OpenGrok 安装指南 进行操作。在此,我们将文件放置在 /path/to/app/
$ mkdir -p /path/to/app/{src,data,dist,etc,log} $ tar -C /path/to/app/dist --strip-components=1 -xzf opengrok-X.Y.Z.tar.gz
我们的 servlet 容器是 Unit,因此我们可以将 source.war 文件重新打包到 步骤 2 中的任意目录
$ opengrok-deploy -c /path/to/app/etc/configuration.xml \ /path/to/app/dist/lib/source.war /path/to/app/
结果路径名为 /path/to/app/source.war。
运行以下命令,以便 Unit 可以访问 应用程序目录
# chown -R unit:unit /path/to/app/
有关更多详细信息,包括权限,请参阅 安全检查清单。
接下来,准备 OpenGrok 配置以供 Unit 使用
{ "listeners": { "*:80": { "pass": "applications/opengrok" } }, "applications": { "opengrok": { "type": "java", "webapp": "/path/to/app/source.war", "options": [ "-Djava.awt.headless=true" ] } } }
上传更新后的配置。假设上述 JSON 已添加到
config.json
# curl -X PUT --data-binary @config.json --unix-socket \ /path/to/control.unit.sock http://localhost/config/
成功更新后,OpenGrok 应可在侦听器的 IP 地址和端口上使用