转载出处

1. 前期准备工作

1.1 一个Linux系统

因为现场赛的缘故,我一直使用的都是乌邦图。
这里我测试用的是ubuntu14.04 Desktop 64bit ,当然选择Server会更好一些.
系统的安装不再赘述,作为服务器请选用Server版本。

1.2 更新源

在搭建环境之前,请确保你的源是有效的,速度是给力的,
建议选择一个国内的源14.04 LTS 更新源

1.3 必要文件准备

我们需要下载这几个文件(部分链接需要FQ才能访问):

1.*.sql https://gist.github.com/trcnkq/a3cf7004759d41d79eb7

2http_client.json https://gist.github.com/trcnkq/7a5deff639ff99475138

3remote_accounts.json https://gist.github.com/trcnkq/e9dac7eea72d2b781949

4virtual judge源文件 https://github.com/trcnkq/virtual-judge

如果无法FQ或者链接失效,请用我的百度云链接: Vjudge搭建 (这里面包含了之后会用到的一系列文件,嫌麻烦可以都下载下来)

2. 必要环境搭建

2.1 JDK的安装和配置

首先需要下载JDK,地址:https://jdk7.java.net/download.html (之前的云盘链接内有64位的,请认准这个jdk版本)
注意系统是32位还是64位

1.) 解压下载的文件

2.) 移动文件夹到指定目录下

3.) 设置环境变量

在文件最后加入如下内容:

4.) 使修改生效:

这时候在终端输入 java –version 查看当前 JDK 版本
至此,JDK 配置完成

2.2 Redis的安装和配置

2.3 Maven3的安装和配置

安装完后,sudo su 进入root
用 mvn –v 查看一下Maven的版本,如下图:
安装完毕后,默认的JDK版本可能会被更改。
因为Maven3安装的同时把openjdk也一并安装了。

此处输入图片的描述

使用java -version或者mvn -v再次查看,JDK版本已更改

此处输入图片的描述

2.4 Tomcat7的安装和配置

此处输入图片的描述

重新在浏览器打开tomcat界面
点击manager webapp,用刚才我们建立的用户登陆

此处输入图片的描述

5.) 修改JDK默认的JDK版本

  1. 检查 tomcat7 Server Information,版本可能不是我们自己的jdk版本。
  2. 这里我们要修改tomcat使用的JDK版本,这步很重要,否则会出现很多问题

此处输入图片的描述

此处输入图片的描述

OK, tomcat7的JDK版本修改完毕。

2.5 Mysql的安装

此处输入图片的描述

至此,搭建 Virtual Judge 所需的所有环境,都已搭建完毕!

3. 工程代码实施

准备好四个文件,就是一开始下载的那四个:
此处输入图片的描述

3.1 Vjudge的打包

里面会有一个vjudge.war文件,就是我们打包完成的 Virtual Judge。
把这个war文件拷到tomcat7的webapps目录下。

打包的过程可能会相当长,特别是网络不好的情况下,万一掉包了,非常蛋疼,如果你不想等待太久,可以直接下载此文件,在文章开头的百度云网盘链接里.

放到webapps目录后,会自动生成一个vjudge文件夹,如果没有生成,你也可以自行解压。

此处输入图片的描述

3.2 remote_accounts.json文件的编辑

把各个OJ的提交账号添加到remote_accounts.json里。

3.3 config.properties文件的编辑

如不需要代理或VPN访问国外OJ,保留http_client.json里面的[“direct”]即可。

此处输入图片的描述

3.4 vjudge的简单部署

把 remote_accounts.json 和 http_client.json 两个文件放在指定的文件夹下
这里我放在 /var/lib/tomcat7/webapps/vjudge/ 目录下

更改/webapps/vjudge/WEB-INF/classes/的目录下config.properties文件
将remote_accounts.json和http_client.json的绝对路径改为正确的路径

此处输入图片的描述

PS:如果你的数据库密码不是123456,那么上面的root密码你也需要修改,默认为123456

3.5 vhoj数据库的建立

在mysql中新建一个数据库,名字为:vhoj,
并把表vhoj_20141109.sql导入(可能我的版本略微旧了点)。

此处输入图片的描述

此处输入图片的描述

此处输入图片的描述

4. 大功告成的Vjudge

在地址栏输入localhost:8080/vjudge,进入搭建成功的vjudge:

此处输入图片的描述

到此为止,Virtual Judge 终于搭建成功,just enjoy it!