详解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后台进行数据库更新。然后做个题试试,如若没有问题就大功告成了。

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

参与评论