前期准備:
x64 ubuntu 鏡像、vmware、ss賬號
注意一定要有64位鏡像!
ss不是必須的,不過沒有的話就等着下載一晚上吧...
首先先裝好ubuntu,我裝的是ubuntu-16.04-desktop-amd64.iso。
然后先換個軟件源
裝docker
然后主機打開ss,注意勾選允許局域網連接。
然后看一下主機ip
把uoj的包下下來(https://github.com/vfleaking/uoj)
設置docker的代理:https://docs.docker.com/engine/admin/systemd/#http-proxy
掛完代理就慢慢等吧...
第一步下好了之后,我們還需要下載兩個jdk包放進去。
如果不用評測java就直接按錯誤信息扔兩個空文件就行。
然后就開始安裝了,出現了各種各樣奇怪的信息...
之類的
終於出現了這一行字
那么<image-id>在我這里就是66e27a0dd05a。
然后啟動就直接輸進去就行了:
(記得sudo)
我們在虛擬機里編輯一下/etc/hosts:
在虛擬機里打開127.0.0.1:
然后我們配置一下端口映射:
vmware里編輯->虛擬網絡編輯器
(上面這張圖僅供示意,主機端口最好直接填80,另外還要轉發3960)
虛擬機IP地址就是虛擬機的IP,ifconfig一下就可以找到,以子網IP開頭的那個就是,要轉發3690和80端口(后面發現的,svn傳題要用)
那么局域網要訪問的話,訪問的人也要改hosts,把local_uoj.ac定向到實機ip(不是虛擬機)就可以了。
然后加超級管理員:
首先在docker那個窗里打開mysql:
mysql app_uoj233 -u root -p
默認密碼是root。
超管就加好了。
然后傳題需要裝tortoisesvn,然后比如題目,新建題目之后點管理,就可以改題面了。傳數據首先先要在管理者里面加上自己,然后數據頁面有一個svn地址:
那么你就svn checkout一下這個地址(在文件管理器空白處右鍵),輸入你的用戶名和密碼。這個密碼每個用戶是一樣的(隨機的),在數據庫里的svn_password一列,上面那個圖的svn密碼就是ro2sRkzO97。
然后建一個叫1的文件夾,接下來的操作參考:https://vfleaking.github.io/uoj/problem/ 里“題目配置格式”。
如果沒有鍋就點
檢查一下標程和validator掛了沒,如果沒事就可以公開題目了。
創建比賽挺簡單的。需要注意的是,超級管理員和比賽管理員不能參加比賽(實測),所以管理員如果想做比賽賽前可能要人工取消一下。
如果想改源碼的話...看這里:https://vfleaking.github.io/uoj/dev/
最后更詳細的文檔可以戳:https://vfleaking.github.io/uoj/(如果虛擬機突然狗帶了docker退出了這里也有解決辦法)
Universal OJ開源群:590822951



















