最近想跟一帮朋友做点东西,由于几个朋友都身处异地,要想实现版本控制,只能自己搭建一个小的服务器,通过互联网环境来实现版本控制了。本来也在网上找了好多资料,但是总是缺少一些必要的信息,导致最后连接不上服务器。今天好几天的折腾,到网上去查资料,自己动手测试,最后终于搞定了,这里跟大家分享一下,希望对一些朋友会有用。如果文章中有不对的地方,还请大家轻拍砖,多多指正!

【基本原理】

  通过apache或IIS搭建一个小型的服务器,使用花生壳工具或路由器自带的动态域名解析功能,将申请的免费域名绑定动态的IP地址上,利用路由器完成端口映射,通过HTTP协议完成SVN版本控制。

【工具准备】

1、apache工具(xampp):http://www.apachefriends.org/zh_cn/xampp-windows.html#1787     该链接包含三种压缩方式的下载链接,你可以根据自己的喜好去下载相应的版本。至于具体的用法的话,可能需要你自己去研究了,毕竟在本文中不是我们讲述的重点。

2、SVN 服务器(Subversion):http://sourceforge.net/projects/win32svn/  (点击那个Download绿色按钮就会自动下载了)

3、SVN 客户端(TortoiseSVN):http://tortoisesvn.net/downloads.html   (选择相应的处理器版本进行下载)

4、SVN 中文语言包:http://tortoisesvn.net/downloads.html    (在Language Package部分,选择自己对应的语言版本和处理器信息的语言包进行下载,我们就是简体中文)

5、花生壳:http://www.oray.com/peanuthull/download.php   (在此页面,选择你的操作系统版本,进行下载。本文标题是Win7下,自然就乖乖选择Windows吧)

【配置过程】

1、利用花生壳网站申请一个免费的个人域名,利用申请到的护照登录花生壳客户端,在该域名上右键选择“域名诊断”,如果显示了以下图片,就表明动态域名解析已经OK了。大家可以试着ping一下自己申请的域名,应该是可以ping通的。

  

2、安装SVN服务器程序、SVN客户端程序、SVN客户端中文语言包。

  安装好这三个程序之后,在SVN客户端程序的设置里面,配置成中文语言,这样大家使用SVN就更加方便一点了。PS: 当然,如果你习惯玩英文的话,不用装中文语言包也是OK的。

3、安装xampp。(建议安装或解压到不存在空格和中文字符的文件夹目录下)

  如果你下载的是安装版的,直接安装就好了;如果你下载的是非安装版,解压后,执行setup-xampp.bat文件,也能够一样完成安装操作。

4、配置端口映射

  登录到路由器,找到“转发规则”--->“虚拟服务器”,然后添加新的条目,如下图所示:

  

5、配置Apache服务

  在目录xampp/apache/conf中找到httpd.conf,分别找到Listen部分和ServerName部分,修改数据如下:

  #Listen 80

  Listen 你的端口号(例如"Listen 8080")

  #ServerName localhost:80

  ServerName 你的花生壳域名:你的端口号(例如“ServerName xxx.gicp.net:8080”)

  保存后重启Apache服务,在浏览器地址栏输入“xxx.gicp.net:8080”,看看能不能看到xampp的首页。如果可以看到,说明你的服务器搭建好了,我们就可以配置SVN服务了。

但是!!!!!!!!!

我的电脑在最开始的时候就是这个地方不行。为什么?

  后来经过各位网友的提示,可能是防火墙的问题,于是将Windows自带的防火墙关闭了,但是还是不行啊!坑爹啊,你装了安全软件,有木有?你妹啊,你装了杀毒软件,有木有!

  如果经过上面的步骤,你们跟我一样不能连接到服务器,还是乖乖的检查一下你的安全类软件的配置吧,看看是不是把入站和出站的规则防护的太严了?不管你们是不是防护的太严,反正我是防护太严了。找到了问题,各位试着关闭安全类软件的防火墙,或者设置一下过滤规则吧,然后再试试打开网址,应该是可以的。当然,不能关着防火墙裸奔吧,嗯,还是把系统自带的防火墙,安全软件的防火墙都设置一个过滤规则吧,允许Apache的服务通过防火墙!

6、配置SVN服务

  在适合的地方新建一个文件夹,用于存放你的第一个SVN版本仓库。进入新建的文件夹,在空白地方右键选择“TortoiseSVN”--->“在此创建版本库”,则在该文件夹下会自动生成几个文件夹和若干个文件,我们不需要对这个文件夹再做其他操作了,如果各位感兴趣可以去查一下每个文件夹的用途。

  将SVN服务器配置成一个开机自动启动的服务,方便每次开机时可以自动开启此服务。打开CMD,进入到SVN服务器Subversion的bin目录下,执行如下命令:

  sc create subversion_service binpath= "c:\subversion\bin\svnserve.exe --service -r 你的版本仓库的目录" displayname= "Subversion Repository" depend= Tcpip

  (注意:以上命令在每个“=”符号之后都有一个空格,请各位博友看清楚哈)

  然后启动该服务,我们的SVN服务器就运行起来了。

  但是,还没有结束。复制svn服务器bin中的四个文件mod_dav_svn.so,mod_authz_svn.so,intl3_svn.dll,libdb44.dll到apache的modules文件夹中, 并修改httpd.conf文件中的配置信息。

  去掉LoadModule dav_module modules/mod_dav.so签名的“#”注释符号,并在其下一行添加如下信息

  LoadModule dav_svn_module modules/mod_dav_svn.so 

  LoadModule authz_svn_module modules/mod_authz_svn.so 

  在文件最后添加 :
   
  DAV svn 
  SVNPath "d:\svn_repository\test" 
  AuthType Basic 
  AuthName "Subversion repositories" 
  AuthUserFile "d:\passwordfile" 
  Require valid-user 
   

  保存该文件后,需要重启apache服务。

说明:

/svn是用来访问仓库的 
d:\svn_repository这个是你设置的版本仓库的路径
d:\passwordfile这个是密码文件,现在就来创建该密码文件: 
打开命令窗口cmd 
cd到apache的bin目录,然后输入 
htpasswd -c d:\passwordfile  你的账户名称 
输入两次密码 (是你为账户名称设置的登录密码)
就搞定了 。

7、测试
  打开游览器,输入http://xxx.gicp.net:端口号/svn/,输入用户密码(就刚才设置的),如果见到下图,那就万事大吉了。

  

  接下来,你可以用SVN客户端来控制你的版本了。

Win7下搭建外网环境的SVN服务器相关推荐

  1. 用自己电脑搭建外网可访问的服务器

    原文地址::用自己电脑搭建外网可访问的服务器_天生痞性难自弃的博客-CSDN博客_个人电脑做服务器让外网访问 相关文章 1.怎么在自己电脑上搭建一个服务器,以便于外网访问呢?----怎么在自己电脑上搭 ...

  2. win7下搭建GO开发环境 - eclipse 配置GO开发

    1.下载安装GO的包 到https://code.google.com/p/go/downloads/list 下载对应操作系统的包(作者写本文时选的是go1.0.3.windows-amd64.zi ...

  3. PHPstudy搭建外网(个人电脑当做服务器)

    需要下载的软件及环境 下载phpstudy软件 win7,win10操作系统都可以. 总共分为三个步骤 步骤一(注册花生壳账号):该平台作用是用来完成内网映射的. 直接登录花生壳官网个人注册一个号就可 ...

  4. 离线/内网环境下搭建vue开发环境

    系列文章目录 第一讲 离线/内网环境下搭建vue开发环境 第二讲 内网环境运行maven项目 目录 外网环境搭建 一.安装nodeJS 二.安装vue依赖包 内网环境正式开始 准备工作: 一.安装no ...

  5. win7下搭建nginx+php的开发环境

    win7下搭建nginx+php的开发环境,需要的朋友可以参考下 一.下载相关软件 nginx下载:http://nginx.org/en/download.html nginx常见异常:http:/ ...

  6. 1.Hyper-V虚拟机在wifi环境下的外网连接配置

    1.Hyper-V虚拟机在wifi环境下的外网连接配置 1.1.配置Hyper-V虚拟交换机 1.2.为虚拟机配置虚拟交换机 1.3.配置网络共享 1.4.为虚拟机配置静态IP 1.5.参考 1.Hy ...

  7. 【内网穿透开机】外网环境下基于路由器广播,一键唤醒内网计算机实现远程开机

    外网环境下基于路由器广播,一键唤醒内网计算机实现远程开机(详细) 之前文章向大家介绍了 外网环境下基于FRP.VNC技术远程访问计算机,实现内网穿透 以及利用 WOL远程唤醒功能 基于FRP.VNC技 ...

  8. win7 android 编译环境搭建,在Win7下配置Android开发环境

    在Win7下配置Android开发环境是本文要介绍的内容,主要是来了解并学习Android开发环境,具体关于Android开发环境的详解来看本文. 一.安装 JDK 下载JDK最新版本,下载地址如下: ...

  9. iis7怎么搭建php环境,WIN7下iis7支持php环境搭建

    今天想在win7下搭建php环境,由于新接触iis7,所以不是很清楚具体步骤,于是按惯例咨询了下"度娘",找到些零星的教程,在几个教程的整合中终于搞定,于是把整个过程整理下发出来, ...

最新文章

  1. 2021-10-11 二叉树中查找值为key的结点
  2. 解析网上的XML文件
  3. kubenetes 1.4 安装后8080端口无法访问
  4. pandas把'm8[ns]'类型转换为int类型进行运算
  5. oa系统服务器数据库,oa数据库和服务器
  6. 未来教育软件计算机二级不能评分怎么办,为什么计算机二级软件打不开
  7. python根据文件名筛选文件_Python-实现筛选出文件夹下含有特定名字的文件
  8. PMO如何选拔和培养项目经理?
  9. 常用颜色的RGB值及中英文名称
  10. JPA查询数据,报错Page 1 of 0 containing UNKNOWN instances
  11. 各大主流社交软件显示ip地址-如何实现ip飘移
  12. Sage x3周期性凭证帮助企业提升财务效率
  13. 从敏思博客的倒闭事件看历史重现... 1
  14. 抖音文案标题怎么写,抖音标题怎么写才能上热门:国仁楠哥
  15. 提问技巧(特别适用IT)
  16. 为什么需要虚拟DOM?
  17. 机械制造作业考研题目答案分享——加工方法、工序和夹紧
  18. java.awt包_java.awt包介绍
  19. 使用Lanproxy搭建内网穿透服务完整教程
  20. C语言食堂菜谱管理系统

热门文章

  1. 三、spring boot 1.5.4 web容器定制(端口号等修改)
  2. knockoutJS学习笔记01:从拼接字符串到编写模板引擎
  3. Nginx配置指定媒体类型文件强制下载
  4. headroom.js插件使用方法
  5. 2005 打开 2010 项目经验总结
  6. 每个网页设计者都自以为是
  7. 求解:nhibernate2.0操作oralce提交事务时报错
  8. 陕西师范大学计算机科学学院保研院校,陕西师范大学计算机科学学院(专业学位)现代教育技术保研细则...
  9. c语言支持默认参数吗,嵌入式C语言可以带“默认参数”的函数吗
  10. Linux 自带的LED 灯驱动实验