DOMjudge 中文文档
  • 概述
  • 术语对照表
  • 管理员手册
    • 1 Domjudge 总体介绍
      • 1.1 功能
      • 1.2 环境依赖
      • 1.3 版权许可
      • 1.4 联系方式
    • 2 比赛安排
      • 2.1 比赛硬件
      • 2.2 环境依赖
    • 3 安装与配置
      • 3.1 快速安装
      • 3.2 准备工作
      • 3.3 安装评测系统
      • 3.4 安装数据库
      • 3.5 Web 服务器配置
      • 3.6 微调服务器的设置
      • 3.7 安装 judgehost
      • 3.8 构建和安装 submit client
      • 3.9 配置
      • 3.10 OpenID connect
      • 3.11 可执行文件
      • 3.12 语言设置
      • 3.13 设置特殊运行和比较程序
      • 3.14 通知系统
      • 3.15 其他可配置脚本
      • 3.16 日志和调试
      • 3.17 (重新)生成文档和团队手册
      • 3.18 可选功能
      • 3.19 更新
    • 4 配置一场比赛
      • 4.1 配置比赛数据
      • 4.2 比赛里程碑
      • 4.3 用户验证
      • 4.4 提供测试数据
      • 4.5 开启守护进程
      • 4.6 检查确保一切就绪
      • 4.7 测试裁判解(jury solutions)
    • 5 队伍环境
    • 6 网页界面
      • 6.1 裁判及管理员视图
      • 6.2 得分榜
      • 6.3 气球
    • 7 安全性
      • 7.1 考量
      • 7.2 内部安全
      • 7.3 root 权限
      • 7.4 文件系统权限
      • 7.5 外部安全
    • 附录
      • 8 常见问题和解决方案
        • 8.5 Memory limit errors in the web interface
        • 8.6 Compiler errors: `runguard: root privileges not dropped'
      • 9 多站比赛
      • 10 致开发者
        • 10.1 从 Git 源码库引导
        • 10.2 维护模式安装
        • 10.3 Makefile 结构
  • 裁判手册
    • 1 Domjudge 总体介绍
      • 1.1 功能
      • 1.2 版权许可
      • 1.3 联系方式
    • 2 概要
      • 2.1 裁判与管理员
      • 2.2 榜单
    • 3 比赛前
      • 3.1 题目及语言
      • 3.2 核对测试数据
      • 3.3 测试题解
      • 3.4 热身赛
    • 4 比赛期间
      • 4.1 监测队伍状态
      • 4.2 评测提交
      • 4.3 解释请求
    • 5 比赛后
    • 附录
      • 6 题目打包格式
  • 队员手册
    • 0 概要
    • 1 提交题解
      • 1.1 通过命令行
      • 1.2 通过网页界面
    • 2 查看提交结果
      • 2.1 可能的结果
    • 3 解释
    • 4 提交是怎么被评测的?
      • 4.1 提交题解
      • 4.2 编译
      • 4.3 测试
      • 4.4 各种限制
    • 附录
      • A 样例代码
Powered by GitBook
On this page
  • 单目录树 (Single directory tree)
  • 符合 FHS 标准

Was this helpful?

  1. 管理员手册
  2. 3 安装与配置

3.3 安装评测系统

Previous3.2 准备工作Next3.4 安装数据库

Last updated 5 years ago

Was this helpful?

还有一份专门为开发者准备的维护者安装方法,请参考,并跳过本节其余内容。

Domjudge 的构建/安装系统包括一个 configure 脚本和 makefiles,但是安装的时候,您必须更加小心,而不是仅仅执行 ./configure && make && make install。 Domjudge 需要同时安装在服务器和 judgehost 上,这就要求整个系统可以被部分安装;在安装系统中,这些部分分别是:domserver、judgehost 和 docs(文档)。

domjudge 可以安装成两种不同的目录结构:

单目录树 (Single directory tree)

使用此方法,所有和 Domjudge 相关的文件和程序都将安装在同一个目录树中,该目录树的前缀由 configure 的 prefix 选项指定,例如:

./configure --prefix=$HOME/domjudge --with-baseurl=https://domjudge.example.com/

这将会给 domserve、judgehost、docs 在 $HOME/domjudge 中分别创建一个子目录。可以使用 --with-domserver\_root=DIR 等选项更改这些默认值,详细请参考 configure --help;默认的目录前缀是 /opt/domjudge。

除了这些安装文件,还有一些用于存放日志文件,临时文件,提交的源码和测试数据的目录:

  • log:包含了所有的日志文件。

  • tmp:包含了所有的临时文件。

  • submissions:(可选) 仅仅作为备份,数据库中的文件更具有权威性;注意:未使用此功能,在 web 服务器上,该文件夹必须是 可写 的。

  • judgings:在 judgehost(评测机) 中;每一个提交都对应该文件夹中的一个子文件夹。

这是默认的安装方式,对于一般情景而言,这或许是最实用的安装方式,因为它最大限度地保证了所有的文件都在同一个地方,并且很容易就能找到。

符合 FHS 标准

此方法安装的 Domjudge 目录结构符合 ;可以通过 configure 的 --enable-fhs 参数启用,此时目录结构的前缀是 /usr/local;文件将会放到例如 PREFIX/share/domjudge、PREFIX/bin、PREFIX/var/log、PREFIX/etc/domjudge 中,并且缓存文件将被放置在 /temp 中;您可能需要通过 configure 的 --sysconfdir=/etc 和 --localstatedir=/var 选项更改这些默认目录。

运行过 configure 后就可以开始编译安装系统了;domserver、judgehost 和 docs 都可以单独安,例如:

make domserver && sudo make install-domserver
make judgehost && sudo make install-judgehost
make docs && sudo make install-docs

注意:root 权限是必须的,它用来设置密码文件和一些目录的权限和用户和用户组的所有权;如果您非 root 权限执行,程序将发出警告,您必须手动执行这些操作;虽然 Domjudge 的安装需要 root 权限,但您不应该在 root 用户下运行 Domjudge 程序和守护进程:因为 runguard 是唯一需要 root 权限的部分(通过 sudo 获取权限);此外,以 root 权限运行还会产生一些问题,参见常见问题章节 runguard:root 权不失。

关于 make 的目标(make target)列表,在源码根目录不带参数执行 make 查看。

注意:configure 的 --with-baseurl 参数虽然不是必须的,但强烈建议您设置此选项,因为它允许您通过预设的 URL 来构建提交客户端(submit client)和队伍手册;单当您使用 的时候,该选项是必须的; 如果有需要,稍后可以在 domserver 上的 etc/domserver-static.php 和源码中的 etc/submit-config.h 中更新该设置以重建提交客户端。

附录:开发者信息
文件系统层级结构标准(FHS)
OpenID