搭建hustoj过程简述

首先感谢阿里云的云翼计划,9.9元一个月的服务器 云翼计划

我选择的是32位ubuntu,看不到图形界面会很烦,于是我安装了一下vncserver VNC安装说明,尽管没有达到链接中图示的效果,也勉强可以用了。

hustoj安装步骤

1.安装mysql
apt-get install mysql-server mysql-client

安装的过程会有一个框,输入sql密码,按TAB切换到ok

2.安装apache2
apt-get install apache2
这里要说明一下的就是ubuntu下的apache默认网页执行文件夹在/var/www/下面,配置文件在/etc/apache2/apache2.conf,配置文件子目录在/etc/apache2/下
进入浏览器,键入http://localhost,出现It works!代表安装成功
3.安装php
apt-get install php5 libapache2-mod-php5
重启apache,输入/etc/init.d/apache2 restart
安装文本编辑器gedit
apt-get install gedit

然后打开,输入一下内容
<?php phpinfo();?>

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

然后在浏览器输入

http://localhost/info.php

出现php的一系列属性,LAMP环境就完成了。

4.安装hustoj

执行如下命令
    sudo apt-get update
    sudo apt-get install subversion
    sudo svn co https://github.com/zhblue/hustoj/trunk/trunk/install hustoj
    cd hustoj
    sudo bash install-interactive.sh
这个是github上最新的源,因为google code被墙了,所以迁移到了github上。

安装完之后只能编译C和C++,有需要pascal和java可以执行这两条命令

hustoj安装完默认只能判c和c++代码

sudo apt-get install openjdk-6-jdk

sudo apt-get install fpc 

5.运行JudgeOnline

输入

http://localhost/JudgeOnline

或者http://127.0.0.1/JudgeOnline即可

如果出现类似这样的问题,应该是数据库没连接上

Could not connect: Access denied for user 'root'@'localhost'(using password: YES)

数据库的配置文件在var/www/html/judgeonline/include中的db_info.inc.php

使用gedit打开修改就好,db_info.inc.php的具体分析见文章最后。

6.注册帐号测试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');
如果你的帐号叫zhangkun,那么需要更改帐号部分,如
insert into privilege(user_id,rightstr)values('zhangkun','administrator');

最后域名如果有可以是用自己的域名,我使用的是tk域名,dot.tk,将域名解析到云服务器上就好。

欢迎测试我搭建的hustoj,虽然是老东西了,还是能用一用,有些地方还需要更改,多谢指正。点击打开OJ

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的端口



  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值