最新版HUSTOJ本地及云端服务器搭建
来源:互联网 发布:数据工程理论与技术 编辑:程序博客网 时间:2024/06/05 05:30
HUSTOJ是现在使用较多的开源OJ之一,而且最近HUSTOJ也在一直改版,一直更新,最近也更新了最新版本
其实HUSTOJ搭建还是比较简单的,搭建的时候首先要明确所使用的系统,建议使用Ubuntu 14.04系统,不建议使用Ubuntu 16.04 ,更新之前使用16.04搭建O不能使用,更新之后不太清楚了,所以还是使用14.04,比较稳妥
HUSTOJ所使用的环境是Ubuntu系统,Apache服务,MySQL数据库,以及php5,所以在安装之前我们要配置好这些环境
1、如果不是root权限的话先获取root权限
sudo -i
然后输入密码即可2、更新系统配置
apt-get update
3、安装MySQL-server、mysql-client
apt-get install mysql-server mysql-client
这一步中途会弹出窗口,那是设定数据库密码,这个密码一定要保管好,十分重要,以后也会用到 数据库账号默认为root
4、安装Apache2
apt-get install apache2
如果是本地配置的话,此时在浏览器访问localhost,查看是否有apache的服务主页如果是腾讯云服务器配置,直接访问公网ip即可
如果是阿里云服务器配置,需要在阿里云控制台中,安全组配置规则加入8080端口即可,如下图
显示下图,即表示Apache安装成功
5、安装php
apt-get install php5 libapache2-mod-php5
Ubuntu 14.04只支持php5,不支持php76、安装phpmyadmin
apt-get install phpmyadmin
这个软件可以直接利用网址登陆数据库这一步会弹出窗口,应该是输入数据库密码并设定邓旒密码,建议与数据库密码相同,免去不必要的麻烦
7、安装subversion
apt-get install subversion
到此所有的环境配置完成,接下来就是下载oj安装文件以及安装了8、安装hustoj
svn co https://github.com/zhblue/hustoj/trunk/trunk/install hustoj cd hustoj bash install-interactive.sh
第一行是下载安装文件到本地hustoj文件夹下第二行打开文件夹
第三行启用hustoj安装脚本,安装hustoj
然后会让你输入数据库账号密码,账号为root,密码为安装时设定的
接下来就是等待它安装完毕吧,大概3-10分钟,重点要看网速
安装完成后,本地访问localhost/JudgeOnline即可看到oj主页,这时OJ配置工作基本完成,接下来就要使用oj配置文件配置适合自己的oj了
9、配置文件 db_info.inc.php
cd /var/www/html/JudgeOnline/include vim db_info.inc.php
如果vim提示无法使用的话就使用下面指令安装vim,再使用 apt-get install vim
打开配置文件后 static $DB_HOST="localhost"; //服务器地址 static $DB_NAME="jol"; //数据库名称 static $DB_USER="root"; //数据库账号 static $DB_PASS="********"; //数据库密码,就是之前设置的那个 //以上都不需要修改,默认就是配置好的 static $OJ_NAME="HUSTOJ"; //OJ名称 static $OJ_HOME="./"; //OJ主页位置 static $OJ_ADMIN="root@localhost"; //管理员email static $OJ_DATA="/home/judge/data"; //OJ数据存储位置 static $OJ_BBS="discuss3";//论坛的形式,discuss为自带的简单论坛,bbs为外挂论坛,参考bbs.php代码。 static $OJ_ONLINE=false; //是否使用在线监控,开启比较消耗一些内存和计算,不建议开启 static $OJ_LANG="cn"; //OJ语言,默认中文 static $OJ_SIM=false; //是否使用OJ查重,但是单独开启这个也不行,还需要修改另一个文件下的一个代码才可以 static $OJ_DICT=false; //是否采取在线词典 static $OJ_LANGMASK=262064; //掩码表示的OJ接受的提交语言,可以被比赛设定覆盖。 static $OJ_EDITE_AREA=true;//是否启用高亮语法显示的提交界面,可以在线编程,无须IDE。 static $OJ_AUTO_SHARE=false;// 是否自动分享到AC代码 static $OJ_CSS="white.css"; // 默认的css,可以选择dark.css和gcode.css,具有有限的界面制定效果。 static $OJ_SAE=false; //是否是在新浪的云平台运行web部分 static $OJ_VCODE=false; //是否开启验证码,开启后注册、登录、提交都要输入验证码才行 static $OJ_APPENDCODE=false; //是否启用自动添加代码,启用的话,提交时会参考$OJ_DATA对应目录里是否有append.c一类的文件,有的话会把其中代码附加到对应语言的答案之后,巧妙使用可以指定main函数而要求学生编写main部分调用的函数。 static $OJ_MEMCACHE=false; //是否使用memcache作为页面缓存,如果不启用则用/cache目录 static $OJ_MEMSERVER="127.0.0.1"; //memcached的服务器地址 static $OJ_MEMPORT=11211; //memcached的端口 static $OJ_REDIS=false; static $OJ_REDISSERVER="127.0.0.1"; static $OJ_REDISPORT=6379; static $OJ_REDISQNAME="hustoj"; static $SAE_STORAGE_ROOT="http://hustoj-web.stor.sinaapp.com/"; static $OJ_TEMPLATE="bs3"; //使用的默认模板 if(isset($_GET['tp'])) $OJ_TEMPLATE=$_GET['tp']; static $OJ_LOGIN_MOD="hustoj"; static $OJ_REGISTER=true; //允许注册新用户 static $OJ_REG_NEED_CONFIRM=true; //新注册用户需要审核 static $OJ_RANK_LOCK_PERCENT=0; //比赛封榜时间比例 static $OJ_SHOW_DIFF=true; //是否显示WA的对比说明 static $OJ_TEST_RUN=false; //提交界面是否允许测试运行 static $OJ_BLOCKLY=false; //是否启用Blockly界面 static $OJ_ENCODE_SUBMIT=false; //是否启用base64编码提交的功能,用来回避WAF防火墙误拦截。
10、配置文件 judge.conf
cd /home/judge/etc vim judge.conf进入配置文件
OJ_HOST_NAME=127.0.0.1 //如果用mysql连接读取数据库,数据库的主机地址 OJ_USER_NAME=root //数据库账户名 OJ_PASSWORD=******** //数据库密码 OJ_DB_NAME=jol //数据库名称 OJ_PORT_NUMBER=3306 //数据库端口 OJ_RUNNING=2 //judged会启动judge_client判题,这里规定最多同时运行几个judge_client,不要太多,参考服务器CPU核心数量 OJ_SLEEP_TIME=1 //judged通过轮询数据库发现新任务,轮询间隔的休息时间,单位秒 OJ_TOTAL=1 //老式并发处理中总的judged数量 OJ_MOD=0 //老式并发处理中,本judged负责处理solution_id按照TOTAL取模后余数为几的任务。 OJ_JAVA_TIME_BONUS=2//ava等虚拟机语言获得的额外运行时间。 OJ_JAVA_MEMORY_BONUS=64//ava等虚拟机语言获得的额外内存。 OJ_JAVA_XMS=-Xms64M OJ_JAVA_XMX=-Xmx128M OJ_SIM_ENABLE=0 //是否开启代码相似度比对,开启这个并且同时开启db_info.inc.php中static $OJ_SIM=false,才能启用OJ查重 OJ_HTTP_JUDGE=0 //是否使用HTTP方式连接数据库,如果启用,则前面的HOST_NAME等设置忽略 OJ_HTTP_BASEURL=http://127.0.0.1/JudgeOnline //使用HTTP方式连接数据库的基础地址,就是OJ的首页地址 OJ_HTTP_USERNAME=IP //使用HTTP方式所用的用户帐号(HTTP_JUDGE权限),该帐号登录时不能启用VCODE图形验证码,但可以登录成功后启用 OJ_HTTP_PASSWORD=admin //使用HTTP方式所用的用户密码 OJ_REDISENABLE=0 OJ_REDISSERVER=127.0.0.1 OJ_REDISPORT=6379 OJ_REDISAUTH=123456 OJ_REDISQNAME=hustoj OJ_OI_MODE=1 //是否采用OI模式 OJ_SHM_RUN=1 //是否使用/dev/shm的共享内存虚拟磁盘来运行答案,如果启用能提高判题速度,但需要较多内存 OJ_USE_MAX_TIME=1 //是否使用所有测试数据中最大的运行时间作为最后运行时间,如果不启用则以所有测试数据的总时间作为超时判断依据 OJ_LANG_SET=0,1,2,3,4,5,6,7,8,9,10,11 //判题机评测语言,即C、C++、Java、Python…… OJ_COMPILE_CHROOT=1 OJ_TURBO_MODE=0
11、配置文件 000-default.conf cd /etc/apache2/sites-available vim 000-default.con
只需要在标注修改此行的后面加上JudgeOnline,即改行变为
DocumentRoot /var/www/html/JudgeOnline
重启apache服务器 /etc/init.d/apache2/ restart
直接访问localhost或者ip地址即可访问OJ
12、配置文件 php.ini
cd /etc/php5/apache2/ vim php.ini
memory_limit = 128M //406行,内存限制
post_max_size = 100M //673行,数据库上传限制 upload_max_filesize = 100M //805行,最大上传限制
重启apache服务
/etc/init.d/apache2/ restart
13、修改ico网页图标
先在本地选择一张图片,然后修改成16*16像素的图片大小,并修改图片名及后缀名为favicon.ico
将服务器/var/www/html/JudgeOnline/目录下的favicon.ico修改为其他名
apt-get install lrzsz cd /var/www/html/JudgeOnline rz
在对话窗口中找到要使用的图标,并选择确认上传
上传完毕后,刷新网页还是没变,重启服务器,也不行,这是因为访问权限问题
chown www-data favicon.ico
到此,OJ的配置几乎完成,如果有想修改OJ界面的可以自行修改一下,所有文件默认都在/var/www/html/JudgeOnline/template/bs3下
以上就是个人搭建hustoj的方法,如有错误请指点
- 最新版HUSTOJ本地及云端服务器搭建
- 搭建云端服务器
- 搭建云端服务器
- 使用wamp搭建本地服务器及本地服务器的访问
- 使用wamp搭建本地服务器及本地服务器的访问
- 搭建本地Tomcat服务器及相关配置
- Git本地服务器搭建及使用详解
- 本地Git服务器的搭建及使用
- 搭建hustoj
- 写一篇自己搭建HUSTOJ的过程及心得
- SVN本地服务器搭建及myeclipse中svn插件使用
- SVN本地服务器搭建及myeclipse中svn插件使用
- SVN本地服务器搭建及在Eclipse中的应用
- 使用Gulp搭建本地开发web服务器及自动刷新
- 本地服务器Gitlab的搭建及卸载---基于centos6.5
- 最简单的搭建及使用本地服务器
- 本地Web服务器搭建
- 搭建Git本地服务器
- 如何使用sklearn进行数据挖掘
- Java并发编程:volatile关键字解析
- 查找整数
- Educational Codeforces Round 34 (Rated for Div. 2) C
- python中使用原始生态sql语句
- 最新版HUSTOJ本地及云端服务器搭建
- 汉诺塔III
- JAVA中long与int的转化
- thrift安装 0.8.0版本
- 15算法课程 292. Nim Game
- 机器学习顶级论文及实现(附地址及简介)
- 注册表键值大全
- 2017年度TOP10课程首度开放试听
- 什么是特征工程?如何进行特征工程?