拥有一台ubntu服务器(虚拟机Vmware)
终端输入:
wget http://dl.hustoj.com/install.sh sudo bash install.sh
等待5-30分钟,安装完成
虚拟机访问127.0.0.1可进入,如果服务器IP主机无法访问,请检查80端口是否开放
进入网站,注册admin,自动成为管理员
在tk.hustoj.com注册账号,从免费专区挑选一些题目导入使用。
切记:题目导入后一次只能删一题,不要导入过多你暂时用不上的题目,正确的方式是每次训练、作业,导入所需的5-10个题目,比赛作业结束后让题目成为训练题库的一部分。这样能保证题库中题号靠前的题目难度依次上升,适合后来的同学自行训练。不要贪图题目数量而忽视其质量,等到后悔了,再到群里来问怎么批量删除。教练自己看不懂解法的题目,少用、慎用。
阅读两个配置文件,逐个研究选项的注释和含义。
所有与判题相关的选项都在这里
/home/judge/etc/judge.conf
所有与Web页有关的选项都在这里
/home/judge/src/web/include/db_info.inc.php
若要进行二次开发,首先应该了解数据库结构:
/home/judge/src/install/db.sql
如果想要开发全新的Web前端,增加新的业务逻辑如:积分、天梯,除了数据库,还需要了解judge_client写库的时机或者MySQL触发器的编写:
/home/judge/src/core/judge_client/judge_client.cc
中函数_update_solution_mysql
/home/judge/src/install/moodle.sql 触发器的参考例程
参考二次开发基础教程
系统中“用户”“比赛”均只有编辑、禁用功能,没有删除功能,这是为了从根源上防止出现“教学事故”,请不要要求增加相关功能,如果认为自己绝不会误操作,请自行开发相关功能。
如何使用一本通编程启蒙的远程判题功能?
如何开启论坛功能?
db_info.inc.php中设置$OJ_BBS=”discuss3″;开启内置论坛,或另行安装discuz或phpBB3。国内公网服务器,开启前请慎重考虑是否符合备案要求。
如何设置备案号?
修改db_info.inc.php中的 $OJ_BEIAN 如:
static $OJ_BEIAN=”沪ICP备12345678号-1″;
如何使用mdui模板?
mdui模板默认引用了国际互联网上的cdn服务,在局域网中无法正常显示。
需要给db_info.inc.php增加一行:
static $MDUI_OFFLINE=true;
如何设置默认显示中文界面?
修改db_info.inc.php中的$OJ_LANG=”cn”;
开源地址:hustoj
更多内容:更多
Q群:23361372
- 更新到最新版。若update-hustoj更新失败,可用fixing.sh升级。
(二开系统需要更新:
src/core/judged/judged.cc
src/web/include/db_info.inc.php
src/web/include/init.php
src/web/include/curl.php
src/web/include/remote_bas.php
src/web/remote.php
src/web/status.php
src/web/submit.php
src/web/admin/problem_import_xml.php 以及数据库结构更新update.sql中关于problem 、solution的部分 ) - 编辑remote.php编辑数组,设置模块名和URL,注意看注释。
- 编辑include/remote_bas.php配置远程账号密码。
- 编辑include/db_info.inc.php,设置$OJ_REMOTE_JUDGE=true; 用fixing.sh升级这个选项没有,可以自己加上。
- 导入申请账号时提供的题库xml文件。
- 尝试提交,刷新状态页,等待判题结果。
- 如果判题结果正常,则配置完成。
- 注意每个机构账号是登记专属的,请勿外借。
-
如何使用Markdown编写题目?
首先,编辑文件/home/judge/src/web/include/db_info.inc.php ,设置
static $OJ_MARKDOWN=”marked.js” ; // MARKDOWN可选两种解析器marked.js和markdown-it,设为false则关闭支持。然后,在题目编辑器中使用源码模式
用[md] # Markdown [/md] 格式插入markdown代码, 如果需要用到[]也可以用span+class标记:<span class=’md’> </span>
如何修改标题?背景?
编辑/home/judge/src/web/include/db_info.inc.php
修改$OJ_NAME和$OJ_BG
如果没有权限,请用sudo命令:
sudo nano /home/judge/src/web/include/db_info.inc.php
我有一个虚拟主机,能不能只装web部分,用远程OJ来判题?
可以。
- 下载最新源码并解压
- 利用install目录中的db.sql在你的虚拟主机管理面板里建立数据库
- 为数据库分配用户和密码
- 向privilege表增加一条记录,user_id是你准备注册的管理用户名,rightstr是administrator。
- 将web目录下的文件上传到你的虚拟主机的htdocs或www目录中
- 修改include/db_info.inc.php的名字为db_info.inc.sample.php
- 用浏览器访问根目录的install.php,填写安装参数
- 提交表单,访问主页。
- 注册之前选定的管理员账号。