linux svn服务端安装与配置

简介:

由于公司需要一个svn,所以我最近研究了一下svn,下面是我的笔记,分享给大家,如果有不对的地方,请指点!

我搭建的是基于Apache Http Server的svn,我的系统发行版本是redhat 5.4.

 

 
  1. 1、安装apache与svn,还有svn需要的模块mod_dav_svn  
  2. yum install httpd httpd-devel subversion mod_dav_svn  
  3. 2、查看svn的mod_dav_svn模块是否安装  
  4. [root@nginx-backup ~]# cd /etc/httpd/modules/  
  5. [root@nginx-backup modules]# ll |grep svn  
  6. -rwxr-xr-x 1 root root   12704 2011-06-09 mod_authz_svn.so  
  7. -rwxr-xr-x 1 root root  146928 2011-06-09 mod_dav_svn.so  
  8. 3、查看svn是否安装成功  
  9. [root@nginx-backup modules]# svn --version  
  10. svn, version 1.6.11 (r934486)  
  11.    compiled Jun  8 2011, 16:22:13  
  12.  
  13. Copyright (C) 2000-2009 CollabNet.  
  14. Subversion is open source software, see http://subversion.tigris.org/  
  15. This product includes software developed by CollabNet (http://www.Collab.Net/).  
  16.  
  17. The following repository access (RA) modules are available:  
  18.  
  19. * ra_neon : Module for accessing a repository via WebDAV protocol using Neon.  
  20.   - handles 'http' scheme  
  21.   - handles 'https' scheme  
  22. * ra_svn : Module for accessing a repository using the svn network protocol.  
  23.   - with Cyrus SASL authentication  
  24.   - handles 'svn' scheme  
  25. * ra_local : Module for accessing a repository on local disk.  
  26.   - handles 'file' scheme  
  27. 如果出现这些内容就代表你的svn安装成功  
  28. 4、创建仓库,以及仓库目录的设置  
  29. [root@nginx-backup modules]# mkdir -p /svndata  
  30. [root@nginx-backup modules]# cd /svndata/   
  31. [root@nginx-backup svndata]# svnadmin create ctitc ##创建仓库,仓库名字为ctitc  
  32. [root@nginx-backup svndata]# chown -R apache:apache ctitc ##更改仓库ctitc的用户为apache,这个apache与apache里的httpd.conf里的用户应该一致  
  33.  [root@nginx-backup svndata]#vim /etc/httpd/conf.d/subversion.conf ##在最后面添加一下内容  
  34. <Location /svn> 
  35. DAV svn  
  36. #SVNParentPath /svndata/ctitc/  
  37. #  
  38. #   # Limit write permission to list of valid users.  
  39. #   <LimitExcept GET PROPFIND OPTIONS REPORT> 
  40. #      # Require SSL connection for password protection.  
  41. #      # SSLRequireSSL  
  42. #  
  43. SVNListParentPath on  
  44. #SVNParentPath "/svndata/ctitc/test" ##svn打开时的目录,如果你是多个仓库用SVNParentPath,只有1个的话使用SVNPath  
  45. SVNPath "/svndata/ctitc"  
  46. AuthType Basic  
  47. AuthName "Subversion repository"  
  48. AuthUserFile "/svndata/ctitc/conf/authfile"  
  49. Require valid-user  
  50. SVNAutoversioning on  
  51. ModMimeUsePathInfo on  
  52. #   </LimitExcept> 
  53. </Location> 
  54.  5、添加用户  
  55. [root@nginx-backup svndata]# htpasswd -c /svndata/ctitc/conf/authfile test ##建立访问的用户test  
  56. 如果想要添加多个用户可以使用  
  57. [root@nginx-backup svndata]# htpasswd /svndata/ctitc/conf/authfile test    
  58. 6、配置权限  
  59. [root@nginx-backup svndata]# vim /svndata/ctitc/conf/authz   
  60. [groups]  
  61. admin = test ##用户组为admin,里面的用户为test  
  62. [admin:/]      
  63. @admin = rw   ##admin组具有读写权限  
  64. [/]  
  65. * = r         #其他用户具有读权限  
  66. [ctitc:/]     ##ctitc仓库根目录下的访问权限  
  67. test = rw    ##用户test具有读写权限  
  68. 7、svn的import导入  
  69. [root@nginx-backup svndata]# svn import /svndata/ctitc/ file:///svndata/ctitc -m "Initial repository"       
  70. 8、配置svn服务端  
  71. [root@nginx-backup svndata]# vim /svndata/ctitc/conf/svnserve.conf      
  72. 内容修改为:  
  73. [general]  
  74. anon-access = none 
  75. auth-access = write 
  76. password-db = /svndata/ctitc/conf/passwd  
  77. authz-db = /svndata/ctitc/conf/authz  
  78. realm = ctitc 
  79. 注意,把这几项的#去掉的时候,一定要这些空格都删除,否则会出现错误。  
  80. 9、修改passwd  
  81. [root@nginx-backup svndata]# vim /svndata/ctitc/conf/passwd   
  82.  
  83. [users]  
  84. harry = harryssecret 
  85. sally = sallyssecret 
  86. test= test ##我设置的用户与密码均为test  
  87. 现在svn的服务都配置完成了,需要重启启动apache与svnserve  
  88.  [root@nginx-backup svndata]# service httpd restart  
  89.  [root@nginx-backup svndata]# svnserve -d -r /svndata/ctitc/  
  90. 然后查看apache与svnserve是否启动  
  91. [root@nginx-backup svndata]# ps -ef|grep httpd  
  92. root      4902     1  0 Dec27 ?        00:00:00 /usr/sbin/httpd  
  93. apache    4904  4902  0 Dec27 ?        00:00:10 /usr/sbin/httpd  
  94. apache    4905  4902  0 Dec27 ?        00:00:17 /usr/sbin/httpd  
  95. apache    4906  4902  0 Dec27 ?        00:00:08 /usr/sbin/httpd  
  96. apache    4907  4902  0 Dec27 ?        00:01:28 /usr/sbin/httpd  
  97. apache    4908  4902  0 Dec27 ?        00:00:15 /usr/sbin/httpd  
  98. apache    4909  4902  0 Dec27 ?        00:00:19 /usr/sbin/httpd  
  99. apache    4910  4902  0 Dec27 ?        00:00:10 /usr/sbin/httpd  
  100. apache    4911  4902  0 Dec27 ?        00:00:04 /usr/sbin/httpd  
  101. apache    5142  4902  0 Dec27 ?        00:00:15 /usr/sbin/httpd  
  102. apache   21541  4902  0 12:02 ?        00:00:02 /usr/sbin/httpd  
  103. root     24116 23659  0 14:42 pts/2    00:00:00 grep httpd  
  104. [root@nginx-backup svndata]# ps -ef|grep svnserve  
  105. root      4915     1  0 Dec27 ?        00:00:00 svnserve -d -r /svndata/ctitc/  
  106. root     24118 23659  0 14:42 pts/2    00:00:00 grep svnserve          
 

现在就可以在浏览器里输入http://127.0.0.1/svn就能访问你的svn了,账号与密码均为test。 

需要注意的是,如果想创建与修改svn里的文件,需要使用svn客户端来进行,比如我使用的就是TortoiseSVN,具体如何使用这类就不介绍了,大家可以参照http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html来学习。

 再回复里,有人出现还有一个就是在svn commit的时候提示
Can't open file '/svndata/XXXXXXX/txn-current-lock': Permission denied

这个是因为selinux没有关闭,由于我是在生产机器部署的svn,前端有了防火墙与负载均衡设备,所以我的iptables与selinux都已经关闭,所以没有出现此问题,请大家在配置svn的时候注意iptables与selinux。


 本文转自 dl528888 51CTO博客,原文链接:http://blog.51cto.com/dl528888/752892,如需转载请自行联系原作者




相关文章
|
5月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
3月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
441 11
|
6月前
|
Kubernetes Linux 网络安全
Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
初始化成功后,记录下显示的 `kubeadm join`命令。
342 0
|
7月前
|
Java Linux 开发工具
Linux下版本控制器(SVN) -命令行客户端
Linux下版本控制器(SVN) -命令行客户端
216 4
|
8月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
516 11
|
7月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
313 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
7月前
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
402 0
|
9月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
405 10
|
9月前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
1343 1
|
10月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。