热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Ubuntu下VirtualJudge环境搭建与配置

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

由于学校机房每台机器都需要账号才能访问外网,然而账号只有老师才有,这就导致机房上网账号不够。所以打算在机房的一台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

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


    nexus-osc
    *
    Nexus osc
    http://maven.oschina.net/content/groups/public/

四、安装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

六、重启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


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
author-avatar
sadsafsasgdg
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有