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

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

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

(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("<div class=center > <img src='http://hustoj.com/wx.jpg' width='120px'><img src='http://hustoj.com/alipay.png' width='120px'><br> 欢迎关>注微信公众号onlinejudge</div>");

修改为:

<!--  $("body").append("<div class=center > <img src='http://hustoj.com/wx.jpg' width='120px'><img src='http://hustoj.com/alipay.png' width='120px'><br> 欢迎关>注微信公众号onlinejudge</div>");-->

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

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

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

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

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

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

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

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在虚拟机上安装Ubuntu 16.04,您可以按照以下步骤进行操作: 1. 首先,您需要选择一款虚拟机软件,例如VirtualBox或VMware Workstation。您可以根据个人喜好选择其中一款,然后下载并安装它。 2. 一旦您安装了虚拟机软件,您需要下载Ubuntu 16.04的镜像文件。您可以在Ubuntu官方网站上找到适合您系统的稳定版本镜像文件,并将其下载到本地计算机上。 3. 启动虚拟机软件,并点击创建新虚拟机。根据软件的指引,您需要指定虚拟机的名称、类型和版本。在这一步中,请确保选择正确的操作系统版本(即Ubuntu 64位),以便与您下载的镜像文件匹配。 4. 分配虚拟机系统资源,例如内存和硬盘空间。按照您的需求进行设置。 5. 在虚拟机的设置中,选择“存储”选项卡,并将下载的Ubuntu 16.04镜像文件添加为虚拟机的光驱。这将允许您在虚拟机中启动并安装Ubuntu 16.04。 6. 启动虚拟机,并按照屏幕上显示的指引步骤安装Ubuntu 16.04。您需要选择语言、时区和键盘布局等设置。在磁盘分区阶段,您可以选择使用默认设置或手动进行分区,具体取决于您的需求。 7. 完成安装后,重新启动虚拟机,您将看到Ubuntu 16.04的登录界面。输入您在安装过程中创建的用户名和密码,即可进入Ubuntu桌面环境。 这样,您就成功在虚拟机上安装了Ubuntu 16.04。如有任何问题,请随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值