DOMJudge

From OO Lab
(Difference between revisions)
Jump to: navigation, search
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
DOMjudge is an automated judge system to run programming contests, like the ACM ICPC. It has a focus on usability and security, has been used in many live contests and is free, open source software.  
 
DOMjudge is an automated judge system to run programming contests, like the ACM ICPC. It has a focus on usability and security, has been used in many live contests and is free, open source software.  
 
http://www.domjudge.org/
 
http://www.domjudge.org/
 +
 +
= 轉移通知 =
 +
本頁面已經停止維護,請轉移到 [http://git.oolab.fntsr.tw/lab/Services/blob/master/DOMJudge.md GitLab 上的說明頁 ] 閱讀。
 +
  
 
== Official Documentation ==
 
== Official Documentation ==
  
 
Official documentation refer to: http://www.domjudge.org/documentation.
 
Official documentation refer to: http://www.domjudge.org/documentation.
 +
  
 
== Setup ==
 
== Setup ==
 +
 +
本系統是修改DOMJudge加入客製化功能,安裝本系統前需:
 +
* 下載並安裝[http://www.domjudge.org/releases/domjudge-3.4.0.tar.gz DOMJudge 3.4.0]
 +
* 安裝完成後,下載客製化後的版本並覆蓋。<br>客製化版本放置於ncuoolab的github,可透過git指令下載:<pre>git clone git@github.com:ncuoolab/domserver.git</pre>
  
 
此部分安裝有較詳細的指令,提供給初次安裝的人參考,詳細安裝流程請見官網document: http://www.domjudge.org/documentation
 
此部分安裝有較詳細的指令,提供給初次安裝的人參考,詳細安裝流程請見官網document: http://www.domjudge.org/documentation
Line 42: Line 51:
 
   </li>
 
   </li>
 
   <li>download domjudge
 
   <li>download domjudge
     <p>http://www.domjudge.org/docs/admin-manual-3.html(選擇domjudge-3.4.0.tar.gz 用wget)</p>
+
     <p>http://www.domjudge.org/docs/admin-manual-3.html (選擇domjudge-3.4.0.tar.gz 用wget)</p>
 
   </li>
 
   </li>
 
   <li>tar -xzvf [name]  (解壓縮)</li>
 
   <li>tar -xzvf [name]  (解壓縮)</li>
Line 50: Line 59:
 
make domserver && sudo make install-domserver
 
make domserver && sudo make install-domserver
 
make judgehost && sudo make install-judgehost   
 
make judgehost && sudo make install-judgehost   
make docs && make install-docs
+
make docs && make install-docs</pre>
    </pre>
+
 
   </li>
 
   </li>
 
   <li>cd /opt/domjudge 確認套件已安裝</li>
 
   <li>cd /opt/domjudge 確認套件已安裝</li>
Line 94: Line 102:
 
</ol>
 
</ol>
  
== About online jduge ==
+
 
 +
== Customize DOMJudge ==
 +
 
 +
=== add a new language ===
 +
 
 +
Using lex and yacc as an example.
 +
 
 +
=== places to change open/hidden test case ===
 +
 
 +
Modify domserver/www/team/submission_details.php
 +
 
 +
=== use special judge ===
 +
 
 +
The special judge feature can get worked by special run and special compare.
 +
See findbool example.
 +
 
 +
== About DOMJudge ==
  
 
http://your-domain/domjudge/jury (管理員網頁)
 
http://your-domain/domjudge/jury (管理員網頁)
  
contest 控制考試時間 及 開起哪個考試活動
+
contest         控制考試時間 及 開起哪個考試活動
 
team 設定用戶帳戶
 
team 設定用戶帳戶
problem (只能上傳.zip檔) 設定題目  
+
problem 只能上傳.zip檔 設定題目  
submit (可否上傳)
+
submit 可否上傳
judge (可否compile & execute)
+
judge 可否compile & execute

Latest revision as of 17:04, 4 February 2016

DOMjudge is an automated judge system to run programming contests, like the ACM ICPC. It has a focus on usability and security, has been used in many live contests and is free, open source software. http://www.domjudge.org/

Contents

[edit] 轉移通知

本頁面已經停止維護,請轉移到 GitLab 上的說明頁 閱讀。


[edit] Official Documentation

Official documentation refer to: http://www.domjudge.org/documentation.


[edit] Setup

本系統是修改DOMJudge加入客製化功能,安裝本系統前需:

  • 下載並安裝DOMJudge 3.4.0
  • 安裝完成後,下載客製化後的版本並覆蓋。
    客製化版本放置於ncuoolab的github,可透過git指令下載:
    git clone git@github.com:ncuoolab/domserver.git

此部分安裝有較詳細的指令,提供給初次安裝的人參考,詳細安裝流程請見官網document: http://www.domjudge.org/documentation

140.115.53.59 下載 vSphere Client

DOMJudge預設安裝目錄 /opt/domjudge/

安裝DomJudge

  1. 先在/etc/apt/sources.list加入資源包網站
    deb http://ftp.uni-sofia.bg/debian/ stable main contrib
  2. 更新apt-get source
    sudo apt-get update
    sudo apt-get upgrade 
    sudo apt-get dist-upgrade
  3. 下載安裝必須套件
    apt-get install gcc g++ make libcurl4-gnutls-dev mysql-server \
    apache2 php5 php5-cli libapache2-mod-php5 php5-mysql php5-json \
    php-geshi phpmyadmin \
    ntp sudo procps xsltproc \
    libboost-regex-dev libgmp3-dev linuxdoc-tools linuxdoc-tools-text \
    transfig groff texlive-latex-recommended texlive-latex-extra \
    texlive-fonts-recommended
  4. 如果要能跑java 則還要下載
    apt-get install make sudo php5-cli php5-mysql php5-json ntp xsltproc procps \
    gcc g++ gcj openjdk-6-jre-headless openjdk-6-jdk ghc fp-compiler
  5. download domjudge

    http://www.domjudge.org/docs/admin-manual-3.html (選擇domjudge-3.4.0.tar.gz 用wget)

  6. tar -xzvf [name] (解壓縮)
  7. 執行安裝 ./configure 最好不要指定 --prefix=你所希望的路徑 (ex: $HOME/...)
  8. 安裝domjudge一共需要裝 domserver, judgehost。docs為可選安裝。
    make domserver && sudo make install-domserver
    make judgehost && sudo make install-judgehost   
    make docs && make install-docs
  9. cd /opt/domjudge 確認套件已安裝
  10. 設定domserver (這裡skip很多 自己注意)
    1. 打開 domjudge/domserver/etc/apache.conf 做允許IP位置的修改
    2. ln -s .../domjudge/domserver/etc/apache.conf /etc/apache2/conf.d/domjudge.conf && apache2ctl graceful
  11. 設定judgehosts (這裡skip很多 自己注意)
    1. sudo useradd -d /nonexistent -g nogroup -s /bin/false domjudge-run
  12. 使改版過後的 domjudge 下載後直接覆蓋 https://github.com/ncuoolab/domserver
    此版本為NCU推甄上機考版本,主要新增了hidden & open test case與其餘客製化功能。
  13. 設定好固定ip 開起網頁測試
  14. 創造domjudge jury管理員帳戶
    htpasswd htpasswd-jury name
  15. 修改DOMJudge的登入資訊
    sudo vim /etc/apache2/conf.d/domjudge.conf
    sudo service apache2 restart
  16. 開啟Judgehost

    單核心

    /opt/domjudge/judgehost/bin/judgedaemon

    多核心

    /opt/domjudge/judgehost/bin/judgedaemon -n [core_number] (0-3)


[edit] Customize DOMJudge

[edit] add a new language

Using lex and yacc as an example.

[edit] places to change open/hidden test case

Modify domserver/www/team/submission_details.php

[edit] use special judge

The special judge feature can get worked by special run and special compare. See findbool example.

[edit] About DOMJudge

http://your-domain/domjudge/jury (管理員網頁)

contest 控制考試時間 及 開起哪個考試活動 team 設定用戶帳戶 problem 只能上傳.zip檔 設定題目 submit 可否上傳 judge 可否compile & execute

Personal tools