详细的搭建指导已有的资料已经很详细了,本文只列出一些需要注意的问题。
hustoj在github上的代码变动确实有些频繁,而且又没出稳定版本。所以在使用最新代码搭建出现问题的时候,可以尝试老版本。我用的是大概2015.1这个时候的代码。。
//====================//
参考链接:
很棒的教程
hustoj的wiki
如果拿到的是一台新装的主机,那么先换个快速的国内源吧。
网易源是个不错的选择
如果服务器没有外网,可以用利用ssh协议上传和下载文件。
windows下载putty,使用pscp。
接下来参考上面的教程,配置好lamp环境。
读下wiki,和里面专门针对CentOS的部分。结合教程开始安装。。
强烈建议自己修改install.sh,或者全部手动执行。
judged和judge_client的编译:
需要修改makefile文件,因为我用的是64位。所以库文件在/usr/lib64/mysql,建议用 find命令查找库文件的位置。
find / -name 文件夹名
judged的开机启动:
因为install.sh里设置开机启动的命令对ubuntu才有效。
所以需要参照install文件夹里面的readme,手动写入。
权限问题:
问题大多都出在这里,最好手动check下。建议熟悉linux用户组,文件权限,chmod,chgrp。
需要权限的地方
1)php.in里面的配置
2)web文件夹
3)/home下的judge文件夹
可能还有。。
数据库:
后台无法完成,或者很繁琐的事。可以用sql来做。
sql命令大全
一些例子
desc table; #列出表中所有属性
update problem set defunct = 'N' where defunct = 'Y';
#把所有reserved的问题改为available
熟悉linux命令更加方便
常用命令:
yum -y install package #参数-y默认yes,不用手动确认了
service httpd start/restart/stop #服务管理
pgrep judged #显示名称满足正则表达式的进程的pid
kill -9 4447 #杀死pid为4447的进程
find / -name mysql #在根目录在找名为mysql的文件或文件夹
shutdown -r now #立即重启
rm -rf dir #删除文件夹,不询问