1. 安装jdk
sudo apt install openjdk-11-jdk
2. 安装ctags依赖
sudo apt install autoconf automake
3. 下载universal-ctags
git clone https://github.com/universal-ctags/ctags.git
4. 编译及安装
cd ctags
./autogen.sh
./configure
make
sudo make install
#一般linux开源代码都是这三步
注:如果没有成功,可能是版本太新,可以把发布的ctags的二进制版本直接复制到/usr/local/bin
5. 下载最新版tomcat core并解压
# http://tomcat.apache.org/
tar -xvf apache-tomcat-9.0.53.tar.gz
6. 启动Tomcat(关闭Tomcat脚本是shutdonw.sh)
name@ubuntu:~/app/opengrok $ sh apache-tomcat-9.0.37/bin/startup.sh
Using CATALINA_BASE: /home/name/app/opengrok/apache-tomcat-9.0.53
Using CATALINA_HOME: /home/name/app/opengrok/apache-tomcat-9.0.53
Using CATALINA_TMPDIR: /home/name/app/opengrok/apache-tomcat-9.0.53/temp
Using JRE_HOME: /usr
Using CLASSPATH: /home/name/app/opengrok/apache-tomcat-9.0.53/bin/bootstrap.jar:/home/name/app/opengrok/apache-tomcat-9.0.53/bin/tomcat-juli.jar
Tomcat started.
5. 使用浏览器打开http://localhost:8080
6. OpenGrok 的github上下载最新版本release 并解压
# https://github.com/oracle/opengrok
tar -xvf opengrok-1.3.16.tar.gz
7. 复制source.war到Tomcat
# 可以重命名source,并且链接也会改成对应的名称
cp opengrok-1.3.16/lib/source.war apache-tomcat-9.0.37/webapps/
8. 配置环境变量
sudo vi ~/.bashrc
# opengrok
export JAVA_HOME=/usr
export OPENGROK_TOMCAT_BASE=/home/name/app/opengrok/apache-tomcat-9.0.53
export CATALINA_HOME=/home/name/app/opengrok/apache-tomcat-9.0.53
export OPENGROK_APP_SERVER=Tomcat
export OPENGROK_INSTANCE_BASE=/home/name/app/opengrok/opengrok-1.3.53
export LANG=zh_CN.UTF-8
9. 使环境变量生效
source ~/.bashrc
10. 创建目录
mkdir opengrok-1.3.16/etc opengrok-1.3.16/src opengrok-1.3.16/data opengrok-1.3.16/history
11. 将代码拷贝或软链接到src目录下
cp -r xxx opengrok-1.3.16/src/ # or ln -s dirpath dir_name
or cd opengrok-1.3.16/src/,git clone codeurl
12. 生成索引(之后每次在src目录下有更新需要重新索引)
java -jar opengrok-1.3.16/lib/opengrok.jar -P -S -v -s opengrok-1.3.16/src -d opengrok-1.3.16/data -H --repository opengrok-1.3.16/history -W opengrok-1.3.16/etc/configuration.xml
13. 修改实际configuration路径,将CONFIGURATION的value改成configuration.xml实际路径。
gedit apache-tomcat-8.5.71/webapps/source/WEB-INF/web.xml
<context-param>
<description>Full path to the configuration file where OpenGrok can read its configuration</description>
<param-name>CONFIGURATION</param-name>
<param-value>/home/han/workspace/opengrok/opengrok-1.3.16/etc/configuration.xml</param-value>
</context-param>
14. 打开网站: http://localhost:8085/source/
15. 如果有端口冲突可以手动修改端口:
- 将server端口由6005改完8006
- 将HTTP端口由8080改为8085
- 将AJP端口由8009改为8010
- 如果只限本机使用可以指定地址为127.0.0.1
# sudo cat conf/server.xml
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8085" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
address="127.0.0.1" />
<Connector protocol="AJP/1.3"
address="::1"
port="8010"
redirectPort="8443" />
16. 然后重启并打开网页:http://localhost:8085/source/
java -jar opengrok-1.3.16/lib/opengrok.jar -P -S -v -s opengrok-1.3.16/src -d opengrok-1.3.16/data -H --repository opengrok-1.3.16/history -W opengrok-1.3.16/etc/configuration.xml
sh apache-tomcat-9.0.53/bin/shutdown.sh && sh apache-tomcat-9.0.53/bin/startup.sh