因為工作需要,想在學校搭建乙個oj平台用於程式測試與評價。於是需要搭建oj,由於之前都是在雲端伺服器搭建系統,沒有在實際伺服器平台搭建過,所以遇到不少坑,都靠自己來填補。故而寫下此教程,以求拋磚引玉。
伺服器最好能夠採用比較正規的伺服器,讀寫和訪問速度會優化很多,由於諸多特殊原因,我本次採用的是普通的主機作為伺服器。
我選用的系統為ubuntu 16.04,系統的映象選擇非常重要。因為內建的軟體和安裝源有不同,起初我選用優麒麟(因為想用中文純傻瓜,後面發現ubuntu可以設定中文)。
根據自己的需要選擇64位或者32位版本
2、安裝ssh和vnc
為了方便控制,我們自然要安裝這些。vnc是圖形介面,ssh則是遠端命令列
ubuntu 16.04 lts 一鍵安裝vnc:
ssh安裝:
windwos下遠端工具參考:
比較喜歡putty和mobaxterm
3、安裝hustoj
或者安裝ubuntu16.04(擁有更新的編譯器版本),然後用下面指令碼快速安裝oj:
wget
sudo bash install-ubuntu16+.sh
安裝完成,用admin作為使用者名稱註冊乙個使用者,自動成為管理員。
4、二次開發與需要
mysql資料庫開啟遠端連線:
1、登陸mysql資料庫
mysql -u root -p
檢視user表
use mysql;
select host,user from user;
//預設查詢到的是root對應localhost
update user set host = '%' where user = 'root';
//開發結束後,建議修改回去
update user set host = 'localhost' where user = 'root';
參考:2、開啟mysql遠端3306埠
檢視埠,可以看到3306對應的是本地的127.0.0.1
netstat -an|grep 3306
開啟mysql配置檔案sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
將bind-address = 127.0.0.1登出
將mysql進行重啟,即可遠端訪問。
建議開發除錯結束後關閉3306遠端。
----------補充mysql操作-------------------------------
啟動mysql資料庫
sudo /etc/init.d/mysql start
重啟
sudo /etc/init.d/mysql restart
關閉
sudo /etc/init.d/mysql
參考:搭建ftp伺服器
linux下搭建ftp伺服器(ubuntu16.04)
ubuntu16.04系統中配置ftp
匿名ftp更適合
ftp還可以更加強大的配置,虛擬本地等等都有
預設系統自帶的vi編輯器非常難用,我們一般會進行公升級為vim
解決ubantu中初始不能正常使用vi方案(退格鍵/方向鍵錯亂問題):
需要的大部分知識都放上來了,真心不容易
20180719 更新,判題機的ip顯示問題
編輯 vim /home/judge/etc/judge.conf
修改oj_http_username=ip
修改ip改為admin或者local,重新提交**狀態會改變的
安裝Ubuntu16 04小結
天下午第一次安裝ubuntu,用了兩個小時的時間,感覺還是要記錄一下的,畢竟這是我第一次重灌系統。在此要感謝晗哥的u盤,裡面已經弄好了ubuntu的安裝檔案,著實省了不少事情。下面說一下小的步驟。1。插入優盤 2。開啟電腦時連續按f2,直到彈出乙個介面 3。選擇blog,然後將 1更改為usb,之後...
ubuntu16 04 主題安裝
參考之 系統更新 安裝完系統之後,更新一些補丁。ctrl alt t調出終端,執行下列 sudo apt get update sudo apt get upgrade 解除安裝libreoffice libreoffice是ubuntu自帶的開源office軟體,體驗效果不如windows上的of...
ubuntu16 04安裝搜狗
加入了個人偶然操作和理解,最後有註解。ctrl alt t開啟 新增源 兩種方式 sudo add apt repository ppa fcitx team nightly 在軟體和更新 其他軟體 新增ppa fcitx team nightly 更新系統 sudo apt get update ...