DOMJudge

From OO Lab
(Difference between revisions)
Jump to: navigation, search
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/
 +
  
 
== Official Documentation ==
 
== Official Documentation ==
  
 
Official documentation refer to: http://www.domjudge.org/documentation.
 
Official documentation refer to: http://www.domjudge.org/documentation.
 +
  
 
== Setup ==
 
== Setup ==
Line 96: Line 98:
 
   </li>
 
   </li>
 
</ol>
 
</ol>
 +
  
 
== About online jduge ==
 
== About online jduge ==

Revision as of 15:43, 10 July 2014

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/


Official Documentation

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


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)


About online jduge

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

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

Personal tools