HUSTOJ 开源在线评测系统指南
hustoj项目地址:https://gitcode.com/gh_mirrors/hu/hustoj
1. 项目介绍
HUSTOJ,全称为华中科技大学在线评测系统,是一款基于PHP、C++、MySQL和Linux的开源在线编程竞赛平台,用于ACM/ICPC和NOIP等编程训练。它提供了便捷的代码提交、自动评测和成绩反馈功能,适合教育机构和爱好者组织编程比赛或进行程序设计教学。
2. 项目快速启动
基于Deepin 20+ 安装
-
安装依赖:
sudo apt-get update sudo apt-get install -y apache2 php libapache2-mod-php php-mysql mariadb-server git
-
获取最新代码:
git clone https://github.com/zhblue/hustoj.git
-
配置数据库: 登录MySQL,创建数据库和用户,并赋予相应权限。
CREATE DATABASE hustoj; GRANT ALL PRIVILEGES ON hustoj.* TO 'hustoj_user'@'localhost' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES;
-
配置HUSTOJ: 编辑
/path/to/hustoj/config.inc.php
,替换你的数据库信息。 -
设置Apache虚拟主机: 在Apache配置目录中创建新的虚拟主机配置文件,例如
/etc/apache2/sites-available/hustoj.conf
,并添加以下内容:<VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot /path/to/hustoj/src/web ServerName your_domain_or_ip ErrorLog ${APACHE_LOG_DIR}/hustoj_error.log CustomLog ${APACHE_LOG_DIR}/hustoj_access.log combined <Directory "/path/to/hustoj/src/web"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
-
启动Apache并加载新配置:
sudo a2ensite hustoj.conf sudo systemctl restart apache2
3. 应用案例和最佳实践
- 校园编程竞赛:学校可以利用HUSTOJ举办内部编程比赛,提高学生们的编程技能和团队协作能力。
- 在线课程辅助:教师可以在授课过程中集成HUSTOJ,让学生实时提交作业,自动评估结果,节省批改时间。
- 编程训练营:培训机构可以利用HUSTOJ作为实践平台,提供多样化的练习题目,追踪学员的学习进度。
最佳实践:
- 定期备份数据库以防止数据丢失。
- 使用SSL加密通信,提升安全性。
- 为用户提供详尽的使用指南,包括提交代码流程、评测标准等。
4. 典型生态项目
HUSTOJ生态系统中的典型项目包括:
- VJudge:一个分布式评测系统,可用于扩展HUSTOJ的评测能力,支持更多语言和复杂评测逻辑。
- Markdown编辑器:如KindEditor和Blockley,用于增强用户在HUSTOJ上的题目描述和解题报告的编辑体验。
- 判题器插件:如GCC、Clang编译器,支持多种编程语言的编译和运行。
以上就是HUSTOJ的快速入门和应用场景介绍,祝你在使用过程中顺利愉快。如需更详细的信息,参考官方文档或参与社区讨论。