Ubuntu 14.04环境下 HUSTOJ安装

2023-11-10 11:59

本文主要是介绍Ubuntu 14.04环境下 HUSTOJ安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/382542

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队