2019.9月在虚拟机上Ubuntu16.04环境下搭建hustoj

因为学校的原因,于是乎花了一些时间研究hustoj的搭建,之前尝试了各种CSDN上的教程,安装完之后总有一点问题,有最难受的情况是当时装完可以使用,关一次机重启就会报Nginx错误,尝试了各种解决方法还是无果,遂寻找最近的可行策略,之前所参考的都是基于LAMP环境搭建的(注:LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。)

然而,最新版本的hustoj已经无需手动去安装这些环境,在脚本里面都已经全部包含了。

在此特别感谢CSDN:让梦々冬眠 、HLXMBJ两位老哥的指点,更要感谢张浩斌老师的hustoj的源码支持与issues回复。

不要相信百度来的长篇大论的所谓教程,那些都是好几年前的老黄历了,会导致不判题,不显示,不好升级等等问题。

尤其别装apache,如果已经安装,请先停用或卸载,以免80端口冲突。

不要使用LNMP/LAMP/Cpanel/其他面板程序提供的Mysql Nginx Apache PHP 环境,安装脚本已经包含所有必须环境的安装。

如果不是在虚拟机上以下两条可忽略

腾讯云用户请换软件源,增加multiverse。

阿里云用户请百度“阿里云 80端口”

首先安装ubuntu16.04,这个过程在虚拟机里安装请参考:https://blog.csdn.net/qq1326702940/article/details/82322079

安装前最好执行以下命令切换至root用户操作权限,终端输入命令:

sudo -i        #输入当前用户密码后以root权限登录shell,无时间限制。使用exit或logout退出。

sudo su        #输入当前用户密码后以root权限登录shell

最好安装一下VMware Tools,安装过程参考:https://blog.csdn.net/sh21_/article/details/52453493  毕竟安装完这个之后Ubuntu桌面窗口大小就可以调整了,而且从宿主主机可以直接复制粘贴东西到虚拟机里,感觉很方便,不然每次输入数字,像我一样习惯用小键盘输入的人还得多按一下NumLock键才能输入。

(因为本人算是Linux新手,如果有和我一样的新手,最好保证Ubuntu系统是纯净的未安装其他软件,否则可能引起各种奇怪的安装错误或者bug)

然后用下面脚本快速安装OJ:

1.获取安装脚本:

wget https://raw.githubusercontent.com/zhblue/hustoj/master/trunk/install/install-ubuntu16+.sh

2.以超级用户身份运行bash命令语言解释器安装刚才下载的脚本:

sudo bash install-ubuntu16+.sh

期间如果有设置mysql root账户密码的,自己设置就好了(我习惯用root),但是一定要记住,那个密码是管理数据库的重要凭证。

等脚本运行完成,最后会有done字样出现,此时即表示hustoj已经完成,在本地浏览器输入:localhost即可看到hustoj页面。

2019.9月在虚拟机上Ubuntu16.04环境下搭建hustoj_第1张图片

此时,还需要配置一下,比方说去除原本的广告,解决无法修改公告等问题。

(1)修改db_info.inc.php文件

vim /home/judge/src/web/include/db_info.inc.php    #修改oj的配置,如开放验证码,注册审核等

进入db_info.php文件后,点击键盘上的i键进入插入模式,移动到想要修改的位置修改,修改完成后,输入:wq以结束编辑并保存

如果提示:

程序“vim”已包含在下列软件包中:   

* vim   

* vim-gnome   

* vim-tiny   

* vim-gtk   

* vim-nox   

请尝试:   

代码如下:   apt-get install <选定的软件包>   

按照提示输入

则在终端输入以下命令安装vim:

sudo apt-get install vim

关于vim命令详细的用法,参考:https://blog.csdn.net/williamfan21c/article/details/56495261

(2)修改judge.conf文件(如果不更改可以跳过此步,这个文件用来配置判题judged)

vim /home/judge/etc/judge.conf 

(3)修改公告(解决公告无法修改的问题)

sudo chown www-data -R /home/judge/src/web

(4)修改js.php文件以去除广告

 vim /home/judge/src/web/template/bs3/js.php

找到:

$("body").append("

欢迎关>注微信公众号onlinejudge
");

修改为:


即可去掉页面底部的作者公众号及支付宝红包等广告。

至此,oj环境搭建完成,注册一个用户名(学号)为:admin的账户,自动成为管理员。

2019.9月在虚拟机上Ubuntu16.04环境下搭建hustoj_第2张图片

以下内容是局域网访问本机电脑VM虚拟主机项目设置,设置完成后就可在局域网内访问hustoj。

设置步骤参考:https://blog.csdn.net/will5451/article/details/54646589

设置完成即可在机房畅快使用hustoj。

如果在运行过程中,勿动了web代码导致OJ无法正常显示,可以在终端输入以下命令进行修复:

cd /home/judge/src/install    #进入install目录
sudo bash fixing.sh           #执行修复脚本

 

你可能感兴趣的:(2019.9HUSTOJ的搭建,hustoj系统,在线评测系统的搭建)