DomJudge的配置(从系统到web)

DomServer的安装

DOMjudge 服务器(简称 DOMserver)是运行domjudge网站页面和API,连接队伍,裁判账号和评测机的中央实体

系统安装

系统通常使用Debian GNU/Linux 或其衍生发行版或者 RedHat Enterprise Linux 以及 CentOS 和 Fedora 等相关发行版
以Ubuntu为例,为了您的方便,请安装Ubuntu20.04-server以上的版本,以防安装过程中出现不必要的麻烦

其余说明

不同版本部分文件名称不同,配置方法可能也会有出入,如果遇到报错,请搜索报错原因加以修改。本篇文章所使用的服务器版本为Ubuntu18.04/Ubuntu20.04/Ubuntu22.04,因为都装过,本篇文章对Ubuntu20.04版本兼容性最强

本文有参考官方文档和其余已存在文档

网络配置

使用netplan配置网络(注:在Ubuntu22.04及以上版本已废除gateway4配置网关,改换成routers)

sudo vi /etc/netplan/*.yaml进入netplan的配置文件
以下为格式参考

在Ubuntu20.04中:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens5:
    dhcp4: no
    addresses: [10.12.13.188/24]
    gateway4: 10.12.13.1
    nameservers:
      addresses: [114.114.114.114, 8.8.8.8]

在Ubuntu22.04及以上版本中:

network:
  ethernets:
    eth0:
    dhcp4: false
    addresses: [10.12.13.188/24]
    optional: true
    routes:
      - to: default
        via: 10.12.13.1
    nameservers:
      addresses: [114.114.114.114, 8.8.8.8]
  version: 2

应用网络配置:
sudo netplan apply

openssh安装

建议在安装系统之时直接勾选安装openssh选项,如果忘记勾选在系统安装完毕后仍可以安装

1.查看服务器是否装openssh:
dpkg --list | grep ssh
安装openssh
sudo apt-get install ssh
2.ssh的使用:

service ssh start             启动ssh
service ssh stop              关闭ssh
service ssh restart           重启ssh

3.连接ssh:

ssh -p 22 user@host
-p:指定端口号
user:登录的用户名
host:登录的主机
执行登录ssh登录命令后,根据提示输入用户密码。默认的端口号为22,当端口号为22的时候,可以省略
ufw设置

在Ubuntu中,ufw为默认关闭
ufw使用:

sudo ufw status             检查ufw状态
sudo ufw app list           列举出系统上所有应用配置
sudo ufw allow/deny 8080    打开/关闭8080端口
sudo ufw enable/disable     启用/禁用ufw

安装环境依赖

更新apt

sudo apt-get update
sudo apt-get upgrade

安装依赖(其中包含:gcc,g++,mysql,apache2,php,python,texlive,enscript)

sudo apt install gcc g++ make zip unzip mariadb-server \
    apache2 php php-cli libapache2-mod-php php-zip \
    php-gd php-curl php-mysql php-json php-xml php-intl php-mbstring \
    acl bsdmainutils ntp phpmyadmin python-pygments \
    libcgroup-dev linuxdoc-tools linuxdoc-tools-text \
    groff texlive-latex-recommended texlive-latex-extra \
    texlive-fonts-recommended texlive-lang-european composer
sudo apt install enscript

执行过程中安装时选择 apache2,接下来执行

sudo apt install libcurl4-gnutls-dev libjsoncpp-dev libmagic-dev
sudo phpenmod json

安装curl/gnutls/magic库

安装配置DOMjudge

不要把domjudge装在home目录下面,那会发生一些莫名其妙的问题,比如我就遇见过一次比赛中clarification崩了的情况

cd /opt
sudo wget https://www.domjudge.org/releases/domjudge-8.1.3.tar.gz
tar -zxvf domjudge-8.1.3.tar.gz
cd /opt/domjudge-8.1.3/
sudo ./configure --prefix=/opt/domjudge --with-domjudge-	user=root --with-baseurl=127.0.0.1
sudo make install-domserver

配置数据库

sudo /opt/domjudge/domserver/bin/dj_setup_database -u root install

配置 Apache2

cd /opt/domjudge/domserver
sudo ln -s /opt/domjudge/domserver/etc/apache.conf 			/etc/apache2/conf-available/domjudge.conf
sudo a2enmod rewrite
sudo a2enconf domjudge
sudo systemctl reload apache2
sudo chown www-data:www-data -R webapp/var/*

查看domjudge管理员密码和评测机凭据API

sudo cat /opt/domjudge/domserver/etc/initial_admin_password.secret
sudo cat /opt/domjudge/domserver/etc/restapi.secret

配置Mysql

执行

vi /etc/mysql/conf.d/my.cnf

不同版本名字不一样一定要识别
在里面填入

[mysqld]
max_connections = 2000
max_allowed_packect = 100MB
innodb_log_file_size = 100MB

如果服务器够厉害。。。建议往大了填

如果使用的是mariadb,那么你还需要修改/ect/mysql/mariadb.conf.d/50-server.cnf中的max_allowed_packect

apache2修改

vi /etc/apache2/apache2.conf

中搜索KeepAlive,设置成Off,然后添加
搜索方式

:/+关键字
------======------------我是分割线--------------======-------------

MaxClients 2000

apache2与MySQL参数调整

根据domjudge网站上的config checker中的提示进入my.cnf和apache配置文件php.ini中修改值,直到警告消失。

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值