ubuntu 16.04安装HUSTOJ过程
一、背景介绍:
因为工作需要,想在学校搭建一个OJ平台用于程序测试与评价。于是需要搭建oJ,由于之前都是在云端服务器搭建系统,没有在实际服务器平台搭建过,所以遇到不少坑,都靠自己来填补。故而写下此教程,以求抛砖引玉。
服务器最好能够采用比较正规的服务器,读写和访问速度会优化很多,由于诸多特殊原因,我本次采用的是普通的主机作为服务器。
二、安装过程:
1、下载与安装系统
我选用的系统为ubuntu 16.04,系统的镜像选择非常重要。因为内置的软件和安装源有不同,起初我选用优麒麟(因为想用中文纯傻瓜,后面发现ubuntu可以设置中文)。
https://opsx.alibaba.com/mirror?lang=zh-cn
根据自己的需要选择64位或者32位版本
https://mirrors.aliyun.com/ubuntu-releases/xenial/ubuntu-16.04.4-desktop-amd64.iso
https://mirrors.aliyun.com/ubuntu-releases/xenial/ubuntu-16.04.4-desktop-i386.iso
安装教程,参照百度教程,注意区分UEFI和传统BIOS,还有与windows系统共存的问题。
2、安装SSH和VNC
为了方便控制,我们自然要安装这些。vnc是图形界面,ssh则是远程命令行
Ubuntu 16.04 LTS 一键安装VNC:https://blog.csdn.net/longhr/article/details/51657610
ssh安装:https://blog.csdn.net/u010447234/article/details/53557795
windwos下远程工具参考:http://server.zzidc.com/fwqrj/1107.html
比较喜欢putty和MobaXterm
3、安装hustoj
https://github.com/zhblue/hustoj
参考官方教程:
或者安装ubuntu16.04(拥有更新的编译器版本),然后用下面脚本快速安装OJ:
wget https://raw.githubusercontent.com/zhblue/hustoj/master/trunk/install/install-ubuntu16+.sh
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';
参考:https://www.cnblogs.com/weifeng1463/p/7941625.html
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远程。
(参考博客:https://yq.aliyun.com/ziliao/5462)
----------补充mysql操作-------------------------------
启动mysql数据库
sudo /etc/init.d/mysql start
重启
sudo /etc/init.d/mysql restart
关闭
sudo /etc/init.d/mysql
参考:https://blog.csdn.net/gjkun0202/article/details/70757921
搭建FTP服务器
Ubuntu16.04系统中配置FTP
https://blog.csdn.net/timothy93bp/article/details/77527531
匿名FTP更适合
https://www.cnblogs.com/jiqing9006/p/8955559.html
FTP还可以更加强大的配置,虚拟本地等等都有
https://blog.csdn.net/xlgen157387/article/details/40117261
默认系统自带的vi编辑器非常难用,我们一般会进行升级为vim
解决ubantu中初始不能正常使用vi方案(退格键/方向键错乱问题):https://blog.csdn.net/linux12121/article/details/80785549
需要的大部分知识都放上来了,真心不容易
20180719 更新,判题机的IP显示问题
编辑 vim /home/judge/etc/judge.conf
修改 OJ_HTTP_USERNAME=IP
修改IP改为admin或者local,重新提交代码状态会改变的
ubuntu 16.04安装HUSTOJ过程的更多相关文章
- Ubuntu 16.04 安装 VMware Tools(解决windows和Ubuntu之间不能互相复制粘贴文件的问题)
Ubuntu 16.04安装虚拟工具VMware Tools,指的是在虚拟机VMWare安装Ubuntu 16.04后再安装VMware Tools的过程.很多人接触Linux都是从虚拟机开始,而安装 ...
- Ubuntu 16.04 安装Mysql数据库
系统环境 Ubuntu 16.04; 安装步骤 1.通过以下环境安装mysql服务端与客户端软件 sudo apt-get install mysql-server apt-get isntall m ...
- ubuntu 16.04 安装pycharm
Ubuntu16.04下安装Cuda8.0+Caffe+TensorFlow-gpu+Pycharm过程(Simple) ubuntu 16.04 安装pycharm 1.安装java jdk 直接 ...
- Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)
Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...
- Ubuntu 16.04 安装 Wireshark分析tcpdump的pcap包——sudo apt install wireshark-qt
tcpdump 的抓包保存到文件的命令参数是-w xxx.cap 抓eth1的包 tcpdump -i eth1 -w /tmp/xxx.cap 抓 192.168.1.123的包 tc ...
- 【科研民工笔记2】Ubuntu 16.04 安装nvidia驱动
我的主机是2060的显卡,用的是安装在U盘中的Ubuntu,开机进入后,因为没有安装驱动,所以界面看以来比较大. 通过手动方式,成功安装驱动,最终成功的方案使用的是run文件安装的方式. 1.手动下载 ...
- Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2
Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2:sudo add-apt-repository ppa:team-xbmc/xbmc-nightlysudo ap ...
- Ubuntu 16.04安装QQ国际版图文详细教程
因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
随机推荐
- mysql日期和JDBC查询出来的结果相差8小时
数据库时间:2017-11-08 16:30:00 查询出来: 2017-11-09 00:30:00 问题:数据库时区,和JDBC连接时区设置问题. set global time_zone = ' ...
- 20145211黄志远《网络对抗》Exp9 Web安全基础实践
20145211黄志远<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是利用输入的机会构造自己期望的请求,比如破坏掉用户名或者密码验 ...
- 一个好玩的CTF题
一个CTF的题目,拿来学习学习 玩了好久,再加上学校一堆破事,最近又开始瞎弄了,找了几个CTF的题目,和别人写的一些内容,也当是学习,也当是看完之后的小结.顺便也说一下如果自己拿到这题目会从哪做起. ...
- Linux硬盘扩容(非LVM)
环境说明: 虚拟机:Centos6 [root@elements ~]# cat /etc/redhat-release CentOS release 6.10 (Final) [root@eleme ...
- hdu_2048 错排问题
错排问题本质上就是一个动态规划问题,其状态转移方程为: 记d[n]为n个人错排情况的总数. 那么策略可以描述为:分析第n个人错排的可能情况: 1)前n-1个人满足错排的情况,那么第n个人加入后还要错排 ...
- UVa 10375 选择与除法(唯一分解定理)
https://vjudge.net/problem/UVA-10375 题意: 输入整数p,q,r,s,计算C(p,q)/C(r,s). 思路: 先打个素数表,然后用一个数组e来保存每个素数所对应的 ...
- UVa 10491 奶牛和轿车(全概率公式)
https://vjudge.net/problem/UVA-10491 题意: 假设有a头牛,b辆车,在最终选择前主持人会替你打开c个有牛的门,输出"总是换门"的策略下,赢得车的 ...
- 下载百度网盘破解 获得 所下载视频URL 粘贴到thunder
Chrome:方法1. 进入谷歌商城,搜索baidudl.安装即可. 方法2. 下载baidudl.zip.解压获得baidudl文件夹.进入chrome://extensions/,勾选右上角Dev ...
- append 注意事项
>>> t1 = [, ] >>> t2 = t1.append() >>> t1 [, , ] >>> t2 None
- 单例模式(Singleton-Pattern)百媚生
1 动机 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号 ...