目录
HUSTOJ(2019)在线判题系统的搭建
一:配置LAMP环境
二:安装HUSTOJ
三:管理数据库:
四:配置oj
五:oj优化
六:将web文件夹内容放入文件夹 /var/www/html 中(最重要)
七:其他操作(此处无需用到)
八.博客参考
注意:此为2019年1月版本,最新版本安装以官网为准
㈠何为LAMP?
LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。
㈡如何配置LAMP环境?
⑴更新系统资源:
方式一:
sudo apt-get update # 获取最新资源包
sudo apt-get upgrade # 本机软件全部更新
sudo apt-get dist-upgrade # 本机系统软件更新
方式二:
sudo apt-get update && sudo apt-get upgrade
⑵Apache
①安装 Apache2.4:
sudo apt-get install apache2
②模块修改
apache2(默认): mpm_event
php(默认): mpm_prefork
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
③重启apache
sudo service apache2 restart
④现在开始访问你的 web 服务器,打开浏览器并输入http://localhost
出现此页面表示成功
⑶Mysql 5.7
wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server-5.7
⑷PHP7.0
①首先查看下当前源中是否含有php7.0
sudo apt-cache search php7.0
②如果没有,则添加源,并更新,然后安装
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
③如果有则直接安装
sudo apt-get install php7.0
⑸整合LAMP
①整合PHP和mysql
sudo apt-get install php7.0-mysql
②整合php和Apache
sudo apt-get install libapache2-mod-php7.0
sudo service apache2 restart
⑹验证环境
①Apache默认的网站根目录位于 /var/www/html/ ,进入这个目录,并创建 info.php
②在浏览器中输入 http://localhost/info.php
若出现此界面则LAMP环境配置成功
⑴根据系统版本选择安装
①Ubuntu14.04:
wget https://raw.githubusercontent.com/zhblue/hustoj/master/trunk/install/install-ubuntu14.04.sh
sudo bash install-ubuntu14.04.sh
②Ubuntu16.04
wget https://raw.githubusercontent.com/zhblue/hustoj/master/trunk/install/install-ubuntu16+.sh
sudo bash install-ubuntu16+.sh
⑴进入数据库
mysql -u root -p
⑵数据库操作:
show databases; --查看数据库
use jol; --进入jol数据库
insert into privilege(user_id,rightstr)
values('123456','administrator');--创建管理员账号1233456
⑴ /home/judge/src/web/include 目录下的db_info.inc.php文件
21||isset($_GET['dark'])) $OJ_CSS="dark.css";
if( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) && strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'],"zh-CN")) {
$OJ_LANG="cn";
}
if (isset($_SESSION[$OJ_NAME.'_'.'OJ_LANG'])) $OJ_LANG=$_SESSION[$OJ_NAME.'_'.'OJ_LANG'];
require_once(dirname(__FILE__)."/pdo.php");
// use db
//pdo_query("set names utf8");
if(isset($OJ_CSRF)&&$OJ_CSRF&&$OJ_TEMPLATE=="bs3"&&basename($_SERVER['PHP_SELF'])!="problem_judge")
require_once('csrf_check.php');
//sychronize php and mysql server with timezone settings, dafault setting for China
//if you are not from China, comment out these two lines or modify them.
//date_default_timezone_set("PRC");
//pdo_query("SET time_zone ='+8:00'");
?>
⑵ /home/judge/etc 目录下的 judge.conf文件
OJ_HOST_NAME=127.0.0.1
OJ_USER_NAME=root
OJ_PASSWORD=root
OJ_DB_NAME=jol
OJ_PORT_NUMBER=3306
OJ_RUNNING=1
OJ_SLEEP_TIME=1
OJ_TOTAL=1
OJ_MOD=0
OJ_JAVA_TIME_BONUS=2
OJ_JAVA_MEMORY_BONUS=64
OJ_JAVA_XMS=-Xms64M
OJ_JAVA_XMX=-Xmx128M
OJ_SIM_ENABLE=0
OJ_HTTP_JUDGE=0
OJ_HTTP_BASEURL=http://127.0.0.1/JudgeOnline
OJ_HTTP_USERNAME=IP
OJ_HTTP_PASSWORD=admin
OJ_REDISENABLE=0
OJ_REDISSERVER=127.0.0.1
OJ_REDISPORT=6379
OJ_REDISAUTH=123456
OJ_REDISQNAME=hustoj
OJ_OI_MODE=1
OJ_SHM_RUN=1
OJ_USE_MAX_TIME=1
OJ_LANG_SET=0,1,2,3,4,5,6,7,8,9,10,11
OJ_COMPILE_CHROOT=1
OJ_TURBO_MODE=0
OJ_CPU_COMPENSATION=1.0
⑴修改公告
sudo chown www-data -R /home/judge/src/web
⑵去除广告
首页的广告 是在 /home/judge/src/web/template/bs3 下面的js.php,修改此文件即可
⑴将web中的文件放入apache网站显示文件夹中
mv /home/judge/src/web/ /var/www/html/
⑵重启apache2
sudo service apache2 restart
⑶在浏览器中输入 http://localhost
出现此页面那么恭喜了,你的oj已成功搭建
⑴修改apache2网站根目录
vi /etc/apache2/sites-available/000-default.conf
⑵修改apache2网站默认网页
vi /etc/apache2/mods-available/dir.conf
⑶Ubuntu16.04安装phpMyAdmin
①使用apt自动安装
sudo apt install phpmyadmin
②创建软连接到web根目录(/var/www/html/)
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
③在浏览器中输入 http://localhost/phpmyadmin
出现次页面则表示成功
https://segmentfault.com/a/1190000004687322
https://blog.csdn.net/longgeaisisi/article/details/78448525
https://blog.csdn.net/longchena/article/details/80153160
https://blog.csdn.net/gakki_wpt/article/details/81215509
https://blog.csdn.net/holly_Z_P_F/article/details/81943886
https://blog.csdn.net/nwpushuai/article/details/82564140