虛擬機上裝uoj


前期准備:

x64 ubuntu 鏡像、vmware、ss賬號

注意一定要有64位鏡像!

ss不是必須的,不過沒有的話就等着下載一晚上吧...

首先先裝好ubuntu,我裝的是ubuntu-16.04-desktop-amd64.iso。

image

然后先換個軟件源

image

裝docker

image

然后主機打開ss,注意勾選允許局域網連接。

image

然后看一下主機ip

image

把uoj的包下下來(https://github.com/vfleaking/uoj

設置docker的代理:https://docs.docker.com/engine/admin/systemd/#http-proxy

image

掛完代理就慢慢等吧...

image

第一步下好了之后,我們還需要下載兩個jdk包放進去。

如果不用評測java就直接按錯誤信息扔兩個空文件就行。

然后就開始安裝了,出現了各種各樣奇怪的信息...

image

之類的

終於出現了這一行字

image

那么<image-id>在我這里就是66e27a0dd05a。

然后啟動就直接輸進去就行了:

image

(記得sudo)

image

我們在虛擬機里編輯一下/etc/hosts:

image

在虛擬機里打開127.0.0.1:

image

然后我們配置一下端口映射:

vmware里編輯->虛擬網絡編輯器

image

(上面這張圖僅供示意,主機端口最好直接填80,另外還要轉發3960)

虛擬機IP地址就是虛擬機的IP,ifconfig一下就可以找到,以子網IP開頭的那個就是,要轉發3690和80端口(后面發現的,svn傳題要用)

那么局域網要訪問的話,訪問的人也要改hosts,把local_uoj.ac定向到實機ip(不是虛擬機)就可以了。

然后加超級管理員:

首先在docker那個窗里打開mysql:

mysql app_uoj233 -u root -p

默認密碼是root。

image

image

image

image

image

image

超管就加好了。

image

然后傳題需要裝tortoisesvn,然后比如題目,新建題目之后點管理,就可以改題面了。傳數據首先先要在管理者里面加上自己,然后數據頁面有一個svn地址:

image

那么你就svn checkout一下這個地址(在文件管理器空白處右鍵),輸入你的用戶名和密碼。這個密碼每個用戶是一樣的(隨機的),在數據庫里的svn_password一列,上面那個圖的svn密碼就是ro2sRkzO97。

然后建一個叫1的文件夾,接下來的操作參考:https://vfleaking.github.io/uoj/problem/ 里“題目配置格式”。

然后右鍵svn commit,記得全選更改,然后點image

如果沒有鍋就點image檢查一下標程和validator掛了沒,如果沒事就可以公開題目了。

創建比賽挺簡單的。需要注意的是,超級管理員和比賽管理員不能參加比賽(實測),所以管理員如果想做比賽賽前可能要人工取消一下。

如果想改源碼的話...看這里:https://vfleaking.github.io/uoj/dev/

最后更詳細的文檔可以戳:https://vfleaking.github.io/uoj/(如果虛擬機突然狗帶了docker退出了這里也有解決辦法)

Universal OJ開源群:590822951


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM