Ubuntu 下 Virtual Judge 环境搭建与配置

来源:互联网 发布:网络诈骗超过2000 编辑:程序博客网 时间:2024/05/18 03:59

由于学校机房每台机器都需要账号才能访问外网,然而账号只有老师才有,这就导致机房上网账号不够。

所以打算在机房的一台服务器上搭建一个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.gztar xvzf redis-2.8.9.tar.gzcd redis-2.8.9/sudo makesudo 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.confsudo mv redis-server /etc/init.d/redis-serversudo chmod +x /etc/init.d/redis-serversudo mv redis.conf /etc/redis.confsudo useradd redissudo mkdir -p /var/lib/redissudo mkdir -p /var/log/redissudo chown redis.redis /var/lib/redissudo chown redis.redis /var/log/redissudo update-rc.d redis-server defaultssudo /etc/init.d/redis-server start

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

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

export M2_HOME=/usr/local/apache-maven-3.2.3export M2=$M2_HOME/binexport 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 -ysudo 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 -pcreate database vhoj;exit;mysql -h localhost -u root -p vhoj < /*.sql
六、重启Tomcat7就可以啦。。

/etc/init.d/tomcat7 restart

VJudge作者的How to deploy your own VJudge:

https://github.com/trcnkq/virtual-judge/wiki/How-to-deploy-your-own-Virtual-Judge

0 0
原创粉丝点击