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

简介: 转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式。

转自: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/项目名。

【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
12天前
|
Ubuntu Python
Ubuntu 安装Python3.8
Ubuntu 安装Python3.8
50 0
|
1天前
|
存储 Ubuntu 关系型数据库
Ubuntu 20.04 卸载与安装 MySQL 5.7 详细教程
该文档提供了在Ubuntu上卸载和安装MySQL 5.7的步骤。首先,通过`apt`命令卸载所有MySQL相关软件包及配置。然后,下载特定版本(5.7.32)的MySQL安装包,解压并安装所需依赖。接着,按照特定顺序安装解压后的deb包,并在安装过程中设置root用户的密码。安装完成后,启动MySQL服务,连接数据库并验证。最后,提到了开启GTID和二进制日志的配置方法。
|
11天前
|
Ubuntu Linux Docker
window10下安装ubuntu系统以及docker使用
window10下安装ubuntu系统以及docker使用
|
11天前
|
Ubuntu Java
Ubuntu18.04下安装ES6.8基础服务 - 蓝易云
以上就是在Ubuntu 18.04下安装Elasticsearch 6.8的基本步骤。
11 0
|
12天前
|
并行计算 Ubuntu Docker
Docker环境Ubuntu20.04安装Python3.10版本
Docker环境Ubuntu20.04安装Python3.10版本
78 0
|
12天前
|
Ubuntu Shell Linux
ubuntu安装conda
ubuntu安装conda
17 0
|
12天前
|
Ubuntu Docker 容器
Ubuntu 22.04.3 LTS_安装Docker
Ubuntu 22.04.3 LTS_安装Docker
122 1
|
12天前
|
并行计算 Shell Docker
【环境配置】Ubuntu16.04安装nvidia-docker
【环境配置】Ubuntu16.04安装nvidia-docker
21 2
|
12天前
|
并行计算 Ubuntu
Ubuntu安装CUDA和cuDNN
Ubuntu安装CUDA和cuDNN
19 3