Ubuntu 搭建OpenGrok

本文介绍如何部署代码搜索引擎OpenGrok。首先下载最新版本并解压文件,设置logging.properties及configuration.xml配置文件路径。将代码放置于源码目录或创建软链接。使用特定JDK版本的Java创建索引。接着安装Web应用容器如Tomcat,并部署source.war文件。

Setup OpenGrok:

1. download the latest version from OpenGrok

mkdir opengrok
mkdir opengrok/{src,data,dist,etc,log}
tar -C opengrok/dist --strip-components=1 -xzf opengrok-X.Y.Z.tar.gz
 cp /opengrok/dist/doc/logging.properties /opengrok/etc
 ```

将code放到"opengrok/src"目录下,或者可以创建软链接:

ln -s ~Code/OpenSource_Code/androidX androix

创建 index(主要jdk的版本,opengrok对jdk版本有要求)
java \
 -Djava.util.logging.config.file=./opengrok/etc/logging.properties \
 -jar ./opengrok/dist/lib/opengrok.jar \
 -c /usr/local/bin/ctags \
 -s ./opengrok/src -d ./opengrok/data -H -P -S -G \
 -W ./opengrok/etc/configuration.xml -U http://localhost:8080/source

2. Install web application container of your choice (e.g. Tomcat, Glassfish).

  • 将"opengrok/lib/source.war" copy到 Tomcat的"webapps"目录下

  • 修改"webapps/source/WEB-INF/web.xml"
    在这里插入图片描述

  • 重启Tomcat


Reference:

How to setup OpenGrok

<think> 我们根据引用内容以及用户需求,整理在Ubuntu 24.04上搭建OpenGrok的详细步骤。注意:引用中的版本是0.11.1,但我们将使用较新的版本(目前最新为1.12.6),并针对Ubuntu 24.04调整步骤。 步骤概述: 1. 安装依赖:Java, Tomcat, Universal CTags, Exuberant CTags(如果Universal CTags不可用则用Exuberant CTags替代) 2. 下载并解压OpenGrok 3. 配置Tomcat 4. 部署OpenGrok的WAR文件到Tomcat 5. 创建OpenGrok数据目录并配置索引 6. 设置环境变量和配置文件 7. 生成索引 8. 重启Tomcat并访问 详细步骤: 1. 安装依赖 - 安装Java(需要Java 11或更高版本): ```bash sudo apt update sudo apt install openjdk-17-jdk ``` - 安装Tomcat(Tomcat 10或更高版本): ```bash sudo apt install tomcat10 ``` - 安装Universal CTags(推荐)或Exuberant CTags: ```bash sudo apt install universal-ctags ``` 如果无法安装universal-ctags,可以尝试安装exuberant-ctags: ```bash sudo apt install exuberant-ctags ``` 2. 下载并解压OpenGrok - 从[OpenGrok官网](https://github.com/oracle/opengrok/releases)下载最新版本(例如1.12.6): ```bash wget https://github.com/oracle/opengrok/releases/download/1.12.6/opengrok-1.12.6.tar.gz ``` - 解压: ```bash tar -zxvf opengrok-1.12.6.tar.gz ``` 3. 配置Tomcat - 确保Tomcat服务已启动: ```bash sudo systemctl start tomcat10 sudo systemctl enable tomcat10 ``` - 调整Tomcat内存设置(可选,对于大项目可能需要增加内存): 编辑`/etc/tomcat10/catalina.properties`,在适当位置增加(例如在`# Additional settings`下): ``` JAVA_OPTS="-Djava.awt.headless=true -Xmx2048m -XX:+UseConcMarkSweepGC" ``` 4. 部署OpenGrok的WAR文件 - 将OpenGrok中的`lib/source.war`复制到Tomcat的webapps目录: ```bash sudo cp opengrok-1.12.6/lib/source.war /var/lib/tomcat10/webapps/ ``` - 等待Tomcat自动解压WAR文件(或重启Tomcat): ```bash sudo systemctl restart tomcat10 ``` 5. 创建OpenGrok数据目录并配置索引 - 创建OpenGrok的数据目录(例如`/var/opengrok`)和子目录: ```bash sudo mkdir -p /var/opengrok/{src,data,etc} ``` - 将你的源代码放在`/var/opengrok/src`目录下(可以创建符号链接或直接复制)。 6. 设置环境变量和配置文件 - 编辑环境变量文件(例如`~/.bashrc`或`/etc/environment`),添加: ``` export OPENGROK_TOMCAT_BASE=/var/lib/tomcat10 export OPENGROK_INSTANCE_BASE=/var/opengrok ``` 然后执行`source ~/.bashrc`使环境变量生效。 - 使用OpenGrok提供的工具进行配置和索引生成: ```bash cd opengrok-1.12.6/bin ./OpenGrok deploy ``` 7. 生成索引 - 使用以下命令生成索引(确保环境变量已设置): ```bash ./OpenGrok index ``` 注意:如果源代码很大,索引生成可能需要较长时间。 8. 重启Tomcat并访问 - 重启Tomcat服务: ```bash sudo systemctl restart tomcat10 ``` - 在浏览器中访问:`http://localhost:8080/source` 注意:如果遇到权限问题,请确保`/var/opengrok`目录及其子目录对Tomcat用户(通常是`tomcat`)有读写权限。 另外,如果使用Tomcat 10,请注意OpenGrok 1.12.6是兼容的。如果遇到Jakarta EE的包名问题(Tomcat 10使用Jakarta EE 9,而Tomcat 9及之前使用javax),请确保使用对应版本的OpenGrok(1.7.0及以上版本支持Jakarta EE)。 以上步骤基于最新OpenGrok版本和Ubuntu 24.04,与引用中的旧版本步骤有所不同,但整体流程一致。 如果用户遇到问题,可能需要检查日志: - Tomcat日志:`/var/log/tomcat10/catalina.out` - OpenGrok索引日志:在生成索引时的控制台输出 最后,用户可以根据需要配置Nginx反向代理和HTTPS,但这超出了基本安装的范围。 §§相关问题§§ 1. 如何更新OpenGrok的索引? 2. OpenGrok支持哪些版本控制系统? 3. 如何配置OpenGrok以支持多项目? 4. 如何优化OpenGrok的索引速度? </think> ### Ubuntu 24.04 搭建 OpenGrok 详细步骤 #### 1. **安装依赖环境** ```bash sudo apt update sudo apt install -y openjdk-17-jdk tomcat10 universal-ctags ``` - **Java**:OpenGrok 需要 Java 环境(推荐 JDK 11+) - **Tomcat**:作为 Web 服务器运行 OpenGrok - **Universal-ctags**:代码索引工具(Ubuntu 24.04 默认替换了 Exuberant-ctags) #### 2. **下载并解压 OpenGrok** ```bash wget https://github.com/oracle/opengrok/releases/download/1.12.6/opengrok-1.12.6.tar.gz tar -zxvf opengrok-1.12.6.tar.gz -C /opt/ sudo mv /opt/opengrok-* /opt/opengrok ``` #### 3. **部署 WAR 文件到 Tomcat** ```bash sudo cp /opt/opengrok/lib/source.war /var/lib/tomcat10/webapps/ sudo systemctl restart tomcat10 # 重启 Tomcat ``` 验证部署:访问 `http://localhost:8080/source`,应显示 OpenGrok 默认页面(无项目状态)。 #### 4. **配置 OpenGrok 目录** ```bash sudo mkdir -p /var/opengrok/{src,data,etc} ``` - `src`:存放源代码 - `data`:存储索引数据 - `etc`:配置文件目录 #### 5. **准备源代码** ```bash # 示例:克隆 Linux 内核源码 sudo git clone https://github.com/torvalds/linux.git /var/opengrok/src/linux ``` #### 6. **生成索引** ```bash sudo /opt/opengrok/bin/OpenGrok index \ -J=-Djava.util.logging.config.file=/opt/opengrok/doc/logging.properties \ -a /opt/opengrok/lib/opengrok.jar \ -c /usr/bin/ctags \ -s /var/opengrok/src \ -d /var/opengrok/data \ -W /var/opengrok/etc/configuration.xml \ -U http://localhost:8080/source ``` 索引过程耗时取决于源码大小(内核源码约需 10-30 分钟)。 #### 7. **配置 Tomcat 路径** 编辑配置文件: ```bash sudo nano /var/lib/tomcat10/conf/server.xml ``` 在 `<Host>` 标签内添加: ```xml <Context docBase="/var/opengrok/etc" path="/source" reloadable="true" /> ``` #### 8. **重启服务并验证** ```bash sudo systemctl restart tomcat10 ``` 访问 `http://localhost:8080/source`,应显示已索引的代码库列表。 --- ### 关键配置说明 1. **索引更新**: 添加新代码后需重新生成索引: ```bash sudo /opt/opengrok/bin/OpenGrok index ``` 2. **多项目管理**: 在 `/var/opengrok/src` 下为每个项目创建独立目录,索引会自动包含所有子目录。 3. **权限问题**: 如果出现权限错误,执行: ```bash sudo chown -R tomcat:tomcat /var/opengrok ``` 4. **内存优化**(大项目): 编辑 `/etc/tomcat10/catalina.properties`: ```properties JAVA_OPTS="-Xmx4096m -XX:+UseG1GC" ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值