CentOS下的SVN服务器搭建过程以及分析

原文地址:http://www.centoscn.com/CentosServer/ftp/2014/0306/2505.html

1.yum安装svn

[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. yum install -y subversion    

等待一会儿,显示下边的内容。

[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. Dependency Installed:  

  2.  gnutls.i686 0:2.8.5-10.el6_4.2               libproxy.i686 0:0.3.0-4.el6_3                    

  3.  libproxy-bin.i686 0:0.3.0-4.el6_3            libproxy-python.i686 0:0.3.0-4.el6_3            

  4.  neon.i686 0:0.29.3-3.el6_4                   pakchois.i686 0:0.4-3.2.el6                      

  5.  perl-URI.noarch 0:1.40-2.el6                  

  6. Complete!  

2.验证是否安装完成

[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. svnserve --version  

这是我的显示内容。


[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. svnserve,版本 1.6.11 (r934486)  

  2.   编译于 Apr 11 2013,17:28:04  

  3. 版权所有 (C) 2000-2009 CollabNet。  

  4. Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。  

  5. 此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。  

  6. 下列版本库后端(FS) 模块可用:  

  7. * fs_base : 模块只能操作BDB版本库。  

  8. * fs_fs : 模块与文本文件(FSFS)版本库一起工作。  

  9. Cyrus SASL 认证可用。  


3.创建svn版本库

[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. mkdir /var/svn #我这里把版本库放在了var目录下的svn文件夹,方便管理  

  2. svnadmin create /var/svn/repo0 #我这里将svn作为所有版本库的目录,并创建了一个名为repo0的版本库

4.配置当前的版本库

创建版本库后,在当前版本库目录中会生成下面的文件,其中我们关心的是配置文件。

[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. [root@localhost svn]# ls  

  2. repo0  

  3. [root@localhost svn]# cd repo0  

  4. [root@localhost repo0]# ls  

  5. conf  db  format  hooks  locks  README.txt  

  6. [root@localhost repo0]# pwd  

  7. /var/svn/repo0  

  8. [root@localhost repo0]# cd conf  

  9. [root@localhost conf]# ls -a  

  10. .  ..  authz  passwd  svnserve.conf  



说明

           (1)svnserve.conf:  svn服务综合配置文件。

           (2)passwd: 用户名口令文件。

           (3)authz: 权限配置文件。

4.1 修改passwd文件

[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. ### This file is an example password file for svnserve.  

  2. ### Its format is similar to that of svnserve.conf. As shown in the  

  3. ### example below it contains one section labelled [users].  

  4. ### The name and password for each user follow, one account per line.  

  5. [users]  

  6. # harry = harryssecret  

  7. # sally = sallyssecret  

  8. repouser0 = user0passwd  

  9. rock=rockpasswd  


其中对应的是 用户名=密码 ,其中等号两边的空格不是必须的。


4.2修改authz文件

[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. [aliases]  

  2. # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average  

  3. #这里实现了别名的定义  

  4. [groups]  

  5. # harry_and_sally = harry,sally  

  6. # harry_sally_and_joe = harry,sally,&joe  

  7. team0=erpouser0 #将上面创建的分成两个组  

  8. team1=rock  

  9. # [/foo/bar]  

  10. # harry = rw  

  11. # &joe = r #上面的别名定义在这里实现 &在这里理解为指针就很容易了  

  12. # * =  

  13. # [repository:/baz/fuz]  

  14. # @harry_and_sally = rw  

  15. # * = r  

  16. [repo0:/]  

  17. @team0=r  

  18. @team1=rw  

  19. # 第一个小组只有读取的权限,第二个小组有读写的权限  

  20. # 单个版本库的权限配置在这个文件中实现  



4.3 修改svnserve.conf

[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. vim svnserve.conf  

[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. [general]  

  2. ### These options control access to the repository for unauthenticated  

  3. ### and authenticated users.  Valid values are "write", "read",  

  4. ### and "none".  The sample settings below are the defaults.  

  5. anon-access = none #没有登录的用户不能访问  

  6. auth-access = write #登录的用户可以写入  

  7. ### The password-db option controls the location of the password  

  8. ### database file.  Unless you specify a path starting with a /,  

  9. ### the file's location is relative to the directory containing  

  10. ### this configuration file.  

  11. ### If SASL is enabled (see below), this file will NOT be used.  

  12. ### Uncomment the line below to use the default password file.  

  13. password-db = passwd #密码文件为当前目录下的passwd  

  14. ### The authz-db option controls the location of the authorization  

  15. ### rules for path-based access control.  Unless you specify a path  

  16. ### starting with a /, the file's location is relative to the the  

  17. ### directory containing this file.  If you don't specify an  

  18. ### authz-db, no path-based access control is done.  

  19. ### Uncomment the line below to use the default authorization file.  

  20. authz-db = authz #验证文件为当前目录下的authz  


5 停止和启动svn


5.1启动svn


[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. svnserve -d -r /var/svn/  


5.2关闭svn


[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. ps -aux |grep svn  

  2. kill -9 进程id  


6 导入工程



[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. $ mkdir MyProject    

  2. $ mkdir MyProject/trunk    

  3. $ mkdir MyProject/branches    

  4. $ mkdir MyProject/tags    

  5. svn import MyProject svn://192.168.1.109/repo0/MyProject -m "first import project"  



7导出工程


[plain]view plaincopyprint? 在CODE上查看代码片 派生到我的代码片
  1. svn co svn://192.168.1.109/repo0/MyProject  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值