1. 前期准备工作

1.1 一个Linux系统

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

1.2 更新源

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

sudo vim /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

密码:www.linuxidc.com

在 2015年LinuxIDC.com\9月\Ubuntu 14.04 下 Virtual Judge 的搭建

下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm

——————————————分割线——————————————

  1. 必要环境搭建

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 vim /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 http://download.redis.io/releases/redis-2.8.9.tar.gz
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 300update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_80/bin/javac 300update-alternatives --config java
update-alternatives --config javac

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

Ubuntu 14.04 下 Virtual Judge 的搭建

2.4 Tomcat7的安装和配置

1.) apt-get安装tomcat7:
sudo apt-get install tomcat7 -y

tomcat7默认会被安装在目录/var/lib/tomcat7/下,
安装完之后在浏览器下输入localhost:8080查看是否安装成功
如果出现下图,即为安装成功

2.) 安装tomcat7-admin
安装成后,我们还需要安装一个tomcat7-admin

sudo apt-get install tomcat7-admin

3.) 修改账户:
安装完毕之后,我们进入tomcat7的conf目录下修改tomcat-users.xml文件

cd /var/lib/tomcat7/conf/
vim tomcat-users.xml 

我这里用的是

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>

4.) 重启tomcat:

sudo /etc/init.d/tomcat7 restart

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

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

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

sudo vim /etc/default/tomcat7

加入如下内容:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_80

再次重启tomcat7:

sudo /etc/init.d/tomcat7 restart


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

2.5 Mysql的安装

sudo apt-get install mysql-server -y
安装过程中会要求你输入数据库的密码,这里我直接用的123456,连续输入两次即可。

进入数据库测试一下
mysql -u root -p
输入密码之后如果看到下图,表明 mysql 成功安装:

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

  1. 工程代码实施

准备好四个文件,就是一开始下载的那四个:

3.1 Vjudge的打包

进入virtual-judge-master 目录:

cd virtual-judge-master/

用 Maven 将 Virtual Judge 打包:

mvn clean package  

里面会有一个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/ 目录下

sudo mv http_client.json /var/lib/tomcat7/webapps/vjudge/
sudo mv remote_accounts.json /var/lib/tomcat7/webapps/vjudge/

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

cd /var/lib/tomcat7/webapps/vjudge/WEB-INF/classes/
sudo vim config.properties

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

3.5 vhoj数据库的建立

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

mysql -u root -p
create database vhoj;
exit; 

mysql -h localhost -u root -p vhoj < vhoj_20141109.sql

最后,重启tomcat7,进入manager
查看Application,可以看到vjudge已经处于running状态了。

  1. 大功告成的Vjudge

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

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

Ubuntu 14.04 下 Virtual Judge 的搭建相关推荐

  1. Ubuntu 14.04下TFTP server环境搭建及测试

    1. install sudo apt-get install tftpd tftp openbsd-inetd 2. 修改配置 sudo vim /etc/inetd.conf #:BOOT: TF ...

  2. linux下的svn搭建,Ubuntu 14.04 下搭建SVN服务器 svn://

    Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...

  3. linux下swift编程教程视频教程,Ubuntu 14.04下搭建 Swift 3.0 开发环境教学视频+PPT

    分享Ubuntu 14.04下搭建 Swift 3.0 开发环境教学视频+PPT. Linux版本:Ubuntu: 14.04 LTS Swift: 3.0 到https://swift.org/do ...

  4. ubuntu 14.04 下搭建SVN服务器 svn://

    安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下的svn目录. cd /srv sudo mkdir svn ...

  5. Ubuntu 14.04下编译WebRTC

    阿里云  >  教程中心   >  python教程  >  Ubuntu 14.04下编译WebRTC Ubuntu 14.04下编译WebRTC 发布时间:2018-02-28 ...

  6. ubuntu14.04安装linux公社,Ubuntu 14.04下安装IT++

    Ubuntu 14.04 下安装 IT++(itpp)(官方二进制包安装版) 温馨提示:虽然没有尝试,不过直接运行最后一步应该也可以成功. 另外,既然有简单的方法,不到破不得以还是不要尝试麻烦的方法了 ...

  7. linux命令行安装libxml,Ubuntu 14.04下libxml2的安装和使用

    Ubuntu 14.04下libxml2库的安装方法: sudo apt-get install libxml2 sudo apt-get install libxml2-dev 利用以上命令安装完软 ...

  8. Ubuntu 14.04 下安装Skype

    操作1: Ubuntu 14.04 下安装Skype,使用 Ctr+Alt+T组合键打开终端Terminal,输入如下即可: wget -O skype.deb http://download.sky ...

  9. Ubuntu 14.04下Gedit编辑器设置为多语言编辑及集成开发环境

    Gedit是一个通用的编辑程序,其支持插件及自定义语言设置功能. 以Ubuntu 14.04下的Gedit编辑器为例,介绍其定制方法: 1 安装插件 sudo apt-get install gedi ...

最新文章

  1. (C++)CSP 201712-2 游戏
  2. 我与监控宝之间的点点滴滴
  3. 冒泡排序html代码,冒泡排序.html
  4. Tutorial on Variational AutoEncoders
  5. java程序发布成exe等
  6. post postman 传递数组对象_PostMan Post方式传递数组数据参数 OK_go
  7. Incompatible JavaHL library loaded. Subversion 1.8.x required.
  8. 吴恩达《机器学习》学习笔记五——逻辑回归
  9. 经典高清C语言 The C Programming Language
  10. bootstrap 检验 法 原理_检验检测技术分享课程:公共场所集中空调通风系统 卫生标准及其检测要点...
  11. 那天有个小孩跟我说LINQ(三)
  12. 通过axis2解析sap 发布的webService接口,新手到进阶,多种方法。
  13. 2020年亚太杯数学建模竞赛赛题
  14. 高效率完成一次接入80个手游渠道SDK——游戏接入聚合SDK服务端篇
  15. animate发布html5教程,Adobe Animate CC 中的 HTML 发布模板 - Adobe Animate 用户指南
  16. MATLAB----光学之分量振幅反射率和分量振幅透射率
  17. Smart-Link
  18. uni.uploadFile 使用POST 上传到亚马逊 AMS s3 上
  19. html 复选按钮 全选,JS实现复选按钮控件全选和批量操作
  20. Encyclopaedia Britannica Ultimate 2014电子版下载|大不列颠百科全书

热门文章

  1. 找第一个只出现一次的字符_leetcode哈希表之第一个只出现一次的字符
  2. Linux手机适配,nginx同时适配PC版和手机移动版
  3. QMap删除其中的保存的元素本身,并删除容器中保存的元素
  4. C语言 函数缺省参数 - C语言零基础入门教程
  5. break详细讲解啊
  6. 微信收款音响s3服务器断开,微信收款音响s2和s3有什么区别
  7. 娄底八中的初中计算机考试,众人同心勤耕耘 敢叫日月换新天
  8. 创建mysql数据库图解_mysql数据库怎么创建外键?(图文+视频)
  9. 汇编html文档,欢迎走进HTML的世界汇编.ppt
  10. ubuntu启动php-fpm_ubuntu安装php-fpm+xdebug