关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

ubuntu14.04搭建hustoj的方法

发布时间:2021/6/1 21:39:19
香港云服务器

这篇文章将为大家详细讲解有关ubuntu14.04搭建hustoj的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

sudo apt-get updatesudo 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/bashDBUSER=root
DBPASS=rootprintf "Input Database(MySQL) Username:"read tmpif test -n "$tmp"then  DBUSER="$tmp"fiprintf "Input Database(MySQL) Password:"read tmpif 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#重启nginxsudo service php5-fpm restart 

sudo service nginx restart#取出judged源文件编译安装sudo svn checkout https://github.com/zhblue/hustoj/trunk/trunk hustoj-read-onlycd hustoj-read-only/core/
sudo ./make.shcd ../..#创建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后台进行数据库更新。然后做个题试试,如若没有问题就大功告成了。