优选主流主机商
任何主机均需规范使用

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

 

未经允许不得转载:搬瓦工中文网 » Ubuntu 14.04 搭建与迁移 HUSTOJ 详细记录及操作指南