Centos下安装svn

写在前面:

   突发奇想想安装自己的svn,按照网上的教程一步一步确怎么也不成功,解决了好久,其实就是一步之遥,或是一个空格的事,  吐血的……

在Centos下安装SVN很简单,使用yum很快就搞定。

[html]  view plain copy
  1. yum install mod_dav_svn subversion  


下面主要探讨下svn的配置。
1、建立 SVN 的根目录:

[html]  view plain copy
  1. [root@vm-moodle ~]# mkdir -p /opt/svn/   


2、建立一个数据仓库:

[html]  view plain copy
  1. [root@vm-moodle ~]# mkdir -p /opt/svn/edu/  
  2. [root@vm-moodle ~]# svnadmin create opt/svn/edu/  


3、修改配置文件:

[html]  view plain copy
  1. [root@vm-moodle ~]# cd /opt/svn/edu/conf/  
  2. [root@vm-moodle conf]# ll  
  3. 总计 24  
  4. -rw-r--r-- 1 root root 710 10-25 09:40 authz  
  5. -rw-r--r-- 1 root root 325 10-25 09:38 passwd  
  6. -rw-r--r-- 1 root root 1449 10-25 09:36 svnserve.conf  
  7.   
  8. ##****************************************************************  
  9. #  注意,下面的配置文件中的参数前面一定不能留空格,否则后果自负!  
  10. ##****************************************************************  
  11. [root@vm-moodle conf]# vi svnserve.conf  
  12. [general]  
  13. anon-access = none    #不允许匿名访问  
  14. auth-access = write   #认证用户可写  
  15. password-db = passwd  #密码文件  
  16. authz-db = authz      #用户验证文件  
  17.   
  18. [root@vm-moodle conf]# vi authz  
  19. [edu:/]  
  20. hansy = rw  
  21. # 给edu仓库添加一个名称为的用户,权限为可写。   
  22.   
  23. [root@vm-moodle conf]# vi passwd  
  24. hansy = 87827192  
  25. # 密码可以是加密密码,也可以是明文,根据前面的配置来决定  


4、启动服务:

[html]  view plain copy
  1. #启动SVN 服务,并指定 SVN 的根目录:  
  2. [root@vm-moodle ~]# svnserve -d -r /opt/svn/   
  3.   
  4. #查看服务是否正常起来:  
  5. [root@vm-moodle ~]# netstat -tunlp | grep svn  
  6. tcp 0 0 0.0.0.0:3690 0.0.0.0:*   
  7. EN 3970/svnserve  
  8. #LISTEN 监听端口3690  


5、在Win上安装TortoiseSVN客户端
下载需要的Tortoise版本进行安装。因为这里的安装没有和WEB服务如Apache连接,所以在客户端访问时使用SVN协议进行。
一般如:svn://192.168.1.10/edu
输入用户名、密码即可正常访问。

 

一问一答:
问:安装好svn服务后在windows下用svn客户端连接不上svn服务器?
答:一般是centos中SVN的3690端口没有打开,使用下面方法

[html]  view plain copy
  1. [root@vm-moodle ~]#iptables -I INPUT -p tcp --dport 3690 -j ACCEPT  #开放3690端口  
  2. [root@vm-moodle ~]#/etc/rc.d/init.d/iptables save                  #保存配置,非常重要   
  3. [root@vm-moodle ~]#/etc/init.d/iptables status   # 查看是否已经成功:  


问:配置基于svnserve的subversion服务器后,在客户端访问subversion版本库时出现这个错误:svnserve.conf:12: Option expected;为什么会出现这个错误呢?
答:因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件。看下面的配置文件。

[html]  view plain copy
  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 = read  
  6.   auth-access = write  


在上面的配置文件中,anon-access是顶行的,没问题,而auth-access就存在前置空格,会导致这个错误。
要避免出现这个错误,应该在去掉这些行前的#时,也要顺手去掉前面的空格.

问:如何输入TortoiseSVN的用户名、密码?
答:很多时候,为了方便,我们在使用Tortoise时,会勾选密码输入框那里的保存验证信息。但是当我们想换一个用户登录时,却可能发现不知道怎么换用户进行登录。Tortoise的用户名密码等认证信息都是缓存在客户端文件系统的这个目录:
C:/Documents and Settings/Administrator/Application Data/Subversion/auth
删除auth下面的所有文件夹,重新连接远程服务器进行检出,对话框就会出现!

<think>好的,我现在需要帮助用户解决在CentOS安装SVN的问题。首先,我需要回忆一下相关的步骤,并确保信息的准确性。根据用户提供的引用,特别是引用[1]和引用[2],这两个资源都提到了在CentOS安装SVN的步骤,结合Apache和可能的HTTPS配置。不过用户现在主要问的是安装步骤,可能不需要立即配置HTTPS,但可能需要基础安装指南。 首先,安装SVN通常需要安装Apache和mod_dav_svn模块。CentOS 6和7的步骤可能有所不同,但用户的问题没有指定版本,可能需要考虑通用的方法,或者根据引用中的CentOS 6和7的情况分开说明。不过用户的问题可能更倾向于CentOS 7,因为引用[2]提到了CentOS 7,但引用[1]是CentOS 6。不过用户只是要安装步骤,可能需要通用的部分。 接下来,我需要检查安装步骤是否正确。通常步骤是: 1. 更新系统包 2. 安装Apache和SVN相关软件包(subversion, mod_dav_svn) 3. 配置Apache以支持SVN 4. 创建仓库并设置权限 5. 启动服务并测试 需要确保这些步骤在CentOS上适用。例如,安装subversion和mod_dav_svn可能需要使用yum或dnf,取决于CentOS版本。对于CentOS 7,应该使用yum。 然后,用户可能需要创建仓库目录,设置SELinux上下文,配置Apache的配置文件,例如在/etc/httpd/conf.d/subversion.conf中添加Location块,指向仓库路径,并启用认证,如Basic Auth。这可能涉及创建密码文件,使用htpasswd命令。 另外,引用[1]提到使用USVN,但用户可能不需要这个,所以需要区分是否要安装USVN还是普通的SVN。根据用户的问题,他可能只需要普通的SVN安装,所以可能需要忽略USVN部分,专注于subversion和Apache的集成。 同时,引用[2]提到了使用Let's Encrypt配置HTTPS,但用户当前的问题可能不需要这部分,除非用户后续需要。因此,安装步骤应该集中在基本安装,可能提及后续配置HTTPS作为可选步骤。 需要确保每个步骤的命令正确,例如安装包名称是否正确,Apache服务名称是否正确(httpd),以及仓库路径的权限设置是否正确,包括SELinux的配置,如果启用的话,可能需要使用chcon或semanage命令。 另外,防火墙配置可能需要开放HTTP/HTTPS端口,用户可能需要运行firewall-cmd命令,这部分是否需要包含?可能作为步骤的一部分,以确保用户安装后可以访问。 最后,测试部分,用户可能需要通过浏览器或svn客户端访问仓库URL,比如http://服务器IP/svn/仓库名,并进行检出操作。 现在,需要将这些步骤整理成用户容易理解的逐步指南,确保命令正确,并且注意事项如SELinux和防火墙被提及。同时,根据引用中的信息,引用[1]和[2]提供了相关步骤,可以引用这些来源作为参考。</think>以下是在CentOS系统上安装Subversion(SVN)的分步指南,结合Apache实现Web访问支持: ### 一、安装基础软件包 ```bash # 更新系统并安装必要组件 sudo yum update -y sudo yum install -y httpd subversion mod_dav_svn ``` 安装完成后验证版本:`svn --version`[^1] ### 二、创建SVN仓库 ```bash # 创建仓库目录并初始化 sudo mkdir -p /var/www/svn sudo svnadmin create /var/www/svn/myrepo # 设置目录权限(根据实际用户调整) sudo chown -R apache:apache /var/www/svn sudo chmod -R 775 /var/www/svn # 若启用了SELinux需执行: sudo chcon -R -t httpd_sys_content_t /var/www/svn sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/myrepo ``` ### 三、配置Apache集成 1. 创建配置文件: ```bash sudo vi /etc/httpd/conf.d/subversion.conf ``` 2. 添加以下内容(按实际路径修改): ```apache LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath /var/www/svn SVNListParentPath On # 启用基本认证 AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/svn-auth-conf Require valid-user </Location> ``` ### 四、创建用户认证 ```bash # 创建第一个用户(重复执行可添加多个用户) sudo htpasswd -cm /etc/svn-auth-conf admin ``` ### 五、启动服务 ```bash sudo systemctl enable httpd sudo systemctl start httpd # 开放防火墙(若启用) sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload ``` ### 六、验证安装 1. 浏览器访问:`http://服务器IP/svn/myrepo` 2. 命令行测试: ```bash svn checkout http://localhost/svn/myrepo test-repo ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值