ubuntu下搭建svn服务器

本文详细介绍了在Ubuntu系统上安装Subversion (SVN) 的步骤,并配置SVN服务器的过程,包括创建用户组、设置文件仓库及权限等。

一、安装

直接使用命令安装

  
  1. $ sudo apt-get install subversion

安装完成后,你也许会问,它给我装到什么地方去呢?不要急用whereis即可知道

sucre‘s blog

二、服务器配置

1、创建相应的用户及群组

  
  1. sudo addgroup subversion
  2. sudo usermod -G subversion -a sucre

使用reboot重启系统,使得上面的配置生效,重启完成后,执行下面的命令

  
  1. $ sudo mkdir /home/svn
  2. $ cd /home/svn
  3. $ sudo mkdir myproject
  4. $ sudo chown -R root:subversion myproject

myproject是你的工程名,以下是chown的用法

  
  1. sucre@sucre-ubuntu:~$ chown --help
  2. 用法:chown [选项]... [所有者][:[组]] 文件...
  3. 或:chown [选项]... --reference=参考文件 文件...
  4. 更改每个文件的所有者和/或所属组。
  5. 当使用 --referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。
  6. -c, --changes 类似 verbose,但只在有更改时才显示结果
  7. --dereference 受影响的是符号链接所指示的对象,而非符号链接本身
  8. -h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地
  9. (当系统支持更改符号链接的所有者时,此选项才有用)
  10. --from=目前所有者:目前组
  11. 只当每个文件的所有者和组符合选项所指定的,
  12. 才会更改所有者和组。其中一个可以省略,这时
  13. 已省略的属性就不需要符合原有的属性。
  14. --no-preserve-root 不特殊对待"/"(默认值)
  15. --preserve-root 不允许在"/"上递归操作
  16. -f, --silent, --quiet 去除大部份的错误信息
  17. --reference=参考文件 使用参考文件的所属组,而非指定值
  18. -R, --recursive 递归处理所有的文件及子目录
  19. -v, --verbose 为处理的所有文件显示诊断信息
  20. 以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。
  21. 如果您指定了多于一个选项,那么只有最后一个会生效。
  22. -H 如果命令行参数是一个通到目录的符号链接,则遍历符号链接
  23. -L 遍历每一个遇到的通到目录的符号链接
  24. -P 不遍历任何符号链接(默认)
  25. --help 显示此帮助信息并退出
  26. --version 输出版本信息并退出
  27. 如果没有指定所有者,则不会更改。 所属组若没有指定也不会更改,但当加上
  28. ":"GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。
  29. 示例:
  30. chown root /u 将 /u 的属主更改为"root"
  31. chown root:staff /u 和上面类似,但同时也将其属组更改为"staff"
  32. chown -hR root /u 将 /u 及其子目录下所有文件的属主更改为"root"
  33. 请向bug-coreutils@gnu.org 报告chown 的错误
  34. GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
  35. GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
  36. 请向<http://translationproject.org/team/zh_CN.html> 报告chown 的翻译错误

2、下面的命令用于创建 SVN 文件仓库:

  
  1. $ sudo svnadmin create /home/svn/myproject

3、赋予组成员对所有新加入文件仓库的文件拥有相应的权限:

  
  1. $ sudo chmod -R g+rws myproject

三、访问权限设置

当创建了 SVN 文件仓库,您可以修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制。

可以取消下面的注释符号来设置授权机制:

  
  1. # [general]
  2. # password-db = passwd

现在,可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:

  
  1. username = password
  2. #(注意行开始不要有多余空格)

sucre‘s blog

现在,可以在本地或者远程通过 svn://访问 SVN 了,您可以使用“svnserve”来运行 svnserver,语法如下:

  
  1. $ svnserve -d --foreground -r /home/svn

运行这个命令后,如果没有任何提示就说明运行成功了,我们的svn就已经配置好了,让我们从myeclipse里面来访问试试看,先myeclipse切换到svn模式下,然后新建一个远程位置:

sucre‘s blog

成功后,你会看见这样一个图:

这样就成功了,说明已经连接上ubuntu上的svn了,有什么问题,大家可以留言,一起交流进步。

本文出自 “乔磊的博客 学习 进步” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/381675

### 安装和配置SVN服务器的步骤 #### 1. 安装SubversionUbuntu系统上安装SVN服务器,首先需要安装`subversion`软件包。可以通过以下命令进行安装: ```bash sudo apt-get install subversion ``` #### 2. 创建版本库 创建一个目录作为SVN版本库的存储位置,并在此目录下创建具体的版本库。例如: ```bash sudo mkdir /home/svn sudo svnadmin create /home/svn/suc ``` 此操作将在`/home/svn`目录下创建名为`suc`的版本库。 #### 3. 配置版本库 进入创建的版本库目录中,可以看到多个文件夹和配置文件,其中`conf`目录下的文件尤为重要,包括`authz`、`passwd`和`svnserve.conf`等配置文件。这些文件可以用来设置访问控制和用户权限[^4]。 - **修改`svnserve.conf`**:编辑此文件以启用匿名访问或基于用户的认证。 ```bash sudo nano /home/svn/suc/conf/svnserve.conf ``` 修改内容如下: ``` anon-access = read auth-access = write password-db = passwd authz-db = authz realm = /home/svn/suc ``` - **设置用户账户**:编辑`passwd`文件以添加用户及其密码。 ```bash sudo nano /home/svn/suc/conf/passwd ``` 添加用户信息,格式为`用户名 = 密码`。 - **配置权限**:编辑`authz`文件以定义不同用户的访问权限。 ```bash sudo nano /home/svn/suc/conf/authz ``` 可以按需分配对特定路径的读写权限。 #### 4. 启动SVN服务 启动SVN服务并指定版本库的根目录。如果服务器有多个IP地址,还可以使用`--listen-host`参数来指定监听的IP地址。对于多个仓库的情况,可以使用`-r`选项指定服务器根目录,并通过相对路径访问各个仓库[^3]。 ```bash sudo svnserve -d -r /home/svn --listen-host 10.19.3.103 ``` #### 5. 检查服务状态 确认SVN服务是否成功启动,可以通过检查进程列表来验证。 ```bash ps aux | grep svnserve ``` 如果看到类似以下输出,则表示服务已经正常运行: ``` user 17685 0.0 0.0 75232 2956 ? Ss 15:48 0:00 svnserve -d -r /home/svn ``` #### 6. 客户端访问 客户端可以通过`svn://`协议访问SVN服务器。例如,要访问之前创建的`suc`仓库,可以使用以下URL: ``` svn://10.19.3.103/suc ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值