上学期和网管中心的老师说过很多次——要在校园网上搭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重装了一下。

内网软件源配置

主机部分

  1. 首先把主机给升级一下

#apt-getupdate(注意我这是直接超级用户下,因为平时只是做做测试,所以喜欢方便)

#apt-getupgrade

等待完成之后

在/var/cache/apt/archives里面保留了这些更新文件

  1. 安装dpkg-dev

#apt-getinstall dpkg-dev

  1. 安装apache2

#apt-getinstall apache2

  1. 新建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

  1. 把/var/cache/apt/archives/目录下的文件拷贝至/var/www/soft/目录下

#cp/var/cache/apt/archives/* /var/www/soft

  1. 进入/var/www/目录下开始打包

#cd/var/www/

#dpkg-scanpackagessoft/
/dev/null | gzip>/var/www/dists/lucid/main/binary-i386/Packages.gz

客户机

  1. 修改/etc/apt/source.list内容

  1. 删除原有内容

  2. 添加内容debhttp://192.168.6.16 lucid mian

  3. 6.16是我的主机IP

  1. 开始更新

#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记录的更多相关文章

  1. 利用新浪云平台(SAE) 搭建 HUSTOJ 简易教程

    前言: OnlineJudge(OJ)是一种代码在线判定平台,这里有许多的编程题目供你选择,你可以选择题目提交代码,OJ会自动返回你的代码的判定结果.是一种很方便的编程.算法练习平台.详情可见:百度百 ...

  2. mercurial(Hg) Server 搭建 过程记录

    mercurial(Hg) Server 搭建 过程记录 1.  环境说明 只是测试搭建,环境为本机开发环境:win 8.1 + IIS8.5 软件准备: 2.  软件安装 先安装Python2.7, ...

  3. docker 搭建 hustoj

    docker 搭建 hustoj hustoj 是个GPL开源的OJ,其提供了docker形式的安装方式. 为执行方便,选择使用aliyun提供的docker镜像来加速安装. 拉取镜像 docker ...

  4. 【运维技术】redis(一主两从三哨兵模式搭建)记录

    redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...

  5. (一)在linux上ubuntu搭建hustOJ系统

    同实验室有人在用java写签到系统,正好我在学习PHP,我就在想能不能在以前学长留下来一直没用OJ上添加一个签到功能. 于是说干就干,就找了许多关于hustoj的文章参考. 首先要说的是安装husto ...

  6. [Erlang24]使用zotonic搭建网站记录

    zotonic的搭建网站(blog)记录:   zotonic:用Erlang做的一个web 框架:   和wordpress 类似,但是官网称比PHP CMS要快10倍以上   先看看我的成果:正弦 ...

  7. 搭建hustoj

    环境:centos6.5 + LAMP环境 LAMP环境的搭建可以参考下面这篇文章 http://www.cnblogs.com/yoke/p/7257184.html 搭建完LAMP环境之后可以按照 ...

  8. iRedMail的搭建过程记录

    iRedMail的搭建和注意事项 经过一段时间的折腾,终于将iRedMail搭建起来了,下面介绍一下搭建的过程,以及注意事项. 注意事项:  1. iRedMail不支持重复安装,如果安装错误,请重置 ...

  9. 个人博客搭建全记录(Hexo,Github)

    搭建过程主要借鉴小歪的博客 博客主题airclod Hexo,Github建站记录 1. 准备 Github账号 注册登陆Github 创建Repository,Repository Name就是Yo ...

随机推荐

  1. 使用startActivityForResult场景模拟

    效果图如下,当我从第一个界面选择供应商的时候,我希望能得到第二个界面选择的供应商的值: 具体代码,这里第二个参数为自定义的大于等于0的数字,用来标记当前跳转. Intent i1 = new Inte ...

  2. 【原】python中文文本挖掘资料集合

    这些网址是我在学习python中文文本挖掘时觉得比较好的网站,记录一下,后期也会不定期添加:   1.http://www.52nlp.cn/python-%E7%BD%91%E9%A1%B5%E7% ...

  3. SQL数据库分配权限

    打开SQL-Server管理工具->安全性->登陆名->右键(新建登陆名) 输入相应的信息(这里要去掉强制实施密码策略,强制密码过期,否则用户在下次登录时必须修改密码) 用户映射-& ...

  4. .Net Core Linux centos7行—hyper-v安装linux系统和.net core sdk

    下载linux系统,选择安装centos7 下载地址:https://www.centos.org/download/ 安装centos7 hyper-v选择新建虚拟机 根据向导一路next,虚拟机代 ...

  5. Pyhont-Urllib2

    Urllib2 相当于的Urllib  的升级版 但又不能代替 Urllib 这个我得新手很费解呢...这个问题留着把,,等以后成大牛的时候在回来想想这儿问题!! Urllib2 常用 // 1 设置 ...

  6. JS获取URL地址参数

    <script> var url = "http://127.0.0.1/index.php?old_quantity=168&date=1478309879000$id ...

  7. sharedUserId

    android:sharedUserId sharedUserId的作用是让两个应用程序共享一个user id,我们都知道linux进程给每一个应用程序分配了一个独立的user id,所以如果两个或多 ...

  8. NCBI database download

    ascp -T -l 200M -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh --host=ftp-private.ncbi.nlm.nih.go ...

  9. 理解javascript this指向

    匿名函数中的this指向window对象 这句话很经典: 每个函数在调用时,其活动对象都会自动获取两个特殊的变量:this和arguments.内部函数在搜索这两个变量时,只会搜到其活动对象为止,因此 ...

  10. 彻底删除MySQL

    安装mysql数据库.最后一步APPLY SECURITY SETTINGS总是失败.感觉很郁闷.上网找了教程,有前四步,一一做了,发现还是不对.最近突然发现在环境变量那边的路径还没有卸载干净.可能我 ...