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