博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
freefcw/hustoj Install Guide
阅读量:5117 次
发布时间:2019-06-13

本文共 12674 字,大约阅读时间需要 42 分钟。

First of all, this version hustoj is a skin and improved for . So the you can migrate the old version web to this version without any big chance.

This guide is not a deep tutorial for beginner, the base step for os and backend you should reference the old version of hustoj.

MySQL

  1. run the origin hustoj db script
  2. run the db alter script
set names utf8; create database judge;use judge;CREATE TABLE  `compileinfo` (  `solution_id` int(11) NOT NULL DEFAULT '0',  `error` text,  PRIMARY KEY (`solution_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE  `contest` (  `contest_id` int(11) NOT NULL AUTO_INCREMENT,  `title` varchar(255) DEFAULT NULL,  `start_time` datetime DEFAULT NULL,  `end_time` datetime DEFAULT NULL,  `defunct` char(1) NOT NULL DEFAULT 'N',  `description` text,  `private` tinyint(4) NOT NULL DEFAULT '0',  `langmask` int NOT NULL DEFAULT '0' COMMENT 'bits for LANG to mask',  PRIMARY KEY (`contest_id`)) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;CREATE TABLE  `contest_problem` (  `problem_id` int(11) NOT NULL DEFAULT '0',  `contest_id` int(11) DEFAULT NULL,  `title` char(200) NOT NULL DEFAULT '',  `num` int(11) NOT NULL DEFAULT '0') ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE `loginlog` (  `user_id` varchar(48) NOT NULL DEFAULT '',  `password` varchar(40) DEFAULT NULL,  `ip` varchar(100) DEFAULT NULL,  `time` datetime DEFAULT NULL,  KEY `user_log_index` (`user_id`,`time`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE  `mail` (  `mail_id` int(11) NOT NULL AUTO_INCREMENT,  `to_user` varchar(48) NOT NULL DEFAULT '',  `from_user` varchar(48) NOT NULL DEFAULT '',  `title` varchar(200) NOT NULL DEFAULT '',  `content` text,  `new_mail` tinyint(1) NOT NULL DEFAULT '1',  `reply` tinyint(4) DEFAULT '0',  `in_date` datetime DEFAULT NULL,  `defunct` char(1) NOT NULL DEFAULT 'N',  PRIMARY KEY (`mail_id`),  KEY `uid` (`to_user`)) ENGINE=MyISAM AUTO_INCREMENT=1013 DEFAULT CHARSET=utf8;CREATE TABLE  `news` (  `news_id` int(11) NOT NULL AUTO_INCREMENT,  `user_id` varchar(48) NOT NULL DEFAULT '',  `title` varchar(200) NOT NULL DEFAULT '',  `content` text NOT NULL,  `time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',  `importance` tinyint(4) NOT NULL DEFAULT '0',  `defunct` char(1) NOT NULL DEFAULT 'N',  PRIMARY KEY (`news_id`)) ENGINE=MyISAM AUTO_INCREMENT=1004 DEFAULT CHARSET=utf8;CREATE TABLE  `privilege` (  `user_id` char(48) NOT NULL DEFAULT '',  `rightstr` char(30) NOT NULL DEFAULT '',  `defunct` char(1) NOT NULL DEFAULT 'N') ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE  `problem` (  `problem_id` int(11) NOT NULL AUTO_INCREMENT,  `title` varchar(200) NOT NULL DEFAULT '',  `description` text,  `input` text,  `output` text,  `sample_input` text,  `sample_output` text,  `spj` char(1) NOT NULL DEFAULT '0',  `hint` text,  `source` varchar(100) DEFAULT NULL,  `in_date` datetime DEFAULT NULL,  `time_limit` int(11) NOT NULL DEFAULT '0',  `memory_limit` int(11) NOT NULL DEFAULT '0',  `defunct` char(1) NOT NULL DEFAULT 'N',  `accepted` int(11) DEFAULT '0',  `submit` int(11) DEFAULT '0',  `solved` int(11) DEFAULT '0',  PRIMARY KEY (`problem_id`)) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;CREATE TABLE  `reply` (  `rid` int(11) NOT NULL AUTO_INCREMENT,  `author_id` varchar(48) NOT NULL,  `time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',  `content` text NOT NULL,  `topic_id` int(11) NOT NULL,  `status` int(2) NOT NULL DEFAULT '0',  `ip` varchar(30) NOT NULL,  PRIMARY KEY (`rid`),  KEY `author_id` (`author_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE  `sim` (  `s_id` int(11) NOT NULL,  `sim_s_id` int(11) DEFAULT NULL,  `sim` int(11) DEFAULT NULL,  PRIMARY KEY (`s_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE  `solution` (  `solution_id` int(11) NOT NULL AUTO_INCREMENT,  `problem_id` int(11) NOT NULL DEFAULT '0',  `user_id` char(48) NOT NULL,  `time` int(11) NOT NULL DEFAULT '0',  `memory` int(11) NOT NULL DEFAULT '0',  `in_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',  `result` smallint(6) NOT NULL DEFAULT '0',  `language` INT UNSIGNED NOT NULL DEFAULT '0',  `ip` char(15) NOT NULL,  `contest_id` int(11) DEFAULT NULL,  `valid` tinyint(4) NOT NULL DEFAULT '1',  `num` tinyint(4) NOT NULL DEFAULT '-1',  `code_length` int(11) NOT NULL DEFAULT '0',  `judgetime` datetime DEFAULT NULL,  `pass_rate` DECIMAL(2,2) UNSIGNED NOT NULL DEFAULT 0,  PRIMARY KEY (`solution_id`),  KEY `uid` (`user_id`),  KEY `pid` (`problem_id`),  KEY `res` (`result`),  KEY `cid` (`contest_id`)) ENGINE=MyISAM AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8;CREATE TABLE  `source_code` (  `solution_id` int(11) NOT NULL,  `source` text NOT NULL,  PRIMARY KEY (`solution_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE  `topic` (  `tid` int(11) NOT NULL AUTO_INCREMENT,  `title` varbinary(60) NOT NULL,  `status` int(2) NOT NULL DEFAULT '0',  `top_level` int(2) NOT NULL DEFAULT '0',  `cid` int(11) DEFAULT NULL,  `pid` int(11) NOT NULL,  `author_id` varchar(48) NOT NULL,  PRIMARY KEY (`tid`),  KEY `cid` (`cid`,`pid`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE  `users` (  `user_id` varchar(48) NOT NULL DEFAULT '',  `email` varchar(100) DEFAULT NULL,  `submit` int(11) DEFAULT '0',  `solved` int(11) DEFAULT '0',  `defunct` char(1) NOT NULL DEFAULT 'N',  `ip` varchar(20) NOT NULL DEFAULT '',  `accesstime` datetime DEFAULT NULL,  `volume` int(11) NOT NULL DEFAULT '1',  `language` int(11) NOT NULL DEFAULT '1',  `password` varchar(32) DEFAULT NULL,  `reg_time` datetime DEFAULT NULL,  `nick` varchar(100) NOT NULL DEFAULT '',  `school` varchar(100) NOT NULL DEFAULT '',  PRIMARY KEY (`user_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE `online` (  `hash` varchar(32) collate utf8_unicode_ci NOT NULL,  `ip` varchar(20) character set utf8 NOT NULL default '',  `ua` varchar(255) character set utf8 NOT NULL default '',  `refer` varchar(255) collate utf8_unicode_ci default NULL,  `lastmove` int(10) NOT NULL,  `firsttime` int(10) default NULL,  `uri` varchar(255) collate utf8_unicode_ci default NULL,  PRIMARY KEY  (`hash`),  UNIQUE KEY `hash` (`hash`)) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;CREATE TABLE  `runtimeinfo` (  `solution_id` int(11) NOT NULL DEFAULT '0',  `error` text,  PRIMARY KEY (`solution_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE  `custominput` (  `solution_id` int(11) NOT NULL DEFAULT '0',  `input_text` text,  PRIMARY KEY (`solution_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 datavase changed:

# support languageALTER TABLE users ADD locale CHAR(7) NULL; # support user themeALTER TABLE users ADD theme CHAR(30) NULL; # add option tableCREATE TABLE `options` (  `option_id` int(11) unsigned NOT NULL AUTO_INCREMENT,  `name` varchar(64) NOT NULL DEFAULT '',  `desc` varchar(128) NOT NULL DEFAULT '',  `value` varchar(128) NOT NULL DEFAULT '',  PRIMARY KEY (`option_id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;INSERT INTO `options` (`option_id`, `name`, `desc`, `value`)VALUES    (2, 'ga_code', 'Google Analytics Code', 'UA-YOURCODE-1');

 

Web

  1. git clone https://github.com/freefcw/hustoj.git into the code to your webdocs
  2. follow the guide. notice, the old extension of mysql for php is deprecated, so you need use MySQLi, or PDO

configuren guide:

the config file is locate applicaiton/config directory

  1. cp production/database.sample.php to production/database.php, set your database information

  2. cp base.sample.php to base.php, set domain and base_url, domain should not contain the port

problems:

skys215 commented on 2 Aug 2014When wil the Installation sction will be updated?I downloaded it, but I cannot install.Regards,@freefcwOwnerfreefcw commented on 5 Aug 2014I will do it when I have enough time, you can install use the old judge database from google code@dotkrnlCollaboratordotkrnl commented on 5 Aug 2014With an installed Google Code version HUSTOJ. See hints in https://github.com/freefcw/hustoj/wiki/database-changed and https://github.com/freefcw/hustoj/wiki/configure . This project just refactored the front-end.@skys215skys215 commented on 6 Aug 2014I did as you guys said, But it remains "出错了,请联系 freefcw#gmail".@skys215skys215 commented on 6 Aug 2014I got the 500 Http Response andthis error message: Database_Exception [ 8192 ]: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead@freefcwOwnerfreefcw commented on 6 Aug 2014please choose mysqli or pdo in database.php. the mysql driver is deprecated in the newest php version@skys215skys215 commented on 6 Aug 2014Yes, it solved the problem.But there's annother problem:When I click the links on the navbar, it get an 404 error. (eg.http://127.0.0.1:8889/problem/list)But when I add index.php in the url, then it's ok.(eg. http://127.0.0.1:8889/index.php/problem/list)Is it my Apache Configuration's problem?Update:It was my Apache Configuration's problem, AllowOverride was set to None.It works perfect after changed it to All and restarting the Apache.Thanks for the help!@skys215skys215 commented on 10 Aug 2014HustOJ works well at my localhost, but there's an error running on my vps.ErrorException [ Fatal Error ]: Call to undefined function __()SYSPATH/classes/Kohana/Kohana/Exception.php [ 53 ]It seems that I18n.php didn't load propperly.Update:One of my friend who is familiar with Kohana said, I need to give permissions to the application/cache/ and application/logs/ after that, the problem is solved.@freefcwOwnerfreefcw commented on 11 Aug 2014yes, you should che the owner of the webdocs, chmod -R www-data:www-data DIR@skys215skys215 commented on 11 Aug 2014After asking a net-friend, he said that the judging system is not in this repository.This repository is just another web interface of the judging system.So I checkout the judge system which is in SVN, and did the sudo bash install/install-interactive.sh.This time, I can open the online judge, I can add problem, submit code and judge the code on localhost.But when I did the same thing on my vps, it seems that it can create the Problem-Id directory in the /home/judge/data, I don't know why. If I create the directory manualy, then the code could be accepted.@qhpeklh5959qhpeklh5959 commented on 28 Oct 2014I've configed the database and permission of the dictionary, but I get "出错了,请联系 freefcw#gmail". I wonder if I've made some mistake??@freefcwOwnerfreefcw commented on 29 Oct 2014please check the error log for the detail@qhpeklh5959qhpeklh5959 commented on 29 Oct 20142014-10-29 09:03:05 --- DEBUG: #0 /var/www/hustoj/system/classes/Kohana/Request.php(986): Kohana_HTTP_Exception::factory(404, 'Unable to find ...', Array)#1 /var/www/hustoj/index.php(105): Kohana_Request->execute()#2 {main} in /var/www/hustoj/system/classes/Kohana/Request.php:98How to fix it?@freefcwOwnerfreefcw commented on 29 Oct 2014The imformation is hide the most important, please give me the whole log.Seems route set has some problem in route, did u installed in subdirectory?@jcf94jcf94 commented on 26 Apr 2015I think I get a same error like qhpeklh5959 do .....Here is my log:2015-04-26 16:20:42 --- EMERGENCY: HTTP_Exception_404 [ 404 ]: The requested URL hustoj was not found on this server. ~ SYSPATH/classes/Kohana/HTTP/Exception.php [ 19 ] in /var/www/html/hustoj/system/classes/Kohana/Request/Client/Internal.php:792015-04-26 16:20:42 --- DEBUG: #0 /var/www/html/hustoj/system/classes/Kohana/Request/Client/Internal.php(79): Kohana_HTTP_Exception::factory(404, 'The requested U...', Array)#1 /var/www/html/hustoj/system/classes/Kohana/Request/Client.php(114): Kohana_Request_Client_Internal->execute_request(Object(Request), Object(Response))#2 /var/www/html/hustoj/system/classes/Kohana/Request.php(997): Kohana_Request_Client->execute(Object(Request))#3 /var/www/html/hustoj/index.php(105): Kohana_Request->execute()#4 {main} in /var/www/html/hustoj/system/classes/Kohana/Request/Client/Internal.php:79@FoxprodevFoxprodev commented on 21 May 2015Same error. What should i do?@freefcwOwnerfreefcw commented on 24 May 2015@xff252595680 @FoxprodevPlease show me your nginx or apache site config file@FoxprodevFoxprodev commented on 25 May 2015@freefcw Already fixed it, AllowOverride in this directory.But how to fix http://stackoverflow.com/questions/4624726/http-error-302-using-uploadify?In firefox, safari, os x browsers.
View Code

注意:

如果加了.htaccess文件出现500错误,有可能 没有开启rewrite模块

 

后来查到这是因为Php没有开启rewrite模块而无法重定向

启用 Mod_rewrite 模块:

sudo a2enmod rewrite

Admin

  1. open the site and register a user as the master admin.
  2. run the sql script insert into privilege(user_id,rightstr) values('admin','administrator'); admin is the username of your registered

转载于:https://www.cnblogs.com/nbalive2001/p/5462407.html

你可能感兴趣的文章
DM8168 DVRRDK软件框架研究
查看>>
django迁移数据库错误
查看>>
yii 跳转页面
查看>>
洛谷 1449——后缀表达式(线性数据结构)
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
Dirichlet分布深入理解
查看>>
字符串处理
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
查看>>
证件照(1寸2寸)拍摄处理知识汇总
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
Python入门-函数
查看>>
[HDU5727]Necklace(二分图最大匹配,枚举)
查看>>
距离公式汇总以及Python实现
查看>>
一道不知道哪里来的容斥题
查看>>
Blender Python UV 学习
查看>>
window添加右键菜单
查看>>
入手腾龙SP AF90mm MACRO
查看>>