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的参数,可以按照自己的需求更改。

猜你喜欢

转载自blog.csdn.net/qq_33472557/article/details/77418244
今日推荐