前期准备:

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的更多相关文章

  1. 刚在虚拟机上装的Linux系统,ifconfig后IP地址怎么成了127.0.0.1了

    之前在虚拟机上装了Linux系统,用了一段时间后想删除了重新装一下,然而装完以后ifconfig后,出现的是 [root@localhost ~]# ifconfig lo Link encap:Lo ...

  2. 解决宿主机不能访问虚拟机CentOS中的站点 | 更新CentOS防火墙设置开启80端口访问

    前阵子在虚拟机上装好了centos6.0,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了. 具体情况如下 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3. ...

  3. 解决问题:centos虚拟机安装好nginx,本机无法访问

    阵子在虚拟机上装好了centos5.3,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了.具体情况如下1.本机能ping通虚拟机2.虚拟机也能ping通本机3.虚拟机能访 ...

  4. ssh 连接ubuntu的虚拟机问题

    我在winxp的虚拟机上装了一个ubuntu9.04的系统,winxp的ip为10.118.62.157,ubuntu的ip为192.168.116.1 两个ip互相ping都是正常的,但是,我在wi ...

  5. 记录es在虚拟机的开启步骤

    最近开始接触elasticserach数据库,于是想在虚拟机上装一个练练手,装的时候可是费了好多时间,百度了许多教程,但是教程太多太乱,怕自己容易忘,所以记录一下,但是我主要记录是装好的es数据库如何 ...

  6. winSCP无法连接虚拟机Linux解决

    刚在虚拟机上装上Linux(Centos7)后使用winSCP建立文件共享发现连接超时,经过几个小时的查找发现Linux中没有eth0文件,这说明其网卡名不是eth0,在网上查过一些解决办法有的通过修 ...

  7. 虚拟机Ubuntu 18.04安装RabbitMQ 3.7.9

    Windows 10家庭中文版,VirtualBox,Ubuntu 18.04,Rabbitmq 3.7.9,Erlang/OTP 20 [erts-9.2], 在虚拟机上装好了Ubuntu,写了一个 ...

  8. 用visualbox虚拟机安装ubuntu

    用visualbox虚拟机安装ubuntu 哥的电脑原来要装双系统.结果电脑死了,磁盘格式化了.什么盘符又挺混乱.后来说用虚拟机装系统安全,又開始摸索. 我的电脑因之前的缘故,VMware软件用不了, ...

  9. 虚拟机中安装windows server 2008方法

    我们简单的介绍一下怎么在虚拟机上安装 windows server  2008系统. 工具/原料 已经安装好的虚拟机. windows server  2008 iso系统镜像 方法/步骤1虚拟机上虚 ...

随机推荐

  1. isEmpty和isBlank的区别

    isEmpty  判断某字符串是否为空,为空的标准是 str==null或 str.length()==0 StringUtils.isEmpty(null) = true StringUtils.i ...

  2. ASP.NET MVC5----了解我们使用的@HTML帮助类

    20几岁,怕什么. 自己的感觉 说一个自己最近使用AngularJS的感受,我们之前使用mvc进行项目开发都是了解和经常使用HTML的帮助类,来完成我们前端大部分代码的编写,其实在我没有接触Angul ...

  3. linux终端指令总结

    一直没机会进行linux指令的系统学习,但是工作中总能遇到通过指令操作文件或数据库的情况,总不能一味地依赖后端开发者的帮忙.上任领导说过,要是在同一个地方跌倒,那么你就是傻子.我可不想成为傻子,so, ...

  4. .NET 实现并行的几种方式(二)

    本随笔续接:.NET 实现并行的几种方式(一) 四.Task 3)Task.NET 4.5 中的简易方式 在上篇随笔中,两个Demo使用的是 .NET 4.0 中的方式,代码写起来略显麻烦,这不 .N ...

  5. 制作CAB包

    制作CAB包 inf文件 INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚 ...

  6. querySelectorAll 方法相比 getElementsBy 系列方法区别

    最近有人问到querySelectorAll 方法相比 getElementsBy 系列方法区别,一时没想起来说些什么,今天查下文档,总结一下它们的区别,以便自己理解. 1. W3C 标准queryS ...

  7. 深入理解DOM节点关系

    × 目录 [1]父级属性 [2]子级属性 [3]同级属性[4]包含方法[5]关系方法 前面的话 DOM可以将任何HTML描绘成一个由多层节点构成的结构.节点分为12种不同类型,每种类型分别表示文档中不 ...

  8. System.Json 使用注意

    在xamarin中对json字符串进行解析,使用System.Json时出现怪问题: json-string = { "ret" : "OK" } 使用如下代码 ...

  9. 初识hive

    由facebook 开源用以帮用户解决海量数据etl,构建于hadoop的 数据仓库. 使用hql作为查询接口 使用hdfs作为底层存储 使用mr作为执行层   1.为什么使用hive?      1 ...

  10. DHtmlx组件获取选中行的某一列对应的值

    最近刚刚接触DHtmlx这个js组件,对它还不是太了解,还在学习中,算是记录自己学习该组件的历程吧. 首先xml文件里有一个grid,有对应的checkbox,通过 var selectedId = ...