阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 下 Virtual Judge 环境搭建与配置

123次阅读
没有评论

共计 2521 个字符,预计需要花费 7 分钟才能阅读完成。

由于学校机房每台机器都需要账号才能访问外网,然而账号只有老师才有,这就导致机房上网账号不够。所以打算在机房的一台 Ubuntu 服务器上搭建一个 Virtual Judge,它用一个账号连接外网其他同学就都能交题了。由于本人不懂 JSP。配置环境异常坎坷。配置的过程中还向 Isun 请教了几次,真的非常感谢!

下面把我的环境搭建与配置过程分享给大家:

环境要求:

JDK7 + Maven3 + Tomcat7 + Redis + MySql5

需要下载的几个文件(需翻墙):

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

一、下载 JDK,地址:https://jdk7.java.net/download.html  根据系统选择 32 位或 64 位的 tar.gz 文件下载

下载完毕后,在文件当前目录下执行解压命令:

tar xzvf filename

把这个解压好的目录放到相应的位置,这里我放到 /usr/lib/jvm/ 目录下了。

sudo mv jdk1.7.0_80 /usr/lib/jvm/

配置环境变量

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

二、下载 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/
sudo make
sudo make install

配置 Redis 自启动,为 Redis 单独建立一个用户,并新建 data 和日志文件夹。

设置开机自动启动,关机自动关闭。并启动 Redis-server。

wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis-serve                                             
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
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
sudo update-rc.d redis-server defaults
sudo /etc/init.d/redis-server start

三、下载 Maven3,地址:http://maven.apache.org/download.cgi

放到相应目录后,配置 Maven 环境变量。

export M2_HOME=/usr/local/apache-maven-3.2.3
export M2=$M2_HOME/bin
export PATH=M2:$PATH

进入 Maven 目录下的 conf,打开 settings.xml

找到 <mirrors></mirrors> 这段后把下面的代码添加进去。

<mirror>
    <id>nexus-osc</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus osc</name>
    <url>http://maven.oschina.net/content/groups/public/</url>
</mirror>

四、安装 tomcat7,MySql 直接用 ubuntu 下的 apt-get 即可。

tomcat7 将会安装在目录 /var/lib/tomcat7/ 下。

sudo apt-get install tomcat7 -y
sudo apt-get install mysql -y

五、进入 Virtual Judge 的根目录下(带 pom.xml 的目录),用 Maven 将 Virtual Judge 打包。

mvn clean package

随后将会在这个目录下生成一个 target 文件夹,里面会有一个.war 文件,就是我们打包完成的 Virtual Judge。我们把这个 war 文件拷到 tomcat 的 webapps 目录下吧。

稍后 webapps 会多出一个与 war 文件同名的文件夹,然后还需要把 remote_accounts.json  和  http_client.json 放到相应的目录里。

把每个 OJ 的提交账号添加到 remote_accounts.json 里。如果不需要代理或 VPN 访问一些 OJ,只保留 http_client.json 里面的 [“direct”] 即可。

然后更改 /webapps/vjudge/WEB-INF/classes/ 的目录下 config.properties 的 remote_accounts.json  和  http_client.json 位置信息。是绝对路径。。

之后新建一个数据库,名字为:vhoj,并把建表 Sql 导入。

mysql -u root -p
create database vhoj;
exit;
mysql -h localhost -u root -p vhoj < /*.sql

六、重启 Tomcat7 就可以啦。

/etc/init.d/tomcat7 restart

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-09/123240.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计2521字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中