推荐步骤
1.解压hustoj.zip
2.进入hustoj/install
3.安装数据库,设置密码
4.在install/judged.cong中修改数据库密码
5.在web/include/db_info.inc.php中修改数据库密码
6.运行install.sh
7.插入管理员insert into privilege(user_id,rightstr) values('zhblue','administrator');
8.访问 本机/JudgeOnline
apache设置工作目录 /etc/httpd/conf/httpd.conf
web应用搭建成功后请在数据库中插入管理员,在前台中注册账号
插入管理员权限 insert into privilege(user_id,rightstr) values('zhblue','administrator');
原代码下载
如果一直处于编译中,请杀死judged进程,重新运行/usr/bin/judged
查看进程
ps -el|grep judged
彻底杀死进程
kill –9
配置博客
http://blog.youkuaiyun.com/zhblue/article/details/7366194
如果用java请安装jdk
yum install java-1.7.0*
判题配置文件
########################/home/judge/etc/judge.conf###########################
OJ_HOST_NAME=localhost #数据库地址
OJ_USER_NAME=jol #数据库用户名
OJ_PASSWORD=# 数据库密码
OJ_DB_NAME=jol #数据库名
OJ_PORT_NUMBER=3306 #数据库端口
OJ_RUNNING=1 #可以同时运行几个进程
OJ_SLEEP_TIME=1 #如果有空闲 要休眠多久
OJ_TOTAL=1 #总共有多少台机器负责判题
OJ_MOD=0 #当前机器评判取模为多少的提交
########################/home/judge/etc/judge.conf###########################
web配置文件
####################/var/www/html/JudgeOnline/include/db_info.inc.php#########
db_info.inc.php
static $DB_HOST="localhost"; 数据库的服务器地址
static $DB_NAME="jol"; 数据库名
static $DB_USER="root"; 数据库用户名
static $DB_PASS="root"; 数据库密码
// connect db
static $OJ_NAME="HUSTOJ"; OJ的名字,将取代页面标题等位置HUSTOJ字样。
static $OJ_HOME="./"; OJ的首页地址
static $OJ_ADMIN="root@localhost"; 管理员email
static $OJ_DATA="/home/judge/data"; 测试数据所在目录,实际位置。
static $OJ_BBS="discuss";//"bbs" 论坛的形式,discuss为自带的简单论坛,bbs为外挂论坛,参考bbs.php代码。
static $OJ_ONLINE=false; 是否使用在线监控,需要消耗一定的内存和计算,因此如果并发大建议关闭
static $OJ_LANG="en"; 默认的语言,中文为cn
static $OJ_SIM=true; 是否显示相似度检测的结果。
static $OJ_DICT=true; 是否启用在线英字典
static $OJ_LANGMASK=1008; //1mC 2mCPP 4mPascal 8mJava 16mRuby 32mBash 1008 for security reason to mask all other language 用掩码表示的OJ接受的提交语言,可以被比赛设定覆盖。
static $OJ_EDITE_AREA=true;// 是否启用高亮语法显示的提交界面,可以在线编程,无须IDE。
static $OJ_AUTO_SHARE=false;//true: 自动分享代码,启用的话,做出一道题就可以在该题的Status中看其他人的答案。
static $OJ_CSS="hoj.css"; 默认的css,可以选择dark.css和gcode.css,具有有限的界面制定效果。
static $OJ_SAE=false; //是否是在新浪的云平台运行web部分
static $OJ_VCODE=true; 是否启用图形登录、注册验证码。
static $OJ_APPENDCODE=false; 是否启用自动添加代码,启用的话,提交时会参考$OJ_DATA对应目录里是否有append.c一类的文件,有的话会把其中代码附加到对应语言的答案之后,巧妙使用可以指定main函数而要求学生编写main部分调用的函数。
static $OJ_MEMCACHE=false;是否使用memcache作为页面缓存,如果不启用则用/cache目录
static $OJ_MEMSERVER="127.0.0.1"; memcached的服务器地址
static $OJ_MEMPORT=11211; memcached的端口
####################/var/www/html/JudgeOnline/include/db_info.inc.php#########
建议php.ini的推荐设置
########################/etc/php.ini###########################
open_basedir =/home/judge/data:/var/www/JudgeOnline:/tmp
max_execution_time = 300 ; Maximum execution time of each script, in seconds
max_input_time = 600
memory_limit = 256M ; Maximum amount of memory a script may consume (16MB)
post_max_size = 64M
upload_tmp_dir =/tmp
upload_max_filesize = 64M
########################/etc/php.ini###########################
运行结束后请建立jol数据库,导入db.sql
mysql -uroot -p
create database jol;
use jol;
source db.sql
可以直接执行install.sh
之后导入数据库
mysql -uroot -p
create database jol;
use jol;
source db.sql
或
按照以下步骤执行
#!/bin/bash
#before install check DB setting in
# judge.conf
# hustoj-read-only/web/include/db_info.inc.php
# and down here
#and run this with root
#设置apache工作目录
WEBBASE=/var/www/html
#设置Apache用户名
APACHEUSER=apache
#更新yum源
sudo yum -y update
#安装数据库 php 编译软件
sudo yum -y install php httpd php-mysql mysql-server php-xml php-gd gcc-c++ mysql-devel php-mbstring glibc-static flex
sudo /etc/init.d/mysqld start
#添加判题用户
sudo /usr/sbin/useradd -m -u 1536 judge
#编译代码
cd ../core/
chmod +x make.sh
sudo ./make.sh
#安装web应用
cd ../
sudo mkdir $WEBBASE/JudgeOnline
sudo cp -R web/* $WEBBASE/JudgeOnline
sudo chmod -R 771 $WEBBASE/JudgeOnline
sudo chown -R $APACHEUSER $WEBBASE/JudgeOnline
#创建判题工作目录和基本的配置
sudo mkdir /home/judge
sudo mkdir /home/judge/etc
sudo mkdir /home/judge/data
sudo mkdir /home/judge/log
sudo mkdir /home/judge/run0
sudo mkdir /home/judge/run1
sudo mkdir /home/judge/run2
sudo mkdir /home/judge/run3
#拷贝判题文件
cd install/
sudo cp java0.policy judge.conf /home/judge/etc
sudo chown -R judge /home/judge
sudo chgrp -R $APACHEUSER /home/judge/data
sudo chgrp -R root /home/judge/etc /home/judge/run?
sudo chmod 775 /home/judge /home/judge/data /home/judge/etc /home/judge/run?
#启动判题并设置开机自动启动
sudo cp judged /etc/init.d/judged
sudo chmod +x /etc/init.d/judged
sudo ln -s /etc/init.d/judged /etc/rc3.d/S93judged
sudo ln -s /etc/init.d/judged /etc/rc2.d/S93judged
sudo /etc/init.d/httpd restart
sudo /etc/init.d/mysqld restart
sudo /usr/bin/judged
/etc/init.d/judged
sudo /etc/init.d/judged start
sudo chkconfig mysqld on
sudo chkconfig httpd on
#导入数据库
1.解压hustoj.zip
2.进入hustoj/install
3.安装数据库,设置密码
4.在install/judged.cong中修改数据库密码
5.在web/include/db_info.inc.php中修改数据库密码
6.运行install.sh
7.插入管理员insert into privilege(user_id,rightstr) values('zhblue','administrator');
8.访问 本机/JudgeOnline
apache设置工作目录 /etc/httpd/conf/httpd.conf
web应用搭建成功后请在数据库中插入管理员,在前台中注册账号
插入管理员权限 insert into privilege(user_id,rightstr) values('zhblue','administrator');
原代码下载
svn checkout https://github.com/zhblue/hustoj/trunk/trunk hustoj-read-only
注意修改core/judge和core/judge_client下的
all: judge_client.cc
g++ -Wall -c -I/usr/include/mysql -I/usr/include/mysql judge_client.cc
g++ -Wall -o judge_client judge_client.o -L/usr/lib64/mysql -L/usr/lib/mysql -lmysqlclient
如果一直处于编译中,请杀死judged进程,重新运行/usr/bin/judged
查看进程
ps -el|grep judged
彻底杀死进程
kill –9
配置博客
http://blog.youkuaiyun.com/zhblue/article/details/7366194
如果用java请安装jdk
yum install java-1.7.0*
判题配置文件
########################/home/judge/etc/judge.conf###########################
OJ_HOST_NAME=localhost #数据库地址
OJ_USER_NAME=jol #数据库用户名
OJ_PASSWORD=# 数据库密码
OJ_DB_NAME=jol #数据库名
OJ_PORT_NUMBER=3306 #数据库端口
OJ_RUNNING=1 #可以同时运行几个进程
OJ_SLEEP_TIME=1 #如果有空闲 要休眠多久
OJ_TOTAL=1 #总共有多少台机器负责判题
OJ_MOD=0 #当前机器评判取模为多少的提交
########################/home/judge/etc/judge.conf###########################
web配置文件
####################/var/www/html/JudgeOnline/include/db_info.inc.php#########
db_info.inc.php
static $DB_HOST="localhost"; 数据库的服务器地址
static $DB_NAME="jol"; 数据库名
static $DB_USER="root"; 数据库用户名
static $DB_PASS="root"; 数据库密码
// connect db
static $OJ_NAME="HUSTOJ"; OJ的名字,将取代页面标题等位置HUSTOJ字样。
static $OJ_HOME="./"; OJ的首页地址
static $OJ_ADMIN="root@localhost"; 管理员email
static $OJ_DATA="/home/judge/data"; 测试数据所在目录,实际位置。
static $OJ_BBS="discuss";//"bbs" 论坛的形式,discuss为自带的简单论坛,bbs为外挂论坛,参考bbs.php代码。
static $OJ_ONLINE=false; 是否使用在线监控,需要消耗一定的内存和计算,因此如果并发大建议关闭
static $OJ_LANG="en"; 默认的语言,中文为cn
static $OJ_SIM=true; 是否显示相似度检测的结果。
static $OJ_DICT=true; 是否启用在线英字典
static $OJ_LANGMASK=1008; //1mC 2mCPP 4mPascal 8mJava 16mRuby 32mBash 1008 for security reason to mask all other language 用掩码表示的OJ接受的提交语言,可以被比赛设定覆盖。
static $OJ_EDITE_AREA=true;// 是否启用高亮语法显示的提交界面,可以在线编程,无须IDE。
static $OJ_AUTO_SHARE=false;//true: 自动分享代码,启用的话,做出一道题就可以在该题的Status中看其他人的答案。
static $OJ_CSS="hoj.css"; 默认的css,可以选择dark.css和gcode.css,具有有限的界面制定效果。
static $OJ_SAE=false; //是否是在新浪的云平台运行web部分
static $OJ_VCODE=true; 是否启用图形登录、注册验证码。
static $OJ_APPENDCODE=false; 是否启用自动添加代码,启用的话,提交时会参考$OJ_DATA对应目录里是否有append.c一类的文件,有的话会把其中代码附加到对应语言的答案之后,巧妙使用可以指定main函数而要求学生编写main部分调用的函数。
static $OJ_MEMCACHE=false;是否使用memcache作为页面缓存,如果不启用则用/cache目录
static $OJ_MEMSERVER="127.0.0.1"; memcached的服务器地址
static $OJ_MEMPORT=11211; memcached的端口
####################/var/www/html/JudgeOnline/include/db_info.inc.php#########
建议php.ini的推荐设置
########################/etc/php.ini###########################
open_basedir =/home/judge/data:/var/www/JudgeOnline:/tmp
max_execution_time = 300 ; Maximum execution time of each script, in seconds
max_input_time = 600
memory_limit = 256M ; Maximum amount of memory a script may consume (16MB)
post_max_size = 64M
upload_tmp_dir =/tmp
upload_max_filesize = 64M
########################/etc/php.ini###########################
运行结束后请建立jol数据库,导入db.sql
mysql -uroot -p
create database jol;
use jol;
source db.sql
可以直接执行install.sh
之后导入数据库
mysql -uroot -p
create database jol;
use jol;
source db.sql
或
按照以下步骤执行
#!/bin/bash
#before install check DB setting in
# judge.conf
# hustoj-read-only/web/include/db_info.inc.php
# and down here
#and run this with root
#设置apache工作目录
WEBBASE=/var/www/html
#设置Apache用户名
APACHEUSER=apache
#更新yum源
sudo yum -y update
#安装数据库 php 编译软件
sudo yum -y install php httpd php-mysql mysql-server php-xml php-gd gcc-c++ mysql-devel php-mbstring glibc-static flex
sudo /etc/init.d/mysqld start
#添加判题用户
sudo /usr/sbin/useradd -m -u 1536 judge
#编译代码
cd ../core/
chmod +x make.sh
sudo ./make.sh
#安装web应用
cd ../
sudo mkdir $WEBBASE/JudgeOnline
sudo cp -R web/* $WEBBASE/JudgeOnline
sudo chmod -R 771 $WEBBASE/JudgeOnline
sudo chown -R $APACHEUSER $WEBBASE/JudgeOnline
#创建判题工作目录和基本的配置
sudo mkdir /home/judge
sudo mkdir /home/judge/etc
sudo mkdir /home/judge/data
sudo mkdir /home/judge/log
sudo mkdir /home/judge/run0
sudo mkdir /home/judge/run1
sudo mkdir /home/judge/run2
sudo mkdir /home/judge/run3
#拷贝判题文件
cd install/
sudo cp java0.policy judge.conf /home/judge/etc
sudo chown -R judge /home/judge
sudo chgrp -R $APACHEUSER /home/judge/data
sudo chgrp -R root /home/judge/etc /home/judge/run?
sudo chmod 775 /home/judge /home/judge/data /home/judge/etc /home/judge/run?
#启动判题并设置开机自动启动
sudo cp judged /etc/init.d/judged
sudo chmod +x /etc/init.d/judged
sudo ln -s /etc/init.d/judged /etc/rc3.d/S93judged
sudo ln -s /etc/init.d/judged /etc/rc2.d/S93judged
sudo /etc/init.d/httpd restart
sudo /etc/init.d/mysqld restart
sudo /usr/bin/judged
/etc/init.d/judged
sudo /etc/init.d/judged start
sudo chkconfig mysqld on
sudo chkconfig httpd on
#导入数据库