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

相关文章

通过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 环境要求 三、安装延时队

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配