HustOJ平台搭建(ubuntu20.04)

hustoj是一个出色的开源项目,本文章记录了我在ubuntu20.04搭建的全过程,以及小部分进行修改。不会部署的同学可以参照我这篇文章,可以完美运行。当然如果您需要部署在您的linux环境下,同时不介意小额支付,请联系我(1661420103@qq.com)。

以下是部署后的界面,仅供参考。

首页

题目界面

后台界面

1. 什么是OJ(您是否真的需要OJ平台)

OJOnline Judge系统的简称,用来在线检测程序源代码的正确性。著名的OJ有TYVJ、RQNOJ、URAL等。国内著名的题库有北京大学题库、浙江大学题库、电子科技大学题库、杭州电子科技大学等。国外的题库包括乌拉尔大学、瓦拉杜利德大学题库等。

可能适用的人群有:各大高校计算机系、ACMER、大学生刷题平台、中小学生CSP项目、中学生NOIP项目,等等。(我个人是做noip的教学工作,故此搭建了该平台用于机构学生练习)

2. 搭建环境

提醒:您需要具备linux系统基本素养,以及php、mysql、前端等相关知识,以便用于进行二次开发。

我这里选择的是腾讯云轻量级服务器(主要是价格比较美丽)。

腾讯云产品总览​cloud.tencent.com/product

当然你也可以选择腾讯云其他类服务器,或者阿里云、华为云。

注意:学生党有优惠!

云服务器_云主机_弹性云服务器ECS_租用_购买-华为云​www.huaweicloud.com/product/ecs.html正在上传…重新上传取消​

云服务器ECS_云主机_服务器托管_弹性计算-阿里云​www.aliyun.com/product/ecs?spm=5176.25843634.J_8058803260.32.6a602659nHaT6s正在上传…重新上传取消​

请先购买云服务器,然后在云服务器控制台内选择系统镜像Ubuntu 20.04,目前部署在该环境下,效果最好,成功率最高。镜像请选择原生Ubuntu系统,不支持WSL和docker中的Ubuntu系统。

使用虚拟机的同学同理。

3. 环境部署(一键部署)

请勿使用 LNMP LAMP Cpanel 宝塔 等其他面板程序提供的 MySQL Nginx Apache PHP 环境,安装脚本已经包含所有必须环境的安装。

以腾讯云为例,选择云服务器一键登录

wget http://dl.hustoj.com/install-ubuntu20.04.sh

sudo bash install-ubuntu20.04.sh

请耐心等待下载-----

下载完成后,请访问自己的服务器公网ip。

虚拟机环境,请访问本地端口。

用admin作为用户名注册一个用户,自动成为管理员。

至此hustoj部署结束,是不是非常简单!

4. 修改部分源程序,删除广告或图标。

hustoj提供多个模板支持,分别为:bs3、bshark、mario、mdui、sweet、syzoj,当然部分模板可能不完善,自己可以进行修改和二次开发。

进入/home/judge/src/web/include,修改db_info.inc.php中的$OJ_TEMPLATE。

删除faq广告,也可以添加自己的faq。

进入/home/judge/src/web/template/**,修改faqs.cn.php,详见内部代码。

修改网站标题Hustoj

进入/home/judge/src/web/include,修改db_info.inc.php中的$OJ_NAME

设置是否允许注册新用户

$OJ_REGISTER

设置是否新注册用户需要审核

$OJ_REG_NEED_CONFIRM

设置是否需要登录才能访问

$OJ_NEED_LOGIN

设置默认语言

static$OJ_LANG

设置是否启用打印服务

static$OJ_PRINTER

修改主页index界面

home/judge/src/web/template/**

修改index.php

5. 关于二次开发

5.1 界面美化

web根目录的默认位置/home/judge/src/web 根目录下的文件用于处理逻辑,处理完成后,数据以变量存储,在文件末尾进行跳转或包含操作(require/include),包含的目标为template/[模板名]下的同名文件。

针对界面进行美化,可以先在template目录下执行

sudo cp -a bs3 newgui

然后修改db_info.inc.php,设置$OJ_TEMPLATE="newgui";

之后随意修改newgui目录下的文件,来进行美化处理。

5.2 利用判题内核/重新开发Web

数据库主要表结构

6. 关于题目

hustoj提供了一些免费的题目,但是题目量比较少,而且体系不是非常全,如果针对大学或者是中小学的同学,完全不够用。我部署的平台是基于noip的,分为基础和算法,嫌麻烦的也可以直接使用我的平台。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值