3.1 快速安装

注意: 本节不能代替下面几节的完整安装。但对于安装过 Domjudge 并且需要一些提示的人来说, 这相当于一个备忘录。如有疑问, 请务必查阅完整的安装说明。


外部软件:

  • 安装 MySQL-server 并为其设置 root 密码
  • 安装 Apache, PHPphpMyAdmin(推荐)
  • 确保 PHP 可以在 Web 服务器和命令行脚本上正常工作
  • 在 judgehost 上安装必要的编译器
  • 另行参阅 Debian 和 RedHat 的命令示例

Domjudge:

  • 解压源码包并执行 ./configure [--enable-fhs|--prefix=<basepath>] --with-baseurl=<url>
  • 执行 make domserver judgehost docs 或者仅仅编译你想在这台机器上安装的目标
  • 用 root 权限执行 make install-{domserver,judgehost,docs}

在 domserver 主机上:

  • 安装 MySQL 数据库, 使用命令: bin/dj_setup_database -u root -r install
  • etc/apache.conf 添加到你的 Apache 配置中, 如果需要, 你可以修改此配置, 然后重启 Web server :
    sudo ln -s <INSTALL_PATH>/domserver/etc/apache.conf /etc/apache2/conf-available/domjudge.conf
    sudo a2enmod rewrite
    sudo a2enconf domjudge
    sudo apache2ctl graceful
    
  • 检查网页界面是否工作 (/team, /public, /jury)
  • 更改 admin 用户的默认密码('admin')
  • 检查 API(/api) 是否工作, 并为 judgehost 创建证书
  • 通过管理员后台(jury web interface)或 phpMyAdmin 添加 team, accounts 和一些必要的比赛数据
  • 在管理员后台运行 config checker

在 judgehost 上:

  • useradd -d /nonexistent -U -M -s /bin/false domjudge-run
  • /etc/sudoers.d//etc/sudoer 中添加 sudoer 配置, 例如 etc/sudoers-domjudge
  • 开启 cgroup 支持: 在 /etc/default/grub 中修改内核参数并重启, 然后使用 misc/create_cgroups 为 Domjudge 创建 cgroups
  • 将正确的证书放在所有 judgehost 的 /etc/restapi.secret 中(从 domserver 中复制)
  • 启动 judge daemon: bin/judgedaemon

现在应该提交一组测试代码来检验每一部分是否正常工作。

cd test
make test

注意: 这需要一些配置, 具体取决于你在 etc/domserver-config.php 中选择的 AUTH_METHOD, 请阅读 submit client设置 以获取更多信息

接下来, 在管理员后台选择 judging verifier 以检查大多数测试源码, 除了一些有多种可能结果的代码(这些都必须手工验证)。阅读测试源码以确定什么(不)应该发生。


可选:

  • 在团队工作站上安装 submit client
  • 启动气球通知: cd bin; ./balloons 或者在网页界面的 Ballon 中操作
  • 在 judgehost 上创建一个预先构建的 chroot 树, 以支持 Java 等解释或字节编译的语言
    sudo bin/dj_make_chroot [optional arguments]
    $EDITOR lib/judge/chroot-startstop.sh
    
    通常情况下并不需要修改 chroot-startstop.sh, 但当你的解释器未安转在/usr 或来自其他地方时, 请参阅 创建 chroot 环境
  • 有关管理员后台的其他功能, 可以安装以下PHP扩展:
    • xdiff PECL: 展示提交之间的差异

results matching ""

    No results matching ""