在 Linux 环境下安装。判题机是在 Linux 环境下写的,Windows 下无法运行判题机。
搭建 LAMP (或 LANP) 环境:PHP 7.x、MySQL、Apache2 / Nginx
可以参考:LAMP 环境搭建
-
下载
jnoj运行命令:git clone https://github.com/shi-yang/jnoj.git -
配置 Web 端
-
配置数据库信息
在
config/db.php文件中配置数据库信息,例如:return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=jnoj', 'username' => 'root', 'password' => '123456', 'charset' => 'utf8', ];
注意: Web 程序不会为你创建数据库,需要你自己手动创建该数据库(创建方法:运行
mysql -u root -p登录MySQL,然后create database jnoj;,执行quit;可退出MySQL)。 -
执行安装命令
进入 jnoj 目录,在命令行运行
./yii install来安装。安装过程会自动导入所需的 SQL 数据,并且需要你根据提示输入管理员的账号密码。
做好以上步骤后便可以使用 Web 端:
http://localhost/jnoj/web/此时还不能进行判题,需配置判题机才能判题。
-
-
配置判题机
- 安装编译的依赖,运行命令:
sudo apt install libmysqlclient-dev libmysql++-dev - 创建一个用于判题的用户,运行命令:
sudo useradd -m -u 1536 judge - 将控制台切换到
judge目录(即运行cd judge命令),然后运行make命令 - 运行
sudo ./dispatcher命令
- 安装编译的依赖,运行命令:
-
配置配置多边形出题系统
- 将控制台切换到
polygon目录(即运行cd polygon命令),然后运行make命令 - 运行
sudo ./polygon命令
- 将控制台切换到
安装过程执行命令如下:
$ cd /var/www/html
$ git clone https://github.com/shi-yang/jnoj.git
$ cd jnoj
$ vim config/db.php
$ ./yii install
$ sudo useradd -m -u 1536 judge
$ vim judge/config.ini
$ cd judge
$ sudo apt install libmysqlclient-dev libmysql++-dev
$ make
$ sudo ./dispatcher
$ cd ../polygon
$ vim config.ini
$ make
$ sudo ./polygon