服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Ubuntu - 详解ubuntu14.04搭建(迁移)hustoj记录

详解ubuntu14.04搭建(迁移)hustoj记录

2022-03-06 21:58流年ban夏 Ubuntu

这篇文章主要介绍了详解ubuntu14.04搭建(迁移)hustoj记录,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

进入系统之后更新系统,个人比较喜欢vim编辑器,所以首先下载vim编辑器。

?
1
2
3
sudo apt-get update
sudo apt-get install vim #编辑器 看个人喜好
sudo apt-get install openssh-server #远程连接工具

更改国内下载源:

?
1
2
3
4
5
6
7
8
9
10
11
######阿里云源:
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
?
1
2
3
4
5
6
7
8
9
10
11
######中科大源:
deb http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
?
1
2
3
4
5
6
7
8
9
10
11
######清华源:
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse

修改下载源:

?
1
2
3
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份
sudo vim /etc/apt/sources.list #修改
sudo apt-get update #更新列表

由于安装的桌面版本的ubuntu14.04,这里卸载掉几乎不用的软件:

?
1
2
3
4
sudo apt-get remove --purge libreoffice*
sudo apt-get remove unity-webapps-common
sudo apt-get remove thunderbird totem rhythmbox empathy brasero simple-scan gnome-mahjongg aisleriot gnome-mines cheese transmission-common gnome-orca webbrowser-app gnome-sudoku landscape-client-ui-install
sudo apt-get remove onboard deja-dup

这样系统就比较干净了。

安装脚本(由于我这是将原有的项目移植并采用nginx环境,脚本根据张浩斌老师的脚本改编):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#将原有的项目都打包到judge.tar文件里面
#judge下面有:data etc JudgeOnline log run0 run1 run2 run3
#!/bin/bash
DBUSER=root
DBPASS=root
printf "Input Database(MySQL) Username:"
read tmp
if test -n "$tmp"
then
  DBUSER="$tmp"
fi
printf "Input Database(MySQL) Password:"
read tmp
if test -n "$tmp"
then
  DBPASS="$tmp"
fi
#解压文件
tar -xvf judge.tar
#更新源
sudo apt-get install update
#编译环境
sudo apt-get install mono-mcs subversion
sudo apt-get install make flex g++ clang libmysqlclient-dev libmysql++-dev
#java等其他编译环境下载
sudo apt-get install ruby2.0 -y
sudo apt-get install fpc -y
sudo apt-get install openjdk-7-jdk -y
sudo apt-get install perl -y
sudo apt-get install mono-gmcs -y
#LNMP环境
sudo apt-get install nginx mysql-server php5-fpm php5-mysql php5-gd php-xml-* php-cli php-mbstring redis-server php-redis
sudo mkdir /JudgeOnline
sudo cp -r ./judge/JudgeOnline/* /JudgeOnline
sudo chown -R www-data /JudgeOnline
sudo chmod -R 711 /JudgeOnline
sudo mysql -h localhost -u$DBUSER -p$DBPASS < ./jol.sql
#重启nginx
sudo service php5-fpm restart
 
sudo service nginx restart
#取出judged源文件编译安装
sudo svn checkout https://github.com/zhblue/hustoj/trunk/trunk hustoj-read-only
cd hustoj-read-only/core/
sudo ./make.sh
cd ../..
#创建judge用户以及根目录
sudo /usr/sbin/useradd -m -u 1536 judge
#拷贝文件到judge家目录下 这个根据自己情况
sudo cp -r ./hustoj /home/judge
#更改文件夹权限
sudo chown -R www-data /home/judge
sudo chown -R root /home/judge/log /home/judge/etc /home/judge/run?
sudo chmod 711 /home/judge /home/judge/data
sudo chgrp judge /home/judge/run?
sudo chmod 771 /home/judge/run?
sudo chmod -R 000 /home/judge/etc

然后修改 /etc/nginx/sites-available/default 文件。

?
1
sudo vim /etc/nginx/sites-available/default

将原有的server模块修改如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server{
 
  listen 80 ;
  listen [::]:80 ipv6only=on;
 
  root /JudgeOnline;
  index index.php index.html index.htm;
 
  server_name localhost;
 
  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;
 
  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

 重启nginx:

?
1
sudo service nginx restart

登录hustoj后台进行数据库更新。然后做个题试试,如若没有问题就大功告成了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/Wangdada111/article/details/75267265

延伸 · 阅读

精彩推荐
  • Ubuntuubuntu系统中/etc/rc.local和/etc/init.d/rc.local的区别详解

    ubuntu系统中/etc/rc.local和/etc/init.d/rc.local的区别详解

    这篇文章主要给大家介绍了关于在ubuntu系统下/etc/rc.local和/etc/init.d/rc.local区别的相关资料,文中通过示例代码介绍的非常详细,对需要的朋友们具有一定的...

    普朗克常量8102022-02-12
  • UbuntuUbuntu实现FTP功能

    Ubuntu实现FTP功能

    ftp的软件有好多种:google一下:各种的一些大致特点: wu-ftp:比较老牌,但针对它的攻击比较多,设置比较麻烦,但功能比较强大。 proftpd:能实现wu-ftp以...

    Ubuntu教程网3582019-12-01
  • Ubuntuubuntu下mysql的常用命令

    ubuntu下mysql的常用命令

    ubuntu下mysql的常用命令,MySQL数据库的基本操作命令...

    ubuntu之家2402019-06-05
  • Ubuntu在Ubuntu上使用Gnome DO和Awesome

    在Ubuntu上使用Gnome DO和Awesome

    这篇文章主要介绍了在Ubuntu上使用Gnome DO和Awesome,这两个工具不仅可以提高图形化界面下的操作效率,也可以起到美化桌面的效果,需要的朋友可以参考下...

    服务器之家3012019-07-08
  • Ubuntu在Ubuntu上安装消息传递接口Open MPI库的教程

    在Ubuntu上安装消息传递接口Open MPI库的教程

    这篇文章主要介绍了在Ubuntu上安装消息传递接口Open MPI库的教程,Open MPI在C++程序相关开发中经常可以用到,需要的朋友可以参考下...

    普兒4862019-06-03
  • Ubuntu在Ubuntu桌面中使用文件和文件夹

    在Ubuntu桌面中使用文件和文件夹

    此初学者教程讨论了在 Ubuntu 桌面上添加文件和文件夹时可能遇到的一些困难。 ...

    Linux中国6022020-05-10
  • Ubuntu将Ubuntu服务器升级至14.04LTS版本的方法

    将Ubuntu服务器升级至14.04LTS版本的方法

    这篇文章主要介绍了将Ubuntu服务器升级至14.04LTS版本的方法,LTS版本为Ubuntu最新的一个长期维护版本,需要的朋友可以参考下 ...

    Ubuntu教程网6062019-10-12
  • UbuntuWSL、WSL2与Ubuntu性能大PK

    WSL、WSL2与Ubuntu性能大PK

    科技媒体 Phoronix 对 Windows 10 May 2020 中 WSL 和 WSL 2 的性能进行了测试,参与测试的发行版为 Ubuntu 20.04 on WSL/WSL2 ,以及 Ubuntu 20.04 LTS,均被安装在除 Windows 之...

    开源中国28902020-06-23