3.1 快速安装
注意: 本节不能代替下面几节的完整安装。但对于安装过 Domjudge 并且需要一些提示的人来说,相当于一个备忘录。如有疑问,请务必查阅完整的安装说明。
第三方软件:
安装 MySQL-server 或 MariaDB-server 并为其设置 root 密码。
安装 Nginx 或 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 主机上:
在domserver主机上初始化
MySQL
数据库:bin/dj_setup_database -u root -r install
。对于 Apache :把
etc/apache.conf
添加到您的 Apache 配置中,如有必要可以修改此配置,然后重新加载 Web服务器:对于 Nginx:把
etc/nginx.conf
添加到您的 Nginx 配置中,并将etc/domjudge-fpm.conf
添加到您的 PHP FPM 池目录,如有必要可以修改此配置,然后重新加载 Web服务器:检查网页界面是否工作 (/team, /public, /jury)。
更改 admin 用户的默认密码 ('admin')。检查 API (/api) 是否工作,并为 judgehost 创建凭证。
通过管理员后台或 phpMyAdmin 添加队伍、用户账号和一些必要的比赛数据。
在管理员后台运行配置检测(
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 中复制)。启动评测守护进程:
bin/judgedaemon
现在应该提交一组测试代码来检验每一部分是否正常工作。
注意:根据您在 etc/domserver-config.php
中 AUTH_METHOD
选择不同,需要额外配置,详细请参考 提交客户端设置。
接下来,在管理员后台点击 judging verifier
以自动验证大多数测试,除了一些有多种可能结果的代码必须手工验证。阅读测试的源码以确定什么(不)应该发生。
可选:
在队伍设备上安装 “提交客户端”。
启动气球通知:
cd bin; ./balloons
或者在气球的网页界面中操作。在 judgehost 上创建一个预先构建好的 chroot 树:
通常情况下并不需要修改
chroot-startstop.sh
,但当您的解释器不安装在/usr
或来自其他地方时,请参阅 创建 chroot 环境。有关管理员后台的其他功能,可以安装以下PHP扩展:
xdiff PECL
:展示提交之间的差异;
Last updated