由于集训队需要,我们决定架设自己的OnlineJudge和Virtual Judge。
OJ的搭建,非常顺利,但是,Vjudge的搭建,我却遇到了相当多的问题。
无奈,泛滥的大量博文中,信息相当杂,精品相当少,大多数都是转载来转载去,内容相同还没有营养,搭建Vjudge方面的博文更是稀少,连续两天我都没有能够搭建起来,最后在jcf的帮助下,终于解决了各种问题,成功搭建起了Virtual Judge。
(强烈吐槽一下:在打包war文件的时候有0.2MB的文件掉包了导致我折腾了整整两天)
但是对于不熟悉Linux和JSP的同学,这篇文章也许太过简单,然而,我再也没有找到更好的参考博文或是文档,于是,决定自己花一点时间来完成这个空缺,这篇文章由此诞生。
1. 前期准备工作
1.1 一个Linux系统
因为现场赛的缘故,我一直使用的都是乌邦图。
这里我测试用的是
Ubuntu14.04 Desktop 64bit ,当然选择Server会更好一些.
系统的安装不再赘述,作为服务器请选用Server版本。
1.2 更新源
在搭建环境之前,请确保你的源是有效的,速度是给力的,
建议选择一个国内的源14.04 LTS 更新源
sudo gedit /etc/apt/sources.list 将原来的源覆盖并保存
最后执行 sudo apt-get update 更新源
1.3 必要文件准备
我们需要下载这几个文件(部分链接需要FQ才能访问):
1.*.sql
https://gist.github.com/trcnkq/a3cf7004759d41d79eb7
2.http_client.json https://gist.github.com/trcnkq/7a5deff639ff99475138
3.remote_accounts.json https://gist.github.com/trcnkq/e9dac7eea72d2b781949
4.virtual judge源文件 https://github.com/trcnkq/virtual-judge
如果无法FQ,请用我的备用链接: Vjudge搭建
或者:
------------------------------------------分割线------------------------------------------
FTP地址:ftp://ftp1.linuxidc.com
用户名:ftp1.linuxidc.com
密码:
在 2015年LinuxIDC.com\9月\Ubuntu 14.04 下 Virtual Judge 的搭建
下载方法见
------------------------------------------分割线------------------------------------------
2. 必要环境搭建
2.1 JDK的安装和配置
首先需要下载JDK,地址:https://jdk7.java.net/download.html
注意系统是32位还是64位
1.) 解压下载的文件
tar -xzvf jdk1.7.0_80
2.) 移动文件夹到指定目录下
sudo mkdir /usr/lib/jvm
sudo mv jdk1.7.0_80/ /usr/lib/jvm/
3.) 设置环境变量
sudo gedit /etc/profile
在文件最后加入如下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_80
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

4.) 使修改生效:
sudo source /etc/profile
这时候在终端输入 java –version 查看当前 JDK 版本
至此,JDK 配置完成

2.2 Redis的安装和配置
1.) 下载安装Redis:
wget
tar xvzf redis-2.8.9.tar.gz
cd redis-2.8.9/
make
sudo make install
2.) 配置init脚本:
wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis-server
wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf
sudo mv redis-server /etc/init.d/redis-server
sudo chmod +x /etc/init.d/redis-server
sudo mv redis.conf /etc/redis.conf
3.) 初始化用户和日志路径
第一次启动Redis前,建议为Redis单独建立一个用户,并新建data和日志文件夹
sudo useradd redis
sudo mkdir -p /var/lib/redis
sudo mkdir -p /var/log/redis
sudo chown redis.redis /var/lib/redis
sudo chown redis.redis /var/log/redis
4.) 设置开机自动启动,关机自动关闭
update-rc.d redis-server defaults
5.) 启动Redis:
/etc/init.d/redis-server start
2.3 Maven3的安装和配置
1.) 通过apt-get安装Maven3
ubuntu12.04之后,可直接用apt-get来获得
sudo apt-get install maven -y
安装完后,进入sudo su 进入root
用 mvn –v 查看一下Maven的版本,如下图:
安装完毕后,默认的JDK版本可能会被更改。
因为Maven3安装的同时把openjdk也一并安装了。

2.) 修改系统默认的jdk
update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_80/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_80/bin/javac 300
update-alternatives --config java
update-alternatives --config javac
使用java -version再次查看,JDK版本已更改