3.1 快速安装
注意: 本节不能代替下面几节的完整安装。但对于安装过 Domjudge 并且需要一些提示的人来说, 这相当于一个备忘录。如有疑问, 请务必查阅完整的安装说明。
外部软件:
- 安装
MySQL-server并为其设置 root 密码 - 安装
Apache,PHP和phpMyAdmin(推荐) - 确保
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.shchroot-startstop.sh, 但当你的解释器未安转在/usr或来自其他地方时, 请参阅 创建 chroot 环境 - 有关管理员后台的其他功能, 可以安装以下
PHP扩展:xdiff PECL: 展示提交之间的差异