3.1 快速安装
Last updated
Was this helpful?
Last updated
Was this helpful?
注意: 本节不能代替下面几节的完整安装。但对于安装过 Domjudge 并且需要一些提示的人来说,相当于一个备忘录。如有疑问,请务必查阅完整的安装说明。
安装 MySQL-server 或 MariaDB-server 并为其设置 root 密码。
安装 Nginx 或 Apache 、 PHP 和 phpMyAdmin (推荐)。
确保 PHP 可以在 Web服务器和命令行脚本下正常工作。
在 judgehost 上安装必要的编译器。
另行参阅 。
解压源码包并执行 ./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
。
对于 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
)。
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
现在应该提交一组测试代码来检验每一部分是否正常工作。
接下来,在管理员后台点击 judging verifier
以自动验证大多数测试,除了一些有多种可能结果的代码必须手工验证。阅读测试的源码以确定什么(不)应该发生。
在队伍设备上安装 “提交客户端”。
启动气球通知:cd bin; ./balloons
或者在气球的网页界面中操作。
在 judgehost 上创建一个预先构建好的 chroot 树:
有关管理员后台的其他功能,可以安装以下PHP扩展:
xdiff PECL
:展示提交之间的差异;
注意:根据您在 etc/domserver-config.php
中 AUTH_METHOD
选择不同,需要额外配置,详细请参考 。
通常情况下并不需要修改 chroot-startstop.sh
,但当您的解释器不安装在 /usr
或来自其他地方时,请参阅 。