Linux6.0下安装svn服务器
 Subversion有两种运行方式,一种是基于Apache Http Server,另外一种是Subversion Standalone Server。下面我讲解的是基于Apache Http ServerSubversion,有以下几个优点:
A.
能使用WebDAV协议。
B.
能使用浏览器作为客户端工具浏览源码仓库。
C.
可以很容易的支持到SSPIWindows域认证)和LDAPAD ),这些都是Apache本身就支持的。
D.
能得到比较完善的Apache安全认证系统,比如SSL加密连接

1、安装软件
#yum install subversion mod_dav_svn httpd httpd-devel
查看是否安装了svn模块:
#cd /etc/httpd/modules
   
mod_authz_svn.so    mod_dav_svn.so

2、配置svn
#vi /etc/httpd/conf.d/subversion.conf
        LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so
    <Location /svn>
        DAV svn
      SVNParentPath /var/www/svn
      # Limit write permission to list of valid users.
      #<LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL
          AuthType Basic
         AuthName "Authorization Realm"
         AuthUserFile /var/www/svn/passwd
         AuthzSVNAccessFile /var/www/svn/authz
        Require valid-user
       #</LimitExcept>
    </Location>
3
、创建目录仓库
#mkdir /var/www/svn
#cd /var/www/svn
#svnadmin create oa    oa:
为目录名
#chown apache.apache /var/www/svn
apache的属主用户为前提

#touch passwd   
保存用户名和密码
#touch authz   
保存用户权限

4、创建用户,输入两次密码
htpasswd -cm /var/www/svn/passwd admin   admin
:为用户名
htpasswd -d /var/www/svn/passwd liubl  liubl
:为用户名

5、设置用户权限
vi authz   
    [/]
    admin = rw
    * = r

6
、重启apache
/etc/init.d/httpd restart
7、启动svn服务,默认端口3690
# svnserve -d -r /var/www/svn/oa   /var/www/oasvn仓库目录位置
# netstat -na | grep 3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN 
8、安装下载client
Ø  下载安装客户端【TortoiseSVN-1.7.11.23600-win32-svn-1.7.8.msi
Ø  执行TortoiseSVN 安装程序,就会进行TortoiseSVN 的安装。正确安装后,应该进行一次的重开机,以确保TortoiseSVN 的正确无误。装完汉化包后,打开设置,选择语言为中文(简体)即可。
 
Ø  安装成功后,在任何目录按下鼠标右键,应该可以看到如下:
Ø  从服务器下载文件
首先选择本地存储目录,新建一个空文件夹working。点选文件夹并右键,选择SVN检出,将会弹出如下窗口。其中,在版本库URL处输入服务器地址,检出目录默认为刚才新建文件夹。可以选择最新版本,也可以通过浏览日志来选择需要的某个版本。选定后按确定,出现如下窗口,显示服务器地址、新增文件列表以及版本号。
   此时,working文件夹图标如下所示,其中包括了刚才下载的一个目录和6个文件;
                  
Ø  向服务器提交文件
当完成某个文档test1.doc后,将它拷贝到working文件夹内某个目录下,它的图标出现一个蓝色问号。 此时点选文档,右键“TortoiseSVN->增加”,则图标中的问号会变为一个蓝色加号。再右键选择“SVN提交”,将弹出如下窗口:
在其中按照“时间-更新文档-提交者”的格式填写信息,最后点击确定进行提交。提交成功将会有如下窗口提示:
并且文件图标变为一个绿色对号。类似的,也可以将整个目录进行提交,已存在的文件将会被覆盖。
 
Ø  删除已提交的文件 / 目录
先在本机的svn目录working中选定该文件(夹),点击右键菜单选择“TortoiseSVN->删除”,然后进行提交,在变更列表中勾选已删除的文件,确定即可。
如果是并未提交的文件,直接物理删除即可。
 
Ø  对文件或目录进行重命名
对本地的文件夹进行了重命名操作后,点击TortoiseSVN右键菜单中的提交时,却显示没有需要提交的文件。这时我们要用到SVN的改名功能。点选文件(夹)右键选择“TortoiseSVN->改名”,在弹出窗口输出新名称,此时文件(夹)图标出现加号,右键进行提交即可。
 
Ø  更新至特定版本
有时我们需要回溯至特定的日期或是版本,这时就可以利用SVN的“更新至版本”的功能。在本机的SVN目录内按下鼠标右键,并且选择“TortoiseSVN->更新至版本”,将出现如下窗口:
点击显示日志,在下面窗口中选择所需版本并确定;
所有曾经做过的改动及其日期与对应的版本都会列在这个窗口上面,在想要的版本上面点击,然后按下确定。这个版本就会自动填入更新窗口中的版本字段中。再次确定,这个版本就会被取出来到硬盘中。如我们刚才删除的test1.doc就回来了。