搭建hustoj過程簡述

首先感謝阿里雲的雲翼計劃,9.9元一個月的服務器 雲翼計劃

我選擇的是32位ubuntu,看不到圖形界面會很煩,於是我安裝了一下vncserver VNC安裝說明,儘管沒有達到鏈接中圖示的效果,也勉強可以用了。

hustoj安裝步驟

1.安裝mysql
apt-get install mysql-server mysql-client

安裝的過程會有一個框,輸入sql密碼,按TAB切換到ok

2.安裝apache2
apt-get install apache2
這裏要說明一下的就是ubuntu下的apache默認網頁執行文件夾在/var/www/下面,配置文件在/etc/apache2/apache2.conf,配置文件子目錄在/etc/apache2/下
進入瀏覽器,鍵入http://localhost,出現It works!代表安裝成功
3.安裝php
apt-get install php5 libapache2-mod-php5
重啓apache,輸入/etc/init.d/apache2 restart
安裝文本編輯器gedit
apt-get install gedit

然後打開,輸入一下內容
<?php phpinfo();?>

另存爲/var/www/html/info.php

然後在瀏覽器輸入

http://localhost/info.php

出現php的一系列屬性,LAMP環境就完成了。

4.安裝hustoj

執行如下命令
    sudo apt-get update
    sudo apt-get install subversion
    sudo svn co https://github.com/zhblue/hustoj/trunk/trunk/install hustoj
    cd hustoj
    sudo bash install-interactive.sh
這個是github上最新的源,因爲google code被牆了,所以遷移到了github上。

安裝完之後只能編譯C和C++,有需要pascal和java可以執行這兩條命令

hustoj安裝完默認只能判c和c++代碼

sudo apt-get install openjdk-6-jdk

sudo apt-get install fpc 

5.運行JudgeOnline

輸入

http://localhost/JudgeOnline

或者http://127.0.0.1/JudgeOnline即可

如果出現類似這樣的問題,應該是數據庫沒連接上

Could not connect: Access denied for user 'root'@'localhost'(using password: YES)

數據庫的配置文件在var/www/html/judgeonline/include中的db_info.inc.php

使用gedit打開修改就好,db_info.inc.php的具體分析見文章最後。

6.註冊帳號測試admin功能

比如說我註冊的帳號叫 admin
第一步,終端進入 輸入sudo su 輸密碼
第二步  輸入 mysql –u root –p 回車
然後輸密碼 進入mysql
第三步 輸入 show databases;查看所有數據庫
第四步,  輸入 use jol;(hustoj用戶數據庫) 要想進去的話就輸入select * from jol;
第五步 輸入
insert into privilege(user_id,rightstr)values('admin','administrator');
如果你的帳號叫zhangkun,那麼需要更改帳號部分,如
insert into privilege(user_id,rightstr)values('zhangkun','administrator');

最後域名如果有可以是用自己的域名,我使用的是tk域名,dot.tk,將域名解析到雲服務器上就好。

歡迎測試我搭建的hustoj,雖然是老東西了,還是能用一用,有些地方還需要更改,多謝指正。點擊打開OJ

db_info.inc.php

static  $DB_HOST="localhost";  數據庫的服務器地址
static  $DB_NAME="jol";        數據庫名
static  $DB_USER="root";       數據庫用戶名
static  $DB_PASS="root";       數據庫密碼
        // connect db 
static  $OJ_NAME="HUSTOJ";      OJ的名字,將取代頁面標題等位置HUSTOJ字樣。
static  $OJ_HOME="./";          OJ的首頁地址
static  $OJ_ADMIN="root@localhost"; 管理員email
static  $OJ_DATA="/home/judge/data"; 測試數據所在目錄,實際位置。
static  $OJ_BBS="discuss";//"bbs" 論壇的形式,discuss爲自帶的簡單論壇,bbs爲外掛論壇,參考bbs.php代碼。
static  $OJ_ONLINE=false; 是否使用在線監控,需要消耗一定的內存和計算,因此如果併發大建議關閉
static  $OJ_LANG="en";  默認的語言,中文爲cn
static  $OJ_SIM=true;   是否顯示相似度檢測的結果。
static  $OJ_DICT=true;  是否啓用在線英字典
static  $OJ_LANGMASK=1008; //1mC 2mCPP 4mPascal 8mJava 16mRuby 32mBash 1008 for security reason to mask all other language 用掩碼錶示的OJ接受的提交語言,可以被比賽設定覆蓋。
static  $OJ_EDITE_AREA=true;// 是否啓用高亮語法顯示的提交界面,可以在線編程,無須IDE。
static  $OJ_AUTO_SHARE=false;//true: 自動分享代碼,啓用的話,做出一道題就可以在該題的Status中看其他人的答案。
static  $OJ_CSS="hoj.css"; 默認的css,可以選擇dark.css和gcode.css,具有有限的界面制定效果。
static  $OJ_SAE=false; //是否是在新浪的雲平臺運行web部分
static  $OJ_VCODE=true; 是否啓用圖形登錄、註冊驗證碼。
static  $OJ_APPENDCODE=false; 是否啓用自動添加代碼,啓用的話,提交時會參考$OJ_DATA對應目錄裏是否有append.c一類的文件,有的話會把其中代碼附加到對應語言的答案之後,巧妙使用可以指定main函數而要求學生編寫main部分調用的函數。
static  $OJ_MEMCACHE=false;是否使用memcache作爲頁面緩存,如果不啓用則用/cache目錄
static  $OJ_MEMSERVER="127.0.0.1"; memcached的服務器地址
static  $OJ_MEMPORT=11211;  memcached的端口



發佈了198 篇原創文章 · 獲贊 14 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章