DOMJudge
Rickychien (Talk | contribs) |
Rickychien (Talk | contribs) |
||
Line 100: | Line 100: | ||
− | == Customize | + | == Customize DOMJudge == |
=== add a new language === | === add a new language === | ||
Line 111: | Line 111: | ||
− | == About | + | == About DOMJudge == |
http://your-domain/domjudge/jury (管理員網頁) | http://your-domain/domjudge/jury (管理員網頁) |
Revision as of 14:21, 13 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/
Contents |
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
- 先在/etc/apt/sources.list加入資源包網站
deb http://ftp.uni-sofia.bg/debian/ stable main contrib
- 更新apt-get source
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
- 下載安裝必須套件
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
- 如果要能跑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
- download domjudge
http://www.domjudge.org/docs/admin-manual-3.html (選擇domjudge-3.4.0.tar.gz 用wget)
- tar -xzvf [name] (解壓縮)
- 執行安裝 ./configure 最好不要指定 --prefix=你所希望的路徑 (ex: $HOME/...)
- 安裝domjudge一共需要裝 domserver, judgehost。docs為可選安裝。
make domserver && sudo make install-domserver make judgehost && sudo make install-judgehost make docs && make install-docs
- cd /opt/domjudge 確認套件已安裝
-
設定domserver (這裡skip很多 自己注意)
- 打開 domjudge/domserver/etc/apache.conf 做允許IP位置的修改
- ln -s .../domjudge/domserver/etc/apache.conf /etc/apache2/conf.d/domjudge.conf && apache2ctl graceful
-
設定judgehosts (這裡skip很多 自己注意)
- sudo useradd -d /nonexistent -g nogroup -s /bin/false domjudge-run
-
使改版過後的 domjudge 下載後直接覆蓋 https://github.com/ncuoolab/domserver
此版本為NCU推甄上機考版本,主要新增了hidden & open test case與其餘客製化功能。 - 設定好固定ip 開起網頁測試
-
創造domjudge jury管理員帳戶
htpasswd htpasswd-jury name
-
修改DOMJudge的登入資訊
sudo vim /etc/apache2/conf.d/domjudge.conf sudo service apache2 restart
-
開啟Judgehost
單核心
/opt/domjudge/judgehost/bin/judgedaemon
多核心
/opt/domjudge/judgehost/bin/judgedaemon -n [core_number] (0-3)
Customize DOMJudge
add a new language
Using lex and yacc as an example.
Modify domserver/www/team/submission_details.php
About DOMJudge
http://your-domain/domjudge/jury (管理員網頁)
contest 控制考試時間 及 開起哪個考試活動 team 設定用戶帳戶 problem (只能上傳.zip檔) 設定題目 submit (可否上傳) judge (可否compile & execute)