Ubuntu 14.04环境下 HUSTOJ安装

——湖南中医药大学 熊世唯

零、 前言

本人是ACM菜鸡一枚,退役之前想为学校的ACM做出一些微薄的贡献,既然不能拿奖,便想到了为学校搭建属于我们自己的OJ。众多OJ中开源的OJ并不多,无意中接触到HUSTOJ,但是很无奈没有基础,最后进入HUSTO官方群进行学习。此安装教程,是来自本人对群文件中的安装教程的大部分借鉴以及一点点修改。在此非常感谢浙江传媒大学张浩斌老师长期以来对HUSTOJ的维护,以及众多群大佬在我学习过程中对我的帮助。谢谢各位!

一、 硬件需求

一台Ubuntu 14.04的电脑,虚拟机亦可(OJ安装的电脑);
一台Windows电脑(自己用的电脑,安装时使用,可要可不要);
网络。

二、 软件需求

Apache2、MySQL、PHP5

三、 搞事前准备

1,更换第三方源。国内的第三方软件源一般比官方的源快,所以在安装之前一般会将本机的软件源换掉,本人推荐阿里云的软件源。如果您没有需求,或者已经更换则可以忽略此条。更换教程在本人博客http://blog.csdn.net/qq_33472557/article/details/77389192
2,安装sshserver。ssh可以让你在其他电脑上通过xshell 或者 putty 来操作Linux主机(此教程大部分操作都在本人的Windows电脑上执行的)。如果您直接使用Ubuntu主机的终端,或者已经安装,则可以忽略此条。终端输入sudo apt-get install openssh-server 即可安装。

四、 开始搞事

1, 安装Apache2

•命令:sudo apt-get install apache2

•安装后访问主机的ip

•如果看到类似下图的页面则表示Apache2安装成功。

2, 安装MySQL

•命令:sudo apt-get install mysql-server mysql-client

•安装时会要求输入root 用户的密码

•输入指令 :mysq –u root –p 即可进入mysql管理界面

•输入指令: exit 即可返回终端

•为了避免中文引起的乱码,我们将mysql的字符集更改为utf-8。修改 /etc/mysql/my.cnf 文件 在相应的地方添加代码

[client]
default-character-set=utf8 [mysql]
default-character-set=utf8 [mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

•更改完以后记得重启mysql服务

sudo /etc/init.d/mysql restart

•在mysql管理界面使用mysql命令 show variables like 'char%'; 即可查看字符集

这样就成功了

3, 安装PHP5以及Apache的PHP5模块

•命令:sudo apt-get install php5 libapache2-mod-php5

•安装完成之后重启Apache2服务

sudo /etc/init.d/apache2 restart

•在 /var/www/html/ 目录下新建 info.php 文件

内容如下:

在浏览器中访问 192.168.1.105/info.php(即ip/info.php),看到类似如下的网页即表示安装成功

4, 安装PHP5的MySQL模块以及其他必须模块
sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

•重启Apache2服务

sudo /etc/init.d/apache2 restart

•在浏览器中刷新 http://192.168.1.105/info.php页面,Ctrl+f mysql 发现 MySQL模块已经安装

•测试php与mysql之间是否能正常连接,在 /var/www/html/目录下新建 mysqlconnect.php 文件

测试php连接MySQL,文件内容如下:(123456为mysql root账号的密码)

•打开 192.168.1.105/mysqlconnect.php 页面如下则表示链接成功。

如果出现这种乱码的情况

此时我们修改Apache2的配置文件

sudo nano /etc/apache2/apache2.conf


在最后面加上: AddDefaultCharset UTF-8

重启Apache2服务:

sudo /etc/init.d/apache2 restart


再刷新页面查看

中文乱码没有了。

5,安装git,以及其他编程语言的编译器

•安装git sudo apt-get install git

•hustoj默认只能判c和c++的题目,所以我们需要安装其他语言的编译器

fpc为Pascal的编译器 jdk则是java的编译器

6, 利用git 获得GitHub上hustoj的源代码
cd
git clone https://github.com/zhblue/hustoj.git

7, 运行安装脚本
cd hustoj/trunk/install
sudo bash install-interactive.sh


输入mysql账号密码。

8,修改文件中的数据库用户名和密码

•修改install.sh

sudo nano ~/hustoj/trunk/install/install.sh

•修改judge.conf

sudo nano ~/hustoj/trunk/install/judge.conf

9,运行 install.sh
sudo ~/hustoj/trunk/install/install.sh

10, 后续操作

•重启Apache2

sudo /etc/init.d/apache2 restart

•运行判题机

sudo judged

•设置管理员
访问http://192.168.1.105/JudgeOnline,
注册一个帐号,我用的是 finder
执行以下sql语句设置管理员

insert into privilege(user_id, rightstr) values('finder', 'administrator') ;

•个性化oj
/var/www/html/JudgeOnline/include/db_info.inc.php中有很多oj的参数,可以按照自己的需求更改。

Ubuntu 14.04环境下 HUSTOJ安装相关推荐

  1. Caffe在Ubuntu 14.04 64bit 下的安装------pycaffe 配置

    这里我主要参考 pycaffe 的 安装配置 http://www.linuxidc.com/Linux/2015-07/120449.htm 最近因为各种原因,装过不少次Caffe,安装过程很多坑, ...

  2. 在ubuntu 14.04 64bit下配置安装PyQt4(python2.7和python3.4)

    缘起 现在很多小伙伴儿都从Ubuntu转到Deepin下面去了, Deepin这几年出了一些很不错的软件,比如深度截图, 深度影音, 深度音乐等等, Deepin基于Ubuntu开发, 它的软件大量使 ...

  3. 在Ubuntu 14.04 64bit下编译安装rtmpdump并调试输出

    2011年那会儿就开始研究rtmp, 但是后来很快又换了公司转作Android移动浏览器项目,就一直没有机会 继续进行下去.现在因为工作需要,我又重新捡使起来, 继续进行中断了几年的工作.下面记录下我 ...

  4. ubuntu 14.04 环境下打开xls、pdf与png文件

    xls文件: xdg-open xxx.xls pdf文件: evince xxx.pdf png文件: eog xxx.png

  5. linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程

    protobuf简单介绍 protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法. p ...

  6. Ubuntu 22.04环境下安装lxr源码阅读器详细过程

    Ubuntu 22.04环境下安装lxr源码阅读器详细过程 一.lxr介绍 二.依赖关系 三.安装过程 1.下载源码 2.执行检查 3.安装依赖 4.安装数据库和服务器 四.配置过程 1.主配置 2. ...

  7. yasm linux gcc,Ubuntu 14.04 LTS下使用arm-linux-gcc交叉编译OpenCV 2.4.9

    Ubuntu 14.04 LTS下使用arm-linux-gcc交叉编译OpenCV 2.4.9 当前两个手头有两个项目都是都需要在ARM板中使用OpenCV,所以交叉编译必不可少.两三天里一直查阅各 ...

  8. 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1

    目录 一 安装前的准备 二 编译并安装OpenCV 4.1.1 注:原创不易,转载请务必注明原作者和出处,感谢支持! OpenCV目前(2019-8-1)的最新版本为4.1.1.本文将介绍如何在Ubu ...

  9. 如何在ubuntu 14.04系统下开启nfs网络文件系统

    之前安装过ubuntu 11.04和ubuntu 12.04的系统时,分别研究过如何开启NFS网络文件系统.今天将系统更新到了ubuntu 14.04,发现之前的办法都不行了,有些步骤得更新一下,于是 ...

  10. Ubuntu 14.04 LTS 下升级 gcc 到 gcc-4.9、gcc-5 版本

    转载: http://www.cnblogs.com/BlackStorm/p/5183490.html Ubuntu 14.04 LTS 下升级 gcc 到 gcc-4.9.gcc-5 版本 如果没 ...

最新文章

  1. R语言all函数、any函数判断逻辑向量(logical vector)实战
  2. 独家 | 构建端到端数据科学项目,从我的Data Scientist Ideal Profiles项目中学习(附链接)...
  3. Java键盘字符乱码判断代码
  4. mysql 5.0 5.1_mysql从5.0升级到5.1
  5. Java黑皮书课后题第5章:**5.22(金融应用:显示分期还贷时间表)对于给定的贷款额,月支付额包括偿还本金及利息。编写一个程序,让用户输入贷款总额年限利率,然后显示分期还贷时间表
  6. 基于EasyNVR二次开发实现业务需求:直接集成EasyNVR播放页面到自身项目
  7. 双谷人才财务管理(序)
  8. 150家通用经销商决定退出凯迪拉克品牌 因不愿投资于销售电动车
  9. 2013总结和2014展望
  10. linux 内核参数优化 mysql_Linux记录-mysql参数优化
  11. Android零基础入门第42节:自定义BaseAdapter
  12. Mac os 进行Android开发笔记(2)
  13. dlna 斐讯r1怎么用_挽救智障——斐讯R1:固件升级、安装DLNA和Soundwire
  14. ​十大骨传导耳机品牌,骨传导耳机推荐跑步用
  15. HTML日期时间插件
  16. CSS颜色和背景详解- 背景颜色 - 背景图片 - (color background-color background-image...)
  17. HTG评论:Diamond WR300N无线中继器
  18. 非标自动化设备设计制造的13个步骤 || 技巧总结
  19. 「TJOI 2018」碱基序列
  20. Android实现VR图片、视频小程序

热门文章

  1. C语言----基于旋转编码器按键的菜单结构
  2. c语言网上计算机考试成绩查询系统,全国计算机考试
  3. 面向对象——浓缩的哲学1
  4. mysql like 结果集_语句select * from products where prod_name like '%se%'结果集包括( )_学小易找答案...
  5. Java基础课的中下基础课03
  6. J4JLogger:提供源代码信息的Serilog包装器
  7. Java 获取 jar包所在目录
  8. docker学习笔记之一 docker的安装 docker for window docker for mac 和 docker toolbox
  9. linux读取 第一个分区 命令,Linux 通过 UUID 和 /etc/fstab 实现分区自动挂载
  10. MySQL数据库导入报错 Unknown collation: utf8mb4_unicode_520_ci 的解决办法