虚拟机上装uoj

前期准备:

x64 ubuntu 镜像、vmware、ss账号

注意一定要有64位镜像!

ss不是必须的,不过没有的话就等着下载一晚上吧...

首先先装好ubuntu,我装的是ubuntu-16.04-desktop-amd64.iso。

虚拟机上装uoj

然后先换个软件源

虚拟机上装uoj

装docker

虚拟机上装uoj

然后主机打开ss,注意勾选允许局域网连接。

虚拟机上装uoj

然后看一下主机ip

虚拟机上装uoj

把uoj的包下下来(https://github.com/vfleaking/uoj

设置docker的代理:https://docs.docker.com/engine/admin/systemd/#http-proxy

虚拟机上装uoj

挂完代理就慢慢等吧...

虚拟机上装uoj

第一步下好了之后,我们还需要下载两个jdk包放进去。

如果不用评测java就直接按错误信息扔两个空文件就行。

然后就开始安装了,出现了各种各样奇怪的信息...

虚拟机上装uoj

之类的

终于出现了这一行字

虚拟机上装uoj

那么<image-id>在我这里就是66e27a0dd05a。

然后启动就直接输进去就行了:

虚拟机上装uoj

(记得sudo)

虚拟机上装uoj

我们在虚拟机里编辑一下/etc/hosts:

虚拟机上装uoj

在虚拟机里打开127.0.0.1:

虚拟机上装uoj

然后我们配置一下端口映射:

vmware里编辑->虚拟网络编辑器

虚拟机上装uoj

(上面这张图仅供示意,主机端口最好直接填80,另外还要转发3960)

虚拟机IP地址就是虚拟机的IP,ifconfig一下就可以找到,以子网IP开头的那个就是,要转发3690和80端口(后面发现的,svn传题要用)

那么局域网要访问的话,访问的人也要改hosts,把local_uoj.ac定向到实机ip(不是虚拟机)就可以了。

然后加超级管理员:

首先在docker那个窗里打开mysql:

mysql app_uoj233 -u root -p

默认密码是root。

虚拟机上装uoj

虚拟机上装uoj

虚拟机上装uoj

虚拟机上装uoj

虚拟机上装uoj

虚拟机上装uoj

超管就加好了。

虚拟机上装uoj

然后传题需要装tortoisesvn,然后比如题目,新建题目之后点管理,就可以改题面了。传数据首先先要在管理者里面加上自己,然后数据页面有一个svn地址:

虚拟机上装uoj

那么你就svn checkout一下这个地址(在文件管理器空白处右键),输入你的用户名和密码。这个密码每个用户是一样的(随机的),在数据库里的svn_password一列,上面那个图的svn密码就是ro2sRkzO97。

然后建一个叫1的文件夹,接下来的操作参考:https://vfleaking.github.io/uoj/problem/ 里“题目配置格式”。

然后右键svn commit,记得全选更改,然后点虚拟机上装uoj

如果没有锅就点虚拟机上装uoj检查一下标程和validator挂了没,如果没事就可以公开题目了。

创建比赛挺简单的。需要注意的是,超级管理员和比赛管理员不能参加比赛(实测),所以管理员如果想做比赛赛前可能要人工取消一下。

如果想改源码的话...看这里:https://vfleaking.github.io/uoj/dev/

最后更详细的文档可以戳:https://vfleaking.github.io/uoj/(如果虚拟机突然狗带了docker退出了这里也有解决办法)

Universal OJ开源群:590822951

上一篇:powerdesigner中将表的name在生成建表sql时生成注释


下一篇:Flash Recovery Area 的备份