zoukankan      html  css  js  c++  java
  • Ubuntu Server搭建svn服务以及迁移方法【转】

    转自:http://www.linuxidc.com/Linux/2013-05/84693.htm

    Ubuntu Server搭建svn服务以及迁移方法

    采用apache+svn,http访问方式。

    先确定安装了apache,没有安装则用以下命令:

    1. sudo apt-get install apache2

    然后安装subversion及svn-apache连接库:

    1. sudo apt-get install subversion
    2. sudo apt-get install libapache2-svn

    增加svn用户组,用于管理svn,并加入到www-data的apache组:

    1. sudo addgroup subversion
    2. sudo usermod -G subversion -a www-data

    然后可以创建svn项目仓库了:

    1. # 一般可以将项目仓库建立到/home/svn目录
    2. # 假设项目名为myproject,先建立空目录
    3. $ sudo mkdir /home/svn
    4. $ cd /home/svn
    5. $ sudo mkdir myproject
    6. $ sudo chown -R root:subversion myproject
    7. #创建为svn项目,使用以下命令
    8. $ sudo svnadmin create /home/svn/myproject
    9. # 然后才赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
    10. # 如果命令顺序搞错,可能会报错,请参照官方wiki
    11. $ sudo chmod -R g+rws myproject

    最后是配置apache,用http协议访问svn服务:

    1. # 在安装了libapache2-svn时会自动生成该文件
    2. $ sudo vi /etc/apache2/mods-available/dav_svn.conf

    编辑dav_svn.conf配置文件,内有注释,可以去掉前面的#使语句生效,最后内容大概如下即可:

    1. <Location/svn> #/svn表示http://hostname/svn/myproject
    2. DAV svn
    3. SVNParentPath /home/svn #配置仓库父目录
    4. AuthType Basic
    5. AuthName "ToFishes Project Svn"
    6. AuthUserFile /etc/subversion/passwd #svn用户文件
    7. AuthzSVNAccessFile /etc/subversion/authz #授权访问文件
    8. Require valid-user
    9. </Location>

    svn用户文件/etc/subversion/passwd 和 授权访问文件/etc/subversion/authz是不存在的,需要手动创建。

    svn用户文件可以通过命令创建:

    1. #首次创建需要加-c选项,同时可以增加一个svn用户
    2. #执行该命令会提示为新用户user_name设置密码
    3. sudo htpasswd -/etc/subversion/passwd user_name
    4. #以后添加新用户,需要去掉-c选项,否则以前的用户就被覆灭了
    5. sudo htpasswd /etc/subversion/passwd new_name

    用户是可以添加了,同时需要管理授权,用于多个svn项目,划分不同的用户组:

    用vi /etc/subversion/authz编辑授权文件,无文件则编辑并保存后会自动创建,无需担心。

    授权文件内容格式如下:

    1. #用户组指令
    2. [groups]
    3. #格式为  组名 = 用户名1,用户名2
    4. group1 = user1, user2
    5. group2 = user1, user3
    6. #other groups...
    7. #格式为  svn项目的仓库名:对应目录
    8. [svn_repository_name:/]
    9. #设置组的权限,r=read, w=write
    10. @group1= rw
    11. [svn_repository_name2:/web/css]
    12. @group2= rw

    改完最后重启apache : sudo /etc/init.d/apache2 restart。这样工作就全部完成了。

    其中访问地址是什么呢,只要当前服务器已经绑定了一个域名,并且在apache中启用了此域名的虚拟主机。

    比如能正常访问 http://www.linuxidc.com/, 那么svn项目的访问地址就是 http://www.linuxidc.com/svn/项目名。

  • 相关阅读:
    标准C++中的string类的用法总结
    JSON用法简介
    拷贝构造函数的调用时机
    define中的:#,##,#@
    一个二维码支持支付宝和微信支付(下)
    一个二维码支持支付宝和微信支付(上)
    【JAVA笔记】JAVA后端实现统一扫码支付:微信篇
    java生成二维码,读取(解析)二维码图片
    Java程序员的日常—— IOUtils总结
    Java: Map里面的键和值可以为空吗?
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/5186589.html
Copyright © 2011-2022 走看看