在Ubuntu上搭建SVN服务器


      最近在学习Linux,就用旧电脑装了Ubuntu的系统,同时想把这台电脑做成一台私有服务器,同步代码,所以就尝试了给Ubuntu搭建了SVN。网上有很多教程,都差不多,所以也就大概总结一下。

      1、安装apache和SVN

    sudo apt-get install apache2
    sudo apt-get install subversion
       2、安装apache和SVN的连接库 

    sudo apt-get install libapache2-svn

     3、增加SVN的用户组,用于管理SVN,并加入到www-data的apache组
   sudo addgroup subversion
   sudo usermod -G subversion -a www-data
     4、创建svn版本库目录     
   svnadmin create /var/svn/testproject
         然后进入testproject目录,里面会有几个目录。

     进入conf目录,这个目录将是该svn库的配置文件。里面的authz文件是权限控制文件,passwd为账户文件。svnserve.conf是svn的配置文件。

    5、配置apache文件。路径在:

/etc/apache2/mods-available/dav_svn.conf
     修改此文件

<Location /testproject>
       DAV svn
       SVNPath /var/svn/testproject
       AuthType Basic
       AuthName "svn for testproject"
       AuthUserFile /var/svn/testproject/conf/passwd
       AuthzSVNAccessFile /var/svn/testproject/conf/authz
       Require valid-user
</Location>
      6、添加用户

   sudo htpasswd -c /etc/subversion/passwd user_name//user_name是需要创建的用户名,接下来会输入密码。

      第一次创建用户,需要加入-c,后面添加用户就不用再加上-c了。

       7、为用户添加权限,文件是刚才在testproject/conf下的authz文件

[/]
user1=rw

完成后,可能还不能使用,需要重新加载一次

    a2enmod authz_svn  
    a2enmod dav_svn  
还有就是修改conf目录下的svnserve.conf

打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/testproject# 认证空间名,版本库所在目录

这样就基本创建完成了,那么开始启动svn服务器了。

sudo /etc/init.d/apache2 start
这样就可以直接成功了。

      上面只是简单的常见了svn服务器,网上有很多文章,可以借鉴。


在使用中,发现创建后,其他用户也能登录,但是却不能创建任何远程文件夹或者提交代码,这时会出现一个类似于:

\db\txn-current-lock的错误。

这时候可以参考一下文章:点击打开链接


     在网上搜了好多资料,都说是权限的问题。

“这种错误比较常见,而且一开始我一直以为是自己没有配置好认证权限的问题,我反复的配置10,11两步,结果还是没解决,我在windows下用 tortoiseSVN客户端
一直无法commit和添加文件,老是弹出这个错误。可我在linux下可以用

#svn import …. 这个命令,我一直很纳闷,后来经过琢磨和上网搜索,终于解决。问题在于我的/home/svn目录下的一切子目录和文件都是属于root用户的,而我每次
 在linux下也是以root 用户import的,所以一直没有问题。可在windows从客户端访问就有问题了。

解决办法: 把/home/svn目录下的所有文件和子目录添加读写权限

#chmod –R o+rw /home/svn

Okay, 问题解决。现在可以方便从windows下面checkout和commit了。”
 
这是网上找到资料,因为我的环境就是windows下的,后来折腾了半天,发现是只有拥有管理器权限的人才能对目录进行完全控制,而在windows从客户端访问的话,
因为是Users用户组的,对Repository没有修改权限。
在服务器上把Users对svn目录<的完全控制权限加上就OK了。





1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值