Skip to content

捣鼓hustoj–做我们自己的oj

最近在和几个小伙伴讨论之下,一时兴起,就准备自己搭一个oj(online judge),oj的系统我们选取的是开源的hustoj。正好我也有一个闲置的vps机子,机子上就简单的弄了一个shadowsocks(干吗用的大家都懂),所以资源还是挺空的。大脑一热,就开始自己搭起oj。

hustoj

github—-这是github上的开源代码,大家可以自己去看,这里我就简单说下我的安装经历。

我用putty(这玩意挺好用,大家可以自己去baidu/google或者也可以翻我前几次捣鼓vps的那篇博文)登入vps服务器,装的是Ubuntu系统,然后直接按照github上的快速安装操作,一步步弄下来就可以了。

第一次弄的时候其实我并没有成功,指令全部执行完成以后访问ip地址再加JudgeOnline时,跳出了一个数据库连接失败的问题,具体抛出的问题代码我给忘了,反正就是数据库的问题。开始不知道怎么回事,后来自己想了想,hustoj是需要mysql数据库的,而我的机子上并没有装这个数据库,所以导致数据库连接失败。

找到了原因,那么解决方案就很简单了,自己去安装一个MySQL。依次执行以下指令:

sudo apt-get install mysql-server

apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

sudo netstat -tap | grep mysql

  通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
  登陆mysql数据库可以通过如下命令:

mysql -u root -p

  -u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
现在已经安装好MySQL了,接下来你就可以重新安装hustoj了,数据库账户密码填你自己设置的,然后就一切 OK了。
这个时候我们自己的oj已经安装完成了,下一步就是设置一个管理员账号,怎么弄呢?github上说了,先注册一个普通用户,然后在MySQL里把权限提升到administrator就好了。说起来很容易,我自己弄的时候还是费了点时间研究才知道怎么弄。
首先在普通状态下,用指令

mysql -u root -p

进入数据库,然后使用指令
show databases;
(注意最后有分号)来显示数据库,然后使用
use jol;
来进入hustoj的那个数据库,它默认命名为jol,然后使用指令

insert into privilege(user_id,rightstr) values(‘zhblue’,’administrator’);

zhblue 为需要加管理员权限的帐号
这样就权限提升完成了,OK,任务全部完成,剩下的就是自己捣鼓了。

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*