欢迎光临
我们一直在努力

2019最新最全HUSTOJ本地及云端服务器搭建(基于腾讯云服务器)

在刚接触ACM的时候,对于那些在线测评的网站很感兴趣,就在网上搜索了一下,在Github上发现了一个有趣的项目,然后在 Github 上获取 了HUST oj 的开源项目代码,根据网上的教程踩了无数的坑终于安装成功了!!!!! 接下来就和大家分享一下我的安装过程,请务必看完这几段话在动手安装,看完保证你能成功安装~

 

若你想在本地搭建HUSTOJ:Ubuntu14.04STL+Apache2+Mysql5.2+php5(则直接从目录开始看起)

若想在基于云端服务器搭建HUSTOJ:腾讯云服务器+Ubuntu14.04STL+Apache2+Mysql5.2+php5+Xshell6+WinSCP

如何购买一个服务器?如何使用一个服务器?如何创建一个自己的域名呢?

 

 

HUSTOJ(2019)在线判题系统在本地及云端服务器的搭建

一、配置LAMP环境

二、安装HUSTOJ

三、管理数据库

四、在线配置OJ

五、OJ优化(去除广告)

六、将Judge中的Web文件转移至 /var/www/html 中(成败的关键)

一、配置环境

(1)什么是LAMP呢?

LAMP指的是L:Linux操作系统(本文采用的Ubuntu14.04)。A:Apache2HTTP服务器 M:MySQL5.2数据库软件。 P:PHP5.0

(2)配置过程

1)如果不是root权限的话先切换成root权限

2)更新系统配置

3)安装MySQL-server、mysql-client

在这一步的安装过程中,会弹出窗口,那是系统请求你设定数据库密码,这个密码非常重要,数据库的默认账号为root

4)安装phpmyadmin

安装过程中会跳出弹窗,只需要按空格,再按回车即可然后会弹出窗口,要求输入密码,即输入数据库密码并设定登录密码,建议与数据库密码相同,方便记忆

5)安装subversion

至此环境已经配置成功,接下来就是下载OJ以及安装文件安装文件。

 

二、安装HUSTOJ

(1)根据你的Linux系统版本进行选择安装

ubuntu 14.04:

ubuntu 16.04:

 

三、管理数据库

(1)进入数据库

 

 

(2)数据库操作

该操作中将账号为123456的用户设置为了超级管理员,可以管理OJ的大部分功能,比如导入导出题目、修改公告等等!,所以在最后搭建OJ成功后,记得先注册一个账号为123456的用户号,方便管理!!!

 

四、配置OJ

(1)/home/judge/src/web/include   目录下的db_info.inc.php文件

<?php @session_start(); ini_set("display_errors","Off"); //set this to "On" for debugging ,especially when no reason blank shows up. ini_set("session.cookie_httponly", 1); header('X-Frame-Options:SAMEORIGIN'); //for people using hustoj out of China , be careful of the last two line of this file ! // connect db  static $DB_HOST="localhost"; static $DB_NAME="jol"; static $DB_USER="root"; static $DB_PASS="root"; //上面四行中如果没有问题就不要动,都是默认好的。可能数据库账户密码不是root,这点并不影响。 //16.04安装可能数据库账户密码为空,如果为空,账户填写为 root 密码填写 自己设置的。 //如果需要改写的话一定要用vim或者vi打开 static $OJ_NAME="HUSTOJ"; static $OJ_HOME="./"; static $OJ_ADMIN="root@localhost"; static $OJ_DATA="/home/judge/data"; static $OJ_BBS="discuss3";//"bbs" for phpBB3 bridge or "discuss" for mini-forum static $OJ_ONLINE=false; static $OJ_LANG="en"; static $OJ_SIM=false; static $OJ_DICT=false; static $OJ_LANGMASK=0; //1mC 2mCPP 4mPascal 8mJava 16mRuby 32mBash 1008 for security reason to mask all other language static $OJ_EDITE_AREA=true;//true: syntax highlighting is active static $OJ_ACE_EDITOR=true; static $OJ_AUTO_SHARE=false;//true: One can view all AC submit if he/she has ACed it onece. static $OJ_CSS="white.css"; static $OJ_SAE=false; //using sina application engine static $OJ_VCODE=false; static $OJ_APPENDCODE=false; static $OJ_CE_PENALTY=false; static $OJ_PRINTER=false; static $OJ_MAIL=false; static $OJ_MEMCACHE=false; static $OJ_MEMSERVER="127.0.0.1"; static $OJ_MEMPORT=11211; 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=false; //新注册用户需要审核 static $OJ_NEED_LOGIN=false; //需要登录才能访问 static $OJ_RANK_LOCK_PERCENT=0; //比赛封榜时间比例 static $OJ_SHOW_DIFF=false; //是否显示WA的对比说明 static $OJ_TEST_RUN=false; //提交界面是否允许测试运行 static $OJ_BLOCKLY=false; //是否启用Blockly界面 static $OJ_ENCODE_SUBMIT=false; //是否启用base64编码提交的功能,用来回避WAF防火墙误拦截。 //static $OJ_EXAM_CONTEST_ID=1000; // 启用考试状态,填写考试比赛ID //static $OJ_ON_SITE_CONTEST_ID=1000; //启用现场赛状态,填写现场赛比赛ID static $OJ_OPENID_PWD = '8a367fe87b1e406ea8e94d7d508dcf01'; /* weibo config here */ static $OJ_WEIBO_AUTH=false; static $OJ_WEIBO_AKEY='1124518951'; static $OJ_WEIBO_ASEC='df709a1253ef8878548920718085e84b'; static $OJ_WEIBO_CBURL='http://192.168.0.108/JudgeOnline/login_weibo.php'; /* renren config here */ static $OJ_RR_AUTH=false; static $OJ_RR_AKEY='d066ad780742404d85d0955ac05654df'; static $OJ_RR_ASEC='c4d2988cf5c149fabf8098f32f9b49ed'; static $OJ_RR_CBURL='http://192.168.0.108/JudgeOnline/login_renren.php'; /* qq config here */ static $OJ_QQ_AUTH=false; static $OJ_QQ_AKEY='1124518951'; static $OJ_QQ_ASEC='df709a1253ef8878548920718085e84b'; static $OJ_QQ_CBURL='192.168.0.108'; //if(date('H')<5||date('H')>21||isset($_GET['dark'])) $OJ_CSS="dark.css"; if( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) && strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'],"zh-CN")) { $OJ_LANG="cn"; } if (isset($_SESSION[$OJ_NAME.'_'.'OJ_LANG'])) $OJ_LANG=$_SESSION[$OJ_NAME.'_'.'OJ_LANG']; require_once(dirname(__FILE__)."/pdo.php"); // use db //pdo_query("set names utf8");  if(isset($OJ_CSRF)&&$OJ_CSRF&&$OJ_TEMPLATE=="bs3"&&basename($_SERVER['PHP_SELF'])!="problem_judge") require_once('csrf_check.php'); //sychronize php and mysql server with timezone settings, dafault setting for China //if you are not from China, comment out these two lines or modify them. //date_default_timezone_set("PRC"); //pdo_query("SET time_zone ='+8:00'"); ?>

 

(2)/home/judge/etc   目录下的  judge.conf文件

 

五、OJ优化

(1)修改公告

(2)去除广告

首页的广告是在 /home/judge/src/web/template/bs3下中的js.php文件中,修改相应内容即可。

 

六、将Judge中的Web文件转移至 /var/www/html 中(成败的关键)

(1)将web中的文件放入apache网站显示文件夹中

(2)若在本地搭建则在浏览器中输入 http://localhost,若在云端服务器则输入你自己的域名即可。

若出现以下界面,则恭喜你已成功搭建HUSTOJ

 

 

 

以上就是个人搭建HUSTOJ的详细过程,若有错误,请联系我修正!!!

 

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《2019最新最全HUSTOJ本地及云端服务器搭建(基于腾讯云服务器)》
文章链接:https://www.456zj.com/2924.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址