`
huobengluantiao8
  • 浏览: 1077201 次
文章分类
社区版块
存档分类
最新评论

打破常规——大胆尝试在路由器上搭建SVN服务器

 
阅读更多

 说起路由器能够干嘛,大部分想到的就是用来组建局域网呀,或者偶尔用它做做BT、迅雷脱机下载之类的,如果我告诉你用路由器还能用来做SVN服务器,甚至运行mysql+php你信么?今天我们就来打破这个传统思维,用路由器来做SVN服务器。 

      SVN托管服务大家都不陌生了,我最早开始用的是谷歌提供的SVN,因为在上面托管的项目都是开源的,所以当有些项目不方便在网上公开的时候,就需要自己搭建SVN服务器了。windows、linux的用的是最多的了,但是有时候为了放一个SVN要单独放一台电脑并24小时开机,不符合节能减耗的目的。所以今天笔者就做一个大胆的尝试,使用路由器架设SVN服务器,路由器的功耗只有电脑的百分之一,而且平常也都要开机,这看起来有点像天方夜谭,因为路由器不论是CPU、内存还是ROM上,都远远不如一台电脑,甚至不如一台普通的安卓手机的性能,但是“实践是检验真理的唯一标准”,所以我们今天就来做一个尝试并检验它的可能性。

      我们都知道,路由器的操作系统也是基于Linux的,既然Linux上可以搭建SVN,那理论上路由器也是可以的,只是我们要用到第三方的路由器固件,因为路由器自带的固件是封闭的,功能上也有一定的限制,所以我们这里需要一台满足这样需求的路由器:至少带一个USB接口(用来挂载U盘或者移动硬盘之类的);可以刷DD-WRT、Openwrt、TOMATO其中的一种;CPU主频在300MHZ,RAM在32M以上。在本文中,我们用的是华为的HG255D路由器,因为这台路由器全新的也就不到100块钱,淘宝二手的50左右即可,有一个USB接口,硬件配置是:CPU Ralink RT3052@384Mhz,16M FLASH,32M DDR内存(+20可以升级64M性能更好)。可以刷DD-WRT和Openwrt系统。

      路由器怎么刷第三方固件网上已经有很多资料了,这里就不在详细说明,我们直接拿刷好DD-WRT系统作为今天的测试平台,其他系统基本上操作也都差不多。

      1、首先拿一个1G以上的U盘,在Linux系统中格式化为ext3格式,然后插在路由器的USB接口上,打开浏览器输入192.168.0.1(根据自己实际IP)进入路由器管理界面,然后点“服务”-“USB”选项,按照下图中打开USB支持,并将U盘挂载为opt,点应用后如果提示Status: Mounted on /opt则挂载成功。

2、接下来再点选项卡“服务”-“服务”,然后启用SSH并应用,如下图所示:

3、第三步下载PuttyMan,打开软件后新建连接,注意用户名那边无论路由器的用户名是什么都要填root,密码则是路由器的密码,如下图

4、连接路由器,如果出现下图中信息,那么恭喜你,已经离成功只有一半了,否则请重复前面2步。

5、在PuttyMan客户端中输入以下命令:(请先确认USB存储设备已挂载到/opt)

?
wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O - | tr -d '\r' > /tmp/optware-install.sh
sh /tmp/optware-install.sh

在这里我要讲一下题外话,原先是本来考虑用其他Linux系统安装svn的方法,直接下载svn安装包,但是试了很多次都不成功,因为路由器的Linux是属于轻量型的,里面很多库都不支持,比如gcc库,而安装gcc库的时候又缺少其他的依赖库,所以走了不少弯路,事实也证明用这种方法几乎是安装不了的,因为安装了太多的库也会导致路由器硬件性能跟不上。所以后面才想到用optware这个更简单的第三方软件运行环境。这也是为什么第一步中要把U盘挂载为opt的原因。

6、等安装好optware后会提示successfully,接下来就可以用功能强大的optware了,在命令行中继续输入以下命令更新opt软件列表:

?
cd /opt
ipkg-opt update

7、你可以输入ipkg-opt list显示所有可安装的软件(还可以安装httpd、mysql、php等等,挂上你的个人主页),这里我们只需要安装SVN,所以输入

?
ipkg-opt install svn

8、安装好SVN后可以在命令行中输入svnserve --version检查一下SVN是否安装成功,如果可以正常显示svn版本号,那么恭喜你,你已经成功在路由器上运行SVN服务了,接下来让我们启动SVN服务,输入命令:

?
svnserve -d -r /opt/svndata/

9、为了方便每次路由器关机后会自动启动服务,我们可以把它添加到路由器的启动命令中,点“管理”-“命令”选项卡,然后在指令的最后面添加以上代码并保存为启动指令即可。

10、接下来就是测试了,为了方便测试我们开启路由器的Samba服务,进入“服务”-“NAS”选项卡,启用Samba服务,并在文件分享那边选择opt

11、然后打开我的电脑,点“工具”-“映射网络驱动器”,将路由器U盘映射为A盘,映射只是为了方便访问,也可以直接在运行中输入\\192.168.0.1来访问

12、回到命令行中输入以下命令创建版本库:

?
cd /opt/svndata
svnadmin create svntest

13、创建成功后打开刚刚的文件夹,修改这3个配置文件(添加用户名读写权限等),具体方法参照Linux中svn配置

14、然后回到windows中检出,在版本库中加入我们的程序代码并提交。

提交测试:

检出测试:

路由器负载显示正常(当负载超过7的时候路由器一般会死机):

哈哈,太令人振奋了,和以前用的SVN服务器用起来没什么两样,简直看不出来这是用一台路由器搭建的SVN,测试结果很成功,太完美了。

15、如果需要外网可以访问,则启用DDNS即可,这样不管家里的IP怎样变化,也可以用域名来访问了,这样使用更方便。如下图设置,方法很简单就不再具体说明。如果你觉得本文对你有帮助,就帮我点一下右下角的推荐吧。(完)

0
0
分享到:
评论
1 楼 yunzhu 2013-07-24  
转载的怎么可以把原文中声明原创的内容删除了,这有点不太厚道啊

相关推荐

    centos 7.9服务器 离线 搭建svn服务器

    centos 7.9服务器 离线 搭建svn服务器 ,该文章适用于 开发人员 实施人员 项目经理用于项目文档管理 代码管理,而不指定如何在centos7.9环境下离线搭建svn服务器,因为大多数的网站只是介绍yum install 的方式,但是...

    华为云端搭建SVN服务器.docx

    在华为云上搭建SVN服务器是一项关键的任务,用于集中管理和版本控制代码和其他文件。以下是详细的步骤和知识点: 1. **购买并登录Windows弹性云服务器**: - 弹性云服务器(ECS)是华为云提供的可伸缩计算资源,包含...

    Windows平台下搭建svn服务器

    在 Windows 平台下搭建 SVN 服务器是一项复杂的任务,需要详细的步骤和配置。本文档将指导您如何在 Windows 平台下搭建 SVN 服务器,并解决可能遇到的问题。 软件安装 首先,需要下载并安装 SVN 服务器端软件 ...

    路由器配置虚拟web和svn服务器.docx

    ### 路由器配置虚拟Web和SVN服务器 在当今数字化时代,无论是个人开发者还是企业团队,都需要高效地管理代码版本以及提供便捷的Web服务访问。本文将详细介绍如何通过路由器配置来实现对本地计算机上的Web服务和...

    CentOS 7搭建SVN服务器

    本文将详细介绍如何在CentOS 7操作系统上搭建SVN服务器,包括安装、配置以及基本操作。 首先,我们需要理解SVN的作用。SVN是一个集中式的版本控制系统,用于管理代码或者其他文件的变更历史,方便团队成员共享资源...

    centos离线搭建svn服务器(含教程,源码包)

    把手一步步离线搭建svn服务器,centos离线搭建svn服务器,linux离线搭建svn服务器。

    linux下搭建svn服务器

    在Linux环境下搭建Subversion(SVN)服务器是一项常见的需求,尤其是对于开发团队来说,它能够提供版本控制和代码管理的强大功能。在进行SVN服务器搭建前,确保系统环境为Red Hat 5或更高版本,并准备好以下依赖库的...

    Ubuntu上搭建SVN服务器全攻略

    ### Ubuntu上搭建SVN服务器全攻略 #### 1. 概述 本文旨在详细介绍如何在Ubuntu环境下搭建SVN(Subversion)服务器,并结合Apache服务器以及SSL加密技术,实现安全、高效的版本控制服务。通过HTTPS协议访问SVN...

    阿里云搭建SVN服务器

    阿里云搭建SVN服务器

    linux下搭建SVN服务器完全手册

    Linux 下搭建 SVN 服务器是指在 Linux 操作系统下安装和配置 SVN 服务器,以便于团队协作和版本控制。本手册将详细介绍如何在 Linux 下搭建 SVN 服务器,包括安装 SVN 软件、创建仓库、配置权限、启动服务器等步骤...

    windows 搭建本地svn服务器

    以上就是在Windows上搭建本地SVN服务器的基本流程。值得注意的是,为了提高安全性,你应该考虑使用SSL/TLS加密连接,并为用户分配适当的权限。此外,保持Subversion和Apache的更新也很重要,以获取最新的安全补丁和...

    windows搭建svn服务器

    在本文中,我们将详细介绍如何在Windows平台上搭建SVN服务器,包括使用dos命令启动SVN服务器、使用批处理文件自动启动SVN服务器、将SVN服务器添加到Windows服务中等内容。 一、使用dos命令启动SVN服务器 要启动SVN...

    SVN服务器搭建以及Myeclipse插件SVN配置资料_成功版

    在IT行业中,SVN服务器的搭建与客户端配置是团队协作开发的重要环节,它确保了代码的安全性和版本控制。本资料将详细介绍如何搭建SVN服务器以及在Myeclipse集成环境中配置SVN插件。 首先,搭建SVN服务器通常采用...

    Linux搭建SVN服务器

    本文将详细介绍如何在Linux服务器上搭建SVN服务器,包括安装配置SVN服务、配置用户权限以及通过客户端进行连接测试等内容。 #### 二、安装SVN服务 1. **下载SVN** - 官方网站提供下载链接:...

    linux搭建svn服务器

    linux上搭建svn服务器,同步数据 linux上搭建svn服务器,同步数据

    SVN 服务器环境搭建

    在这个"SVN 服务器环境搭建"的压缩包中,包含了搭建SVN服务器和客户端所需的所有资源,使得你可以方便地进行下载和安装。下面我们将详细讲解如何搭建一个SVN服务器。 1. **SVN服务器组件**: SVN服务器通常由两个...

    Mac下搭建svn服务器教程

    本文将详细探讨在Mac环境下使用终端命令搭建Subversion(svn)服务器的步骤及相关概念。 首先,我们需要了解svn的基本概念。Subversion是一种版本控制系统,用于管理随时间改变的数据。它主要用于代码的版本管理,...

    windows下svn服务器环境搭建(subversion)

    在Windows环境下搭建SVN(Subversion)服务器是一个常见的任务,特别是在团队协作开发中,它能够帮助管理和版本控制代码。Subversion是一个开源的集中式版本控制系统,可以跟踪文件和目录的更改,使得多人协同工作变...

Global site tag (gtag.js) - Google Analytics