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,如需转载请自行联系原作者




相关文章
|
4天前
|
Oracle 关系型数据库 Linux
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
36 20
|
24天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
27天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
124 20
|
17天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
129 7
|
20天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
151 7
|
27天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
42 2
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
86 4
|
2月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
83 9
|
2月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
73 5