分享

Centos上架设SVNServer服务器

 ricosxf 2015-12-09

介绍

Apache Subversion(http://subversion./):不用说太多,Apache基金会下的一个开源项目,很多企业用subversion作为项目代码的版本管理。虽然不像git那样可以真正的离线使用(主要还是架构设计的问题),但是贵在免费,哦不,是贵在开源,所以现在还是很多人都在用的。
iF.SVNAdmin(http://svnadmin./):一个基于WEB GUI的方式管理SVN,包括:repos管理、用户管理、用户组管理、权限管理等多种功能,底层也很简单,是通过修改Subversion authorization 和 user authorization 两个文件完成其管理功能(现不支持数据库user authorization的那种),整体使用下来给我的感觉就是两个字简单,从安装到配置到使用到架构,都很简单。

准备

操作系统:CentOS-6.5-64bit
版本管理:Subversion-1.6.11
管理软件:iF.SVNAdmin-1.6.2-stable

安装

1. 安装Apache

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase ~]# yum install httpd  

2. 安装SVN

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase ~]# yum install mod_dav_svn subversion  

3. 配置SVN

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase ~]# vim /etc/httpd/conf.d/subversion.conf   
  2. <Location /svn>  
  3.    DAV svn  
  4.    SVNParentPath /var/www/svn  
  5.   
  6.     AuthType Basic  
  7.     AuthName "Restricted Access"  
  8.   
  9.     #File will be created by SVNManager, keep location in mind!  
  10.     AuthUserFile /var/www/svnconfig/passwdfile  
  11.   
  12.     Require valid-user  
  13.     #SSLRequireSSL  
  14.   
  15.     #File will be created by SVNManager, keep location in mind  
  16.     AuthzSVNAccessFile /var/www/svnconfig/accessfile  
  17.   
  18.    # Limit write permission to list of valid users.  
  19.    #<LimitExcept GET PROPFIND OPTIONS REPORT>  
  20.    #   # Require SSL connection for password protection.  
  21.    #   # SSLRequireSSL  
  22.   
  23.    #   AuthType Basic  
  24.    #   AuthName "Authorization Realm"  
  25.    #   AuthUserFile /path/to/passwdfile  
  26.    #   Require valid-user  
  27.    #</LimitExcept>  
  28. </Location>  

4. 创建存放repo目录和权限信息目录

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase ~]# mkdir -p /var/www/svn /var/www/svnconfig  

5. 创建SVN权限信息文件

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase ~]# touch /var/www/svnconfig/accessfile /var/www/svnconfig/passwdfile  
/var/www/svnconfig/accessfile:控制用户&用户组读写(r/w)权限使用
/var/www/svnconfig/passwdfile:控制用户信息

6. 安装php

iF.SVNAdmin是用php写的,所以php必须安装。
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase conf.d]# yum install php  

7. 下载SVNAdmin

地址:http:///projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download

8. 解压SVNAdmin

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase ~]# unzip svnadmin-1.6.2.zip  
  2. [root@developbase ~]# cd iF.SVNAdmin-stable-1.6.2/  
  3. [root@developbase iF.SVNAdmin-stable-1.6.2]# ll  
  4. 总用量 168  
  5. -rw-r--r--.  1 root root  1482 8月  29 2013 accesspathcreate.php  
  6. -rw-r--r--.  1 root root  2518 8月  29 2013 accesspathslist.php  
  7. -rw-r--r--.  1 root root  2521 8月  29 2013 accesspathview.php  
  8. drwxr-xr-x.  2 root root  4096 8月  29 2013 actions  
  9. drwxr-xr-x.  5 root root  4096 8月  29 2013 classes  
  10. -rw-r--r--.  1 root root  2557 8月  29 2013 cli.php  
  11. drwxr-xr-x.  2 root root  4096 8月  29 2013 data  
  12. -rw-r--r--.  1 root root  1280 8月  29 2013 error.php  
  13. -rw-r--r--.  1 root root  1061 8月  29 2013 groupcreate.php  
  14. -rw-r--r--.  1 root root  1250 8月  29 2013 grouplist.php  
  15. -rw-r--r--.  1 root root  2828 8月  29 2013 groupview.php  
  16. drwxr-xr-x.  3 root root  4096 8月  29 2013 include  
  17. -rw-r--r--.  1 root root  1193 8月  29 2013 index.php  
  18. -rw-r--r--.  1 root root 18092 8月  29 2013 license.txt  
  19. -rw-r--r--.  1 root root  1324 8月  29 2013 login.php  
  20. -rw-r--r--.  1 root root   991 8月  29 2013 logout.php  
  21. drwxr-xr-x. 10 root root  4096 8月  29 2013 pages  
  22. -rw-r--r--.  1 root root  2541 8月  29 2013 permissionassign.php  
  23. -rw-r--r--.  1 root root   735 8月  29 2013 readme.md  
  24. -rw-r--r--.  1 root root  1259 8月  29 2013 repositorycreate.php  
  25. -rw-r--r--.  1 root root  2362 8月  29 2013 repositorylist.php  
  26. -rw-r--r--.  1 root root  3306 8月  29 2013 repositoryview.php  
  27. -rw-r--r--.  1 root root   402 8月  29 2013 rolelist.php  
  28. -rw-r--r--.  1 root root 21318 8月  29 2013 settings.php  
  29. drwxr-xr-x.  5 root root  4096 8月  29 2013 templates  
  30. drwxr-xr-x.  5 root root  4096 8月  29 2013 translations  
  31. -rw-r--r--.  1 root root  1173 8月  29 2013 update.php  
  32. -rw-r--r--.  1 root root   815 8月  29 2013 userchangepass.php  
  33. -rw-r--r--.  1 root root  1076 8月  29 2013 usercreate.php  
  34. -rw-r--r--.  1 root root  1937 8月  29 2013 usergroupassign.php  
  35. -rw-r--r--.  1 root root  1733 8月  29 2013 userlist.php  
  36. -rw-r--r--.  1 root root  4806 8月  29 2013 userview.php  

9. 拷贝项目到WebServer目录中

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase ~]# cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin  

10. 赋权

赋给web server用户读写项目权限
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase ~]# chmod -R 777 /var/www/html/svnadmin/data/  
  2. [root@developbase ~]# chown -R apache:apache /var/www/html/svnadmin/  

11. 启动WebServer服务

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [root@developbase ~]# service httpd restart  
启动webserver服务后,浏览器地址输入http://servername/svnadmin出现配置界面,输入下图中配置信息,输入每个配置信息可以点击旁边的Test测试是否输入正确
输入完成后点击Save configuration。提示默认账户admin/admin
 使用默认账户admin登录后,可以查看版本信息等。
点击Repositories并选择Add,创建一个repo
输入需要创建的repo名称,其他默认即可,然后点击Create,创建完成repo后,点击Access-Paths添加权限
赋予admin 读写权限
通过http://servername/svn/reponame,使用admin账户进入刚刚建立完成的repo
之后就可以通过svn客户端checkout或者import代码进行版本管理了。谢谢大家
转载请注明出处:http://write.blog.csdn.net/postedit/22666981 谢谢
参考资料:
http://wiki./HowTos/Subversion
http://svnadmin./documentation/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多