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

 更新时间:2018年04月04日 14:08:18   作者:流年ban夏  
这篇文章主要介绍了详解ubuntu14.04搭建(迁移)hustoj记录,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

更改国内下载源:

######阿里云源:
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
######中科大源:
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
######清华源:
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

修改下载源:

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

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

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环境,脚本根据张浩斌老师的脚本改编):

#将原有的项目都打包到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 文件。

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

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

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:

sudo service nginx restart 

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

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

相关文章

  • Linux netfilter/iptables知识点详解

    Linux netfilter/iptables知识点详解

    在本篇文章里小编给大家整理的是关于Linux netfilter/iptables知识点详解,有兴趣的朋友们可以参考下。
    2020-03-03
  • CentOS下搭建Sendmail邮件服务器步骤详解

    CentOS下搭建Sendmail邮件服务器步骤详解

    本篇文章主要介绍了CentOS下搭建Sendmail邮件服务器步骤详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux cal命令的使用

    Linux cal命令的使用

    这篇文章主要介绍了Linux cal命令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 清除minerd进程的简单方法

    清除minerd进程的简单方法

    下面小编就为大家带来一篇清除minerd进程的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • CentOS 8 正式发布

    CentOS 8 正式发布

    CentOS 8 和RedHat Enterprise Linux 8发行的版本是一致的,都是基于 Fedora 28 和 内核 4.18.支持传统的、新兴的工作负载的工具,为用户提供了稳定的、安全的、一致的基础、跨混合云部署
    2019-09-09
  • linux 网络编程 socket选项的实现

    linux 网络编程 socket选项的实现

    这篇文章主要介绍了linux 网络编程 socket选项的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • CentOS搭建PHP服务器环境简明教程

    CentOS搭建PHP服务器环境简明教程

    这篇文章主要介绍了CentOS搭建PHP服务器环境的方法,简单讲述了CentOS平台安装Apache、mysql、php环境及相关测试代码,非常简单实用,需要的朋友可以参考下
    2018-03-03
  • Linux后台运行jar程序的流程步骤

    Linux后台运行jar程序的流程步骤

    在Linux系统中,有时候我们需要将Java程序以后台进程的方式运行,以便在关闭终端或退出登录时仍然保持程序的运行状态,本文将介绍如何在Linux中后台运行一个Java的jar程序,需要的朋友可以参考下
    2024-09-09
  • 详解Centos8 配置静态IP的实现

    详解Centos8 配置静态IP的实现

    这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • linux高性能测试之CPU模式批量由cpupower转performance问题

    linux高性能测试之CPU模式批量由cpupower转performance问题

    这篇文章主要介绍了linux高性能测试之CPU模式批量由cpupower转performance问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06

最新评论