虚拟机上装uoj
前期准备:
x64 ubuntu 镜像、vmware、ss账号
注意一定要有64位镜像!
ss不是必须的,不过没有的话就等着下载一晚上吧...
首先先装好ubuntu,我装的是ubuntu-16.04-desktop-amd64.iso。

然后先换个软件源

装docker

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

然后看一下主机ip

把uoj的包下下来(https://github.com/vfleaking/uoj)
设置docker的代理:https://docs.docker.com/engine/admin/systemd/#http-proxy

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

第一步下好了之后,我们还需要下载两个jdk包放进去。
如果不用评测java就直接按错误信息扔两个空文件就行。
然后就开始安装了,出现了各种各样奇怪的信息...

之类的
终于出现了这一行字

那么<image-id>在我这里就是66e27a0dd05a。
然后启动就直接输进去就行了:

(记得sudo)

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

在虚拟机里打开127.0.0.1:

然后我们配置一下端口映射:
vmware里编辑->虚拟网络编辑器

(上面这张图仅供示意,主机端口最好直接填80,另外还要转发3960)
虚拟机IP地址就是虚拟机的IP,ifconfig一下就可以找到,以子网IP开头的那个就是,要转发3690和80端口(后面发现的,svn传题要用)
那么局域网要访问的话,访问的人也要改hosts,把local_uoj.ac定向到实机ip(不是虚拟机)就可以了。
然后加超级管理员:
首先在docker那个窗里打开mysql:
mysql app_uoj233 -u root -p
默认密码是root。






超管就加好了。

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

那么你就svn checkout一下这个地址(在文件管理器空白处右键),输入你的用户名和密码。这个密码每个用户是一样的(随机的),在数据库里的svn_password一列,上面那个图的svn密码就是ro2sRkzO97。
然后建一个叫1的文件夹,接下来的操作参考:https://vfleaking.github.io/uoj/problem/ 里“题目配置格式”。
然后右键svn commit,记得全选更改,然后点
。
如果没有锅就点
检查一下标程和validator挂了没,如果没事就可以公开题目了。
创建比赛挺简单的。需要注意的是,超级管理员和比赛管理员不能参加比赛(实测),所以管理员如果想做比赛赛前可能要人工取消一下。
如果想改源码的话...看这里:https://vfleaking.github.io/uoj/dev/
最后更详细的文档可以戳:https://vfleaking.github.io/uoj/(如果虚拟机突然狗带了docker退出了这里也有解决办法)
Universal OJ开源群:590822951
虚拟机上装uoj的更多相关文章
- 刚在虚拟机上装的Linux系统,ifconfig后IP地址怎么成了127.0.0.1了
之前在虚拟机上装了Linux系统,用了一段时间后想删除了重新装一下,然而装完以后ifconfig后,出现的是 [root@localhost ~]# ifconfig lo Link encap:Lo ...
- 解决宿主机不能访问虚拟机CentOS中的站点 | 更新CentOS防火墙设置开启80端口访问
前阵子在虚拟机上装好了centos6.0,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了. 具体情况如下 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3. ...
- 解决问题:centos虚拟机安装好nginx,本机无法访问
阵子在虚拟机上装好了centos5.3,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了.具体情况如下1.本机能ping通虚拟机2.虚拟机也能ping通本机3.虚拟机能访 ...
- ssh 连接ubuntu的虚拟机问题
我在winxp的虚拟机上装了一个ubuntu9.04的系统,winxp的ip为10.118.62.157,ubuntu的ip为192.168.116.1 两个ip互相ping都是正常的,但是,我在wi ...
- 记录es在虚拟机的开启步骤
最近开始接触elasticserach数据库,于是想在虚拟机上装一个练练手,装的时候可是费了好多时间,百度了许多教程,但是教程太多太乱,怕自己容易忘,所以记录一下,但是我主要记录是装好的es数据库如何 ...
- winSCP无法连接虚拟机Linux解决
刚在虚拟机上装上Linux(Centos7)后使用winSCP建立文件共享发现连接超时,经过几个小时的查找发现Linux中没有eth0文件,这说明其网卡名不是eth0,在网上查过一些解决办法有的通过修 ...
- 虚拟机Ubuntu 18.04安装RabbitMQ 3.7.9
Windows 10家庭中文版,VirtualBox,Ubuntu 18.04,Rabbitmq 3.7.9,Erlang/OTP 20 [erts-9.2], 在虚拟机上装好了Ubuntu,写了一个 ...
- 用visualbox虚拟机安装ubuntu
用visualbox虚拟机安装ubuntu 哥的电脑原来要装双系统.结果电脑死了,磁盘格式化了.什么盘符又挺混乱.后来说用虚拟机装系统安全,又開始摸索. 我的电脑因之前的缘故,VMware软件用不了, ...
- 虚拟机中安装windows server 2008方法
我们简单的介绍一下怎么在虚拟机上安装 windows server 2008系统. 工具/原料 已经安装好的虚拟机. windows server 2008 iso系统镜像 方法/步骤1虚拟机上虚 ...
随机推荐
- isEmpty和isBlank的区别
isEmpty 判断某字符串是否为空,为空的标准是 str==null或 str.length()==0 StringUtils.isEmpty(null) = true StringUtils.i ...
- ASP.NET MVC5----了解我们使用的@HTML帮助类
20几岁,怕什么. 自己的感觉 说一个自己最近使用AngularJS的感受,我们之前使用mvc进行项目开发都是了解和经常使用HTML的帮助类,来完成我们前端大部分代码的编写,其实在我没有接触Angul ...
- linux终端指令总结
一直没机会进行linux指令的系统学习,但是工作中总能遇到通过指令操作文件或数据库的情况,总不能一味地依赖后端开发者的帮忙.上任领导说过,要是在同一个地方跌倒,那么你就是傻子.我可不想成为傻子,so, ...
- .NET 实现并行的几种方式(二)
本随笔续接:.NET 实现并行的几种方式(一) 四.Task 3)Task.NET 4.5 中的简易方式 在上篇随笔中,两个Demo使用的是 .NET 4.0 中的方式,代码写起来略显麻烦,这不 .N ...
- 制作CAB包
制作CAB包 inf文件 INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚 ...
- querySelectorAll 方法相比 getElementsBy 系列方法区别
最近有人问到querySelectorAll 方法相比 getElementsBy 系列方法区别,一时没想起来说些什么,今天查下文档,总结一下它们的区别,以便自己理解. 1. W3C 标准queryS ...
- 深入理解DOM节点关系
× 目录 [1]父级属性 [2]子级属性 [3]同级属性[4]包含方法[5]关系方法 前面的话 DOM可以将任何HTML描绘成一个由多层节点构成的结构.节点分为12种不同类型,每种类型分别表示文档中不 ...
- System.Json 使用注意
在xamarin中对json字符串进行解析,使用System.Json时出现怪问题: json-string = { "ret" : "OK" } 使用如下代码 ...
- 初识hive
由facebook 开源用以帮用户解决海量数据etl,构建于hadoop的 数据仓库. 使用hql作为查询接口 使用hdfs作为底层存储 使用mr作为执行层 1.为什么使用hive? 1 ...
- DHtmlx组件获取选中行的某一列对应的值
最近刚刚接触DHtmlx这个js组件,对它还不是太了解,还在学习中,算是记录自己学习该组件的历程吧. 首先xml文件里有一个grid,有对应的checkbox,通过 var selectedId = ...