如何搭建Hustoj以及配置BlumiaOJ?

机器系统推荐:

Ubuntu server 14.04

本机系统:

Ubuntu Gnome 16.04 amd64

  1. 登录Ubuntu(这没什么好说的)

    如果用root登录,请删去前缀sudo

  2. 安装MySQL

    sudo apt-get install mysql-server mysql-client

    安装的过程中会有一个框提示输入密码,输入sql密码,然后TAB到OK

  3. 安装apache2

    sudo apt-get install apache2

    Ubuntu的apache默认网页执行文件夹在/var/www/下面,配置文件/etc/apache2/apache2.conf

    进入浏览器,输入http://localhost或http://127.0.0.1,出现It works 则代表安装成功

  4. 安装PHP

    14.04:sudo apt-get install php5 libapache2-mod-php5

    16.04:sudo apt-get install php7.0 libapache2-mod-php7.0 //因为16.04版本php是7.0

    重启apache,输入/etc/init.d/apache2 restart

  5. 安装文本编辑器

    sudo apt-get install gedit

    然后打开,输入以下内容:

    <?php

    phpinfo();

    ?>

    另存为/var/www/html/info.php

    然后在浏览器输入http://localhost/info.php出现php的一系列属性,lamp环境就完成了

  6. 安装hustoj

    执行如下命令

    sudo apt-get update

    sudo apt-get install subversion

    sudo svn checkout https://github.com/zhblue/hustoj/trunk/trunk/install hustoj

    cd hustoj

    sudo bash install-interactive.sh

    在安装开始时提示需要输入数据库用户名和密码,用户名写root,密码填刚才设定的就行了

  7. 安装后默认编译C和C++,如有需要可以添加以下语言(听说install-interactive.sh会自动安装apache2和php还有其他的)

    Pascal:sudo apt-get install fpc

    Java:sudo apt-get install openjdk-6-jdk

    Python:sudo apt-get python -y

  8. 运行你的Hustoj

    在浏览器里输入

    http://localhost/JudgeOnline或http://127.0.0.1/JudgeOnline

  9. 测试admin用户功能

    比如说我注册的帐号叫 admin

    第一步,终端进入 输入sudo su 输密码

    第二步  输入 mysql –u root –p 回车
    然后输密码 进入mysql

    第三步 输入 show databases;查看所有数据库

    第四步,  输入 use jol;(hustoj用户数据库) 要想进去的话就输入select * from jol;

    第五步 输入
    insert into privilege(user_id,rightstr)values(‘admin‘,‘administrator‘);

    如果你的帐号叫yemaster,

    那么需要更改帐号部分,如
    insert into privilege(user_id,rightstr)values(‘yemaster‘,‘administrator‘);

  10. 完成!

注:

include/db_info.inc.php

static 	$DB_HOST="localhost"; //数据库地址
static 	$DB_NAME="jol"; //数据库名
static 	$DB_USER="root";//数据库用户名
static 	$DB_PASS="root";//数据库密码
static 	$OJ_NAME="HUSTOJ";//OJ名字
static 	$OJ_HOME="./";//首页地址
static 	$OJ_ADMIN="[email protected]";//管理员邮箱
static 	$OJ_DATA="/home/judge/data";//测试数据存放地址
static 	$OJ_BBS="discuss3";//discuss3是自带的论坛,bbs是自己上传在bbs目录下的论坛
static  $OJ_ONLINE=false;//是否启用在线监控
static  $OJ_LANG="cn";//默认语言,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_AUTO_SHARE=false;//true: One can view all AC submit if he/she has ACed it onece.
static  $OJ_CSS="white.css";//使用的css
static  $OJ_SAE=false; //using sina application engine
static  $OJ_VCODE=false;//开启验证码
static  $OJ_APPENDCODE=false;
static  $OJ_CE_PENALTY=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_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_OPENID_PWD = ‘8a367fe87b1e406ea8e94d7d508dcf01‘;; memcached的服务器地址
static  $OJ_MEMPORT=11211;  memcached的端口

11.配置BLumiaOJ

网站:在这里

下载为zip然后解压,将文件全部替换掉JudgeOnline内的内容

复制配置文件include/config.sample.php为include/config.php

<?php
// OJ信息
	$OJ_NAME = "BLumiaOJ"; // OJ的名字
	$OJ_HUSTOJ_COMPATIBLE = true; //如果您没有将数据库升级到BLumiaOJ,请将其设置为true。
	$OJ_LANGUAGE = "schinese"; // 检查语言文件夹,知道要填什么。如果你想做出贡献,请参阅https://github.com/ValveSoftware/source-sdk-2013/blob/master/sp/src/common/language.cpp国家代码字符串。

// 测试数据地址设置
	$OJ_PROBLEM_DATA = "/home/judge/data"; //路径到问题数据浮动。如果你使用的是SAE或OpenShift,这条路径就不会起作用。
	$OJ_UPLOAD_DATA = "/var/www/html/OnlineJudge/uploads/"; // 任何文件或图像都将在这里上传。例如(/ var / www / html / BLumiaOJ / webframe / imguploads /)
	$OJ_WWW_UPLOAD_PATH = "uploads"; //Img可以访问http://your.site/path/to/文件夹/,你应该填写[path/to/文件夹]

// 提交设置
	$OJ_SUBMIT_DELTATIME = 10; // 允许提交间隔时间
	$OJ_LANGMASK = 65520; //为了安全起见,我们要屏蔽所有其他语言。

// 页面设置
	$PAGE_ITEMS = 50;// 一页显示多少内容?

// 解决方案设置
	$SOLUTION_WA_INFO = true; //显示WA程序数据对比记录
	$SOLUTION_SHARE = false; // 如果Ta解决了此题,那么Ta能看其他人的代码吗?

// 竞赛设置
	$OJ_LOCKRANK = false; // Default Lock Ranklist Mod
	$OJ_LOCKRANK_PERCENT = 0.2; // 0~1. eg. 0.2: a 5 hours contest will lock one hour.
	$OJ_LARGE_CONTEST_MODE = false; // Enable it will disable discuss forum, private mailbox and enable login filter(see next variable).
	$OJ_LOGIN_FILTER = "BK_"; // Login filter will only allow administrator, and users who is not administrator but his/her user_id match the given prefix to login. set it to false (boolean, not string) if you wish disable login filter so that anyone registed can login, login filter is only enable if $OJ_LARGE_CONTEST_MODE is true and $OJ_LOGIN_FILTER is not set to false.

// 社区论坛(讨论板)设置。
	$FORUM_ENABLED = false; //目前没有完成。除非你要破解这部分,否则不要启用它。
	$FORUM_SUBMIT_DELTATIME = 180; // 允许提交频率。(秒)
	$FORUM_ENHAUNCEMENT = false; // 需要将额外的sql struct导入到数据库中。

// 虚拟判题设置
	$VJ_ENABLED = false; // 目前没有完成。除非你要破解这部分,否则不要启用它。
// 问题标签设置
	$PROBLEM_TAG_ENABLED = false; //需要将额外的sql struct导入到数据库中。
// 底部版权信息设置
	$FOOTER_POWERED_BY = "Powered by <a class=‘bl-footer-link‘ href=‘https://github.com/BLumia/BLumiaOJ/‘>BLumiaOJ</a>";
	$FOOTER_COPYRIGHT = "Copyright ? <a class=‘bl-footer-link‘ href=‘document.php?f=about‘>{$OJ_NAME} Maintenance Team</a>";
// 搜索引擎优化
	$OJ_ENABLE_SEO = true;
	$SEO_KEYWORD = "OJ,Online Judge,{$OJ_NAME},ACM,ICPC";
	$SEO_DESC = "{$OJ_NAME} is an online judge system for ACM/ICPC";
//运行环境和数据库设置。
/* ********************
所有支持的环境(ENV_CASE美元,又名。数据源):
“STD_MYSQL”应该设置以下连接到sql的内容。
“SAE”,新浪应用引擎(未经测试)
您应该修改setting_db.inc.的PDO语句。如果你不使用mysql。
******************** */
	$ENV_CASE = "STD_MYSQL";//环境标志,通常应该是"STD_MYSQL"
	//如果您使用的是STD_MYSQL,请填写以下信息。
	$SQL_DB_NAME = "jol";	//数据库名字
	$SQL_DB_HOST = "localhost";//数据库地址
	$SQL_DB_PORT = "3307";//数据库端口
	$SQL_DB_USER = "root";//你的数据库用户
	$SQL_DB_PASS = "root";//你的数据库密码

//开发人员设置
	$DEV_DISPLAY_ERRORS = false; // 显示PHP display_errors的错误消息。
?>

原文地址:https://www.cnblogs.com/yemaster/p/8445087.html

时间: 2024-08-10 23:31:02

如何搭建Hustoj以及配置BlumiaOJ?的相关文章

docker 搭建 hustoj

docker 搭建 hustoj hustoj 是个GPL开源的OJ,其提供了docker形式的安装方式. 为执行方便,选择使用aliyun提供的docker镜像来加速安装. 拉取镜像 docker pull registry.cn-shanghai.aliyuncs.com/shiningrise/hustoj 执行镜像 docker run -d -it --name hustoj -p 9900:80 --privileged registry.cn-shanghai.aliyuncs.c

MyEclipse使用技巧(包括使用快捷键,智能提示,颜色配置,svn搭建,优化配置等) (转的)

转自:http://blog.163.com/magicc_love/blog/static/185853662201111101210847/ 1.安装 2.注册 3.配置 window ----> preferences (1)配置 JDK java--->Installed JREs --> Add ---> JRE name ---> JRE home directory ---> <ok> (2)配置字符编码 General --> Work

CentOS 6.5上搭建Nginx和配置DWZ框架

前言 原创文章欢迎转载,请保留出处. 若有任何疑问建议,欢迎回复. 邮箱:[email protected] 今天搜索了下,发现并没有类似的文章,虽然比较简单,但还是写个博文记录下,主要讲述如何搭建Nginx和配置DWZ框架. 安装Nginx 首先安装Nginx必须要的库,直接yum安装就行了,注意要在root权限下执行. yum install pcre yum install openssl yum install zlib 接下来安装Nginx,为了免得麻烦,我也打算用yum安装,不过由于

Android # Android 环境搭建之 Python 配置

在终端输入python,然后import sysprint sys.path The Python Tutorial - Python v2.7.7 documentation https://docs.python.org/2.7/tutorial/index.html Python 3.1.2和2.7比较哪个版本更稳定?_python吧_百度贴吧 http://tieba.baidu.com/p/936048566 python2.7.3和3.3.2的区别_百度知道 http://zhida

Linux - CentOS6.5服务器搭建与初始化配置详解(下)

传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面  因为这就是最小化安装 输入root和之前配置的密码 第一步先把防火墙给光了 iptables -F  命令用于清空规则 这里插一条命令(这个命令我忘记打上去了) /etc/init.d/iptables save  用于保存当前被清空的规则 chkconfig  iptables  stop  开机不允许启动防火墙 c

用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建三:配置spring并测试

这一部分的主要目的是 配置spring-service.xml  也就是配置spring  并测试service层 是否配置成功 用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建二:配置MyBatis 并测试(2 配置spring-dao和测试)在这个基础上面 继续进行spring的配置. 回顾上面  我们已经成功测试通过了Mybatis的配置. 这时候的目录结构是: 一:下面我们继续补充目录结构,在com.peakfortake的文件目录项目 

一、记一次失败的 CAS 搭建 之 环境配置

========================================================================================================= Setp1:安装JDK.Tomcat.以及相关关联::参考:http://jingyan.baidu.com/article/8065f87fcc0f182330249841.html ===================================================

No plugin found for prefix &#39;jetty&#39; in the current project and in the plugin groups搭建mvan时配置jetty

在maven进行jetty的调试中出现错误: [plain] view plaincopyprint? [ERROR] No plugin found for prefix 'jetty' in the current project and in the plu gin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repo sitories [local (C:\Documents and Se

Ubuntu 下 vim 搭建python 环境 配置

在Windows下用惯了各种现成的工具,转到Linux下,一下没了头绪--好歹google出一些别人的心得,折腾来折腾去,也算是把开发环境配好了. 1. 安装完整的vim # apt-get install vim-gnome 2. 安装ctags,ctags用于支持taglist,必需! # apt-get install ctags 3. 安装taglist #apt-get install vim-scripts #apt-get install vim-addon-manager //