一、背景介绍:

因为工作需要,想在学校搭建一个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服务器

Linux下搭建FTP服务器(Ubuntu16.04)

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过程的更多相关文章

  1. Ubuntu 16.04 安装 VMware Tools(解决windows和Ubuntu之间不能互相复制粘贴文件的问题)

    Ubuntu 16.04安装虚拟工具VMware Tools,指的是在虚拟机VMWare安装Ubuntu 16.04后再安装VMware Tools的过程.很多人接触Linux都是从虚拟机开始,而安装 ...

  2. Ubuntu 16.04 安装Mysql数据库

    系统环境 Ubuntu 16.04; 安装步骤 1.通过以下环境安装mysql服务端与客户端软件 sudo apt-get install mysql-server apt-get isntall m ...

  3. ubuntu 16.04 安装pycharm

    Ubuntu16.04下安装Cuda8.0+Caffe+TensorFlow-gpu+Pycharm过程(Simple) ubuntu 16.04 安装pycharm 1.安装java  jdk 直接 ...

  4. Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)

    Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...

  5. 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 ...

  6. 【科研民工笔记2】Ubuntu 16.04 安装nvidia驱动

    我的主机是2060的显卡,用的是安装在U盘中的Ubuntu,开机进入后,因为没有安装驱动,所以界面看以来比较大. 通过手动方式,成功安装驱动,最终成功的方案使用的是run文件安装的方式. 1.手动下载 ...

  7. 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 ...

  8. Ubuntu 16.04安装QQ国际版图文详细教程

            因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...

  9. 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 ...

随机推荐

  1. Signing package index... Cannot open file '/home/jello/openwrt/key-build' for reading

    一.环境 发行版:Ubuntu 18.04.1 LTS 代号:bionic 内核版本:4.15.0-30-generic 二.背景 在编译Openwrt/LEDE时出现以下错误,进而自动终止了编译: ...

  2. ${user.home} is not working in jenkins windows system

    default setting create m2 in C:\Windows\system32\config\systemprofile change it to <localReposito ...

  3. ongene database

    http://ongene.bioinfo-minzhao.org/index.html

  4. Ubuntu16 nginx安装http_image_filter_module模块

    目录 配置image_filter 配置 重启nginx 如何安装呢? 安装image_filter模块依赖的库. 查看之前的配置 添加上图片模块[由于它是系统模块,不需要额外下载,直接添加就可以了] ...

  5. TensorFlow实现FM

    看了网上的一些用tf实现的FM,很多都没有考虑FM实际使用中数据样本稀疏的问题. 我在实现的时候使用 embedding_lookup_sparse来解决这个问题. 对于二阶部分,由于embeddin ...

  6. Android-----------广告图片轮播控件

    Banner广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式.动画.轮播和切换时间.位置.图片加载框架等! 很多Android APP中都有广告栏,我也用过很多次了,特来写一篇博文. 先 ...

  7. java 实现断点续传

    请求头一:>>>>>>>>>>>>>>>>>>>>>>>> ...

  8. restframework api (一)认证

    一 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度 ...

  9. C#读写配置文件Config

    应用程序配置文件是标准的XML文件,XML标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.配置文件的根节点是configuration.我们经 ...

  10. Xcode 7.0 Could not find developer disk image

    在使用Xcode 7的真机运行的时候, 出现Could not find developer disk image. 解决方法:先关闭Xcode.再从Xcode 6.4中,拷贝8.4 (12H141) ...