校园网搭建HUSTOJ记录
上学期和网管中心的老师说过很多次——要在校园网上搭OJ,当时那边老师说要等“虚拟化搞好了以后才能搭”。直到上周,终于在校园网上申请到了一个虚拟主机,4核,10G内存,100G硬盘,跑个OJ应该没问题。
刚开始准备给分个公网IP的,最后分了个内网的IP,T^T
ssh刚登上,就准备换soures.list,换好163的源之后,apt-get update总是失败,很郁闷,又换回去,结果还是不行。
一ping才知道,外网全部ping不通。没辙,当时想到的就是把软件包全下载到自己机器,在一个一个用scp复制到server上,结果一个apache搞了一下午没装好,一层又一层的依赖,很头疼。临回去找到一种方法——局域网软件源。试了一下,本地apt-get install了一个git,server上果然能装上。当时很开心~
结果install apache2时,依赖的库没了,被我之前clean掉了,伤心。
第一天结束,回去把自己机子上ubuntu重装了一下。
内网软件源配置
主机部分
首先把主机给升级一下
#apt-getupdate(注意我这是直接超级用户下,因为平时只是做做测试,所以喜欢方便)
#apt-getupgrade
等待完成之后
在/var/cache/apt/archives里面保留了这些更新文件
安装dpkg-dev
#apt-getinstall dpkg-dev
安装apache2
#apt-getinstall apache2
新建4个目录
#mkdir/var/www/soft(存放安装文件)
#mkdir/var/www/dists
#mkdir/var/www/dists/lucid
#mkdir/var/www/dists/lucid/main
#mkdir/var/www/dists/lucid/main/binary-i386
把/var/cache/apt/archives/目录下的文件拷贝至/var/www/soft/目录下
#cp/var/cache/apt/archives/* /var/www/soft
进入/var/www/目录下开始打包
#cd/var/www/
#dpkg-scanpackagessoft/
/dev/null | gzip>/var/www/dists/lucid/main/binary-i386/Packages.gz
客户机
修改/etc/apt/source.list内容
删除原有内容
添加内容debhttp://192.168.6.16 lucid mian
6.16是我的主机IP
开始更新
#apt-getupdate
#apt-getupgrade
第二天。重装的ubuntu,之前装的软件全没了....
先装了svn,check代码:
svn checkout http://hustoj.googlecode.com/svn/tags/1.2rc/ hustoj1.2
check号代码,压缩,准备scp到server上:
tar -czvf hustoj1.2.tar.gz hustoj1.2
scp hustoj1.2.tar.gz xxx@xxx
server终端上:
tar -xzvf hustoj1.2.tar.gz
本机上先install一下HUSTOJ依赖的软件:
sudo apt-get install flex g++ libmysql++-dev php5 apache2 mysql-server php5-mysql php5-gd php5-cli mono-gmcs subversion
其实不install也行,apt-get download就可以了。只是为了让这些软件和它们依赖的软件被下载到/var/cache/apt/archives
接下来又用上面的方法,结果在server上不行,apt-get install老是失败,郁闷。
加了个-f选项突然可以了。apt-get install -f xxx
要改代码的地方:
install/judge.conf数据库帐号&密码,找php页面上的数据库帐号&密码:
cd web
grep -n -R "\"root\"" *
找到文件和行数,server上修改之,再cp到/var/www下。
怀着激动的心情,打开我的浏览器,server IP打进去,“It works”
OJ目录加上,什么都没有!再打开一遍,还是神码都没有!
baidu,google搜“php 代码调试”(java web还略懂一点,php完全不会啊),server上要看error.log,狂搜:
tree -i -f / | grep error.log
找到之后,打开,看到了“Call to undefined function mysql_pconnect() in /var/www/OJ/includ e/db_info.inc.php on line 36”,数据库驱动没有加
改php.ini:
tree -i -f / | grep php.ini
取消注释行 extension=mysql.so
重启apache:
apache2ctl restart
再次浏览,成功!
校园网搭建HUSTOJ记录的更多相关文章
- 利用新浪云平台(SAE) 搭建 HUSTOJ 简易教程
前言: OnlineJudge(OJ)是一种代码在线判定平台,这里有许多的编程题目供你选择,你可以选择题目提交代码,OJ会自动返回你的代码的判定结果.是一种很方便的编程.算法练习平台.详情可见:百度百 ...
- mercurial(Hg) Server 搭建 过程记录
mercurial(Hg) Server 搭建 过程记录 1. 环境说明 只是测试搭建,环境为本机开发环境:win 8.1 + IIS8.5 软件准备: 2. 软件安装 先安装Python2.7, ...
- docker 搭建 hustoj
docker 搭建 hustoj hustoj 是个GPL开源的OJ,其提供了docker形式的安装方式. 为执行方便,选择使用aliyun提供的docker镜像来加速安装. 拉取镜像 docker ...
- 【运维技术】redis(一主两从三哨兵模式搭建)记录
redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...
- (一)在linux上ubuntu搭建hustOJ系统
同实验室有人在用java写签到系统,正好我在学习PHP,我就在想能不能在以前学长留下来一直没用OJ上添加一个签到功能. 于是说干就干,就找了许多关于hustoj的文章参考. 首先要说的是安装husto ...
- [Erlang24]使用zotonic搭建网站记录
zotonic的搭建网站(blog)记录: zotonic:用Erlang做的一个web 框架: 和wordpress 类似,但是官网称比PHP CMS要快10倍以上 先看看我的成果:正弦 ...
- 搭建hustoj
环境:centos6.5 + LAMP环境 LAMP环境的搭建可以参考下面这篇文章 http://www.cnblogs.com/yoke/p/7257184.html 搭建完LAMP环境之后可以按照 ...
- iRedMail的搭建过程记录
iRedMail的搭建和注意事项 经过一段时间的折腾,终于将iRedMail搭建起来了,下面介绍一下搭建的过程,以及注意事项. 注意事项: 1. iRedMail不支持重复安装,如果安装错误,请重置 ...
- 个人博客搭建全记录(Hexo,Github)
搭建过程主要借鉴小歪的博客 博客主题airclod Hexo,Github建站记录 1. 准备 Github账号 注册登陆Github 创建Repository,Repository Name就是Yo ...
随机推荐
- Freemarker常用技巧
1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte < ...
- 一个五年 Android 开发者百度、阿里、聚美、映客的面试心经
花絮 也许会有人感叹某些人的运气比较好,但是他们不曾知道对方吃过多少苦,受过多少委屈.某些时候就是需要我们用心去发现突破点,然后顺势而上,抓住机遇,那么你将会走向另外一条大道,成就另外一个全新的自我. ...
- JS组件系列——不容错过的两款Bootstrap Icon图标选择组件
前言:最近好多朋友在群里面聊到bootstrap icon图标的问题,比如最常见的菜单管理,每个菜单肯定需要一个对应的菜单图标,要是有一个可视化的图标选择组件就好了,最好是直接选择图标,就能得到对应的 ...
- 在oracle中,如何当前系统时间往前推7天
' day from dual 另附: 当前时间减去7分钟的时间 ' MINUTE from dual 当前时间减去7小时的时间 ' hour from dual 当前时间减去7天的时间 ' day ...
- 【javascript】箭头函数
ES6标准新增了一种新的函数:Arraw Function(箭头函数). x => x * x 这个函数相当于 function (x){ return x * x; } 题外话:user st ...
- apt-get 相關設定
/etc/apt/apt.conf.d/01proxy 若加了以下這行,則 apt-get 都會透過下方網址get Acquire::http::Proxy "http://aptcache ...
- 教你一招:win 7 或win 10右键菜单 添加获取管理员权限
当我们从经典的 windows XP 系统升级到 win 7 或 win 10,我们会发现,想要删除一些文件时,总是提示被占用或者是没有权限,很是烦恼. 这里,写下解决这个烦恼的办法,以安慰心里的不平 ...
- oracle普通用户登录em
刚新创建一个用户,登陆EM(Enterprise Manager) 如下提示: 应用程序要求的数据库权限超出了您当前具有的权限.有关特定版本的详细信息, 解决办法: 给登陆用户赋予 select_ca ...
- PHP读取CSV文件把数据插入到数据库,本地没有问题,阿里云测试服务器不行
原因是 本地windows和服务器linux编码不同,在代码中不要加编码转换的内容,而是把csv文件另存为utf-8文件上传就可以了,windows和Linux都就可以了. html代码: PHP端代 ...
- Root--超级用户
http://www.shuame.com/root/ root (计算机术语言) ROOT存在于Linux系统.UNIX系统(如AIX.BSD等)和类UNIX系统(如稳定到服务器都在用的Debia ...