JXOJ(基于UOJ)部署日志

JXOJ部署日志

前些日子协助cycllf两位奆老部署了JXOJ,为方便日后维护我校OJ的同学,写篇日志做记录以日后查看。

一、准备:

​ 在尝试了多个不同OJ之后,我们最终选择了Universal Online Judge 的这个社区版

​ 我们使用的系统是此时较新的ubuntu-18.04-desktop-amd64

二、步骤:

​ 安装过程基本上完全按照UOJ部署指北中的内容一步步进行,对于一个崭新的Ubuntu,更换aliyun软件源,在终端中执行:

sudo su
apt update
apt upgrade
apt install vim
apt install curl
apt install git
apt install docker.io

​ 其中docker:"它是一个容器技术,暂且可以理解成虚拟机。"(引自UOJ部署指北)UOJ就是运行在其虚拟出的一个Ubuntu系统环境下。

​ 接着便是在docker中安装UOJ。可以将社区版的源代码clone下来安装(然而没有必要这样做),例如:

git clone https://github.com/UniversalOJ/UOJ-System.git

​ 更为便捷的方法是,直接下载docker提供的公共镜像,因为UOJ已经在docker的服务器上发布。

sudo docker pull universaloj/uoj-system:stable

​ 然后就会开始下载。

​ 下载下来是镜像,我们需要让docker创建一个新的虚拟机来运行UOJ。值得一提的是,运行的同时需要指出开放的端口,部署指北中的代码只开了两个,而为了方便管理数据,我们希望增加供KodexplorerPhpMyAdmin使用的端口。80端口用于访问网页端,3690是传题用的,剩下两个分别是KodexplorerPhpMyAdmin。完整命令是:

sudo docker run --name uoj -dit -p 80:80 -p 3690:3690 -p 1926:1926 -p 2333:2333 --cap-add SYS_PTRACE uoj

​ 至此,UOJ已经默默地运行起来了。在局域网内任何一台计算机访问刚刚那台服务器的ip地址,就能访问UOJ网页端。管理员用户名为root,密码为uojuoj,可自行更改。安装过程也就结束了。

原文地址:https://www.cnblogs.com/terrasse/p/10076857.html