CentOS下的SVN服务器搭建过程

1.yum安装svn

  1. yum install -y subversion    

2.验证是否安装完成

  1. svnserve --version  

3.创建svn版本库

  1. mkdir /var/svn #我这里把版本库放在了var目录下的svn文件夹,方便管理  

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

4.配置当前的版本库

  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文件

  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. user1 = pass1

  9. user2 = pass2


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

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. [/]  

  17. user1=r  

  18. user2=rw  

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

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

4.3 修改svnserve.conf

  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 

  1. ps -aux |grep svn  

  2. kill -9 进程id  

6 导入工程 

  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导出工程 

  1. svn co svn://192.168.1.109/repo0/MyProject   

8 总结

在互联网如此发达的今天,几乎你想要找什么技术文章都能找到,但是,你会发现,完全一样【标点都一样】的文章,出现在大大小小的网站,在想找到第二篇不同视点的文章,太难了。拿来主义很疯狂,我们这些技术人员需要的,更是创新。开源精神,从我做起。写技术博客,更多的是多自己的一种修行,一种提高,实践是最好的老师。

原文地址:https://www.cnblogs.com/yepanpan/p/6825615.html