SVN在linux端搭建好了之后,需要把默认的3690端口增加到防火墙才可以被客户端访问。然后客户端就可以把自己的文件传送到客户端上,被其他人围观。


那么如何把3690端口增加到linux防火墙上?

vi /etc/sysconfig/iptables           #进入防火墙的配置文件里#

# Firewall configuration written by system-config-firewall 
# Manual customization of this file is not recommended. 
*filter 
:INPUT ACCEPT [0:0] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [0:0] 
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT 

#注意,这句话是加在这里的,不是加在最后一行的!#
-A INPUT -j REJECT –reject-with icmp-host-prohibited 
-A FORWARD -j REJECT –reject-with icmp-host-prohibited 
COMMIT 

/etc/init.d/iptables restart  #重启一下防火墙#


至于要关闭防火墙,有两种方案:

1) 重启后生效 
开启: chkconfig iptables on 
关闭: chkconfig iptables off 

2) 即时生效,重启后失效 
开启: service iptables start 
关闭: service iptables stop 

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。 


SVN的服务器是可以在windows搭建的,也可以在Linux上搭建的,这里如果两个系统对比的搭建一下,是很好的感受到linux和 windows系统的不同,其中最大的不同就是windows系统是一个“选择题”,右键会有很多的功能用来点击,比如SVN checkout , 但是在linux系统内就是一个填空题,它需要在shell里自己输入 svn checkout。


SVN的客户机是在windows上搭建的,在需要的地方建立一个文件夹,这个文件夹里面有各种需要上传跟×××们分享的文件,在这个文件右键,选择SVN checkout,会出现下图:

wKiom1bNU3qgctSwAAEE2R0amik425.png

repository就是“仓库”“储藏室”的意思。顾名思义这个地方就是填写仓库的地址,如果是本机可以填写127.0.0.1的,如果是其他机器就填写https://目标机器IP地址:端口号,其中linux的默认svn端口号是3690, windows的默认svn服务端端口号是443,如果填写之后,链接出现了:“svn an error occurred during ssl communication”,那这个时候可以返回Repository Browser上对比一下地址,他俩的地址肯定是一样的,是不是有笔误。有时候可能填写的不是https,而是svn。


这一步完毕之后,就会发现当前的文件夹里多了一个.svn的隐藏文件,这个隐藏文件就是链接客户端与服务器端的纽带,如果把这个.svn隐藏文件删除,那么这个文件夹将不具备任何特殊的能力跟普通的文件夹是一模一样的了。


我下载的是最新版的 乌龟SVN,版本号是1.9.3.27038,原来的 SVN在文件与仓库建立关系之后,就会在图标的右下角出现一个问号/对号/错号。但是貌似1.9.3就没有这个提示了。在子文件夹里建立文件并且通过右键的svn commit功能将文件上传到仓库,然后再linux端输入svn checkout svn://IP地址就可以将这个文件在linux看到。举个例子。


现在桌面新建一个文件夹,起名叫Test,然后在这个文件夹里建立一个记事本文件,起名叫Test1.txt。里面的内容就是一句话“你能看见我吗?”

wKiom1bNXT-DxkGJAAA-vpAD0XE971.png

保存之后,对这个Test1.txt文件点击右键,选择 是svn commit,然后就会出现一个对话框,

wKiom1bNXf7RMoOIAAD1QRMhTUs731.png

选择OK,出现了一个commit finished的提示,这代表已经上传仓库成功!这个时候如果你打开Repository Browser的话,会看见这个Test1.txt文件已经在这个浏览器里了,可以右键Open查看。


然后返回linux服务器,在命令行输入svn checkout svn://IP地址/project,然后就能看见这个文件在Linux的文件夹下出现了!


但是至于SNV这玩意怎么用,我个人觉得这个SVN服务器就是一个平台,大家在上面分享一些破烂,然后服务器端可以分发一些账号,给这些账号权限,让账号可以从这个平台里面下载东西和上传东西。

视频教程在此:http://www.imooc.com/video/2229