Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Unostvisal edited this page Oct 5, 2016 · 2 revisions

系统要求

这是一个UOJ的docker版本。在安装之前,请确认Docker已经安装在您的操作系统中。
这个docker的映像是64位的版本,在32位的系统上安装可能会出现错误。

安装过程

安装

请先下载 JDK7u76JDK8u31,并把他们放置在docker/jdk-7u76-linux-x64.tar.gzdocker/jdk-8u31-linux-x64.tar.gz中。 这两个压缩文件会被用在 judge_client 来测试Java的程序。如果你不喜欢下载那么大的文件的话,你可以放两个空vfk在那里充数(前提是文件名一样)。

然后,回到clone的目录(也就是docker的上级目录)运行以下指令

./install

如果运气够好,而且vfk大的话,你将会看见Successfully built <image-id>在最后一行.

运行

如果你要启动UOJ的主服务器,你需要运行如下指令

docker run -it -p 80:80 -p 3690:3690 <image-id>

如果你运行docker在Mac OS上,或者在上传题目数据的时候遇到了形如:std: compile error. no comment的信息,你可能需要用以下指令来替代上一个指令:

docker run -it -p 80:80 -p 3690:3690 --privileged --cap-add SYS_PTRACE <image-id>

小配置

默认的主机名是local_uoj.ac,所以你需要在您服务器的hosts文件中添加以下行:

127.0.0.1 local_uoj.ac
::1 local_uoj.ac

或使用Menci的玄学大法(replace from XXX to YYY)

find . | xargs sed -i 's/XXX/YYY/g'

当你做完了这些 您就可以直接从浏览器访问您自己的uoj辣!

超级用户

如果你需要一个超级用户,请注册一个账户,并在tableuser_info将其的usergroup改成"S"。 请运行

mysql app_uoj233 -u root -p

来登录您服务器的mysql(默认密码是root)

如果您只需要一个判题的客户端,那您已经完成了这个事情!vfk向您发来贺电!恭喜!

安装其他判题客户端

如果你想要安装其他判题的客户端,你需要逐一设置他们。
首先运行:

./config_judge_client

然后回答vfk提出的问题

  • uoj container id: 主服务器的容器id。
  • uoj ip: 主服务器的ip地址
  • judger name: 你可以取一个能让你开心(喜欢)的名字,例如 judger, judger_2, very_strong_judger 。但是,包含特殊字符可能会导致vfk不可预料的后果。

做完了这些之后,程序会给你一个sql指令,我们稍后再讨论这个指令有什么作用。

下一步,我们需要运行

./install_judge_client

来构建一个docker镜像。如果你想要运行判题客户端在同一台服务器上,你只要运行以下命令即可

docker run -it <image-id>

你需要用的判题客户端docker镜像的ip地址来完成刚给出的sql命令以及数据库。
对于那些不知道怎么获得docker容器的ip地址的人,这是解决方法:

docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-id>

或者,你想要运行判题客户端在另一台服务器上,你需要复制判题客户端的docker镜像到另一台服务器,接着运行:

docker run -p 2333 -it <image-id>

同样的,你需要完成sql命令来修改数据库。在这个时候,你需要填写运行判题客户端的镜像主机的IP地址。

参考数据

mysql默认密码: root

local_main_judger 密码: judger

你可以在/var/www/uoj/app/.config.php改变默认主机名或者其他选项,但是并不是所有的配置选项都在这个文件中。


共同编辑&&参与贡献

Erii,mathlover,ChouUn

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /