配置Apache svn 服务器

本文参考了这篇文章

概要:
  • svn (subversion) 是一种开源免费的软件项目源文件版本管理工具
  • svn 服务器是集中管理 svn 容器,并允许 svn 客户端通过http或者远程登录访问 svn 容器的服务器。 
  • 本文介绍在 Mac OS 或者 Cent OS 下建立一个允许客户端通过 http 访问的 svn 服务器的方法。

环境:
  • Apache:
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY !
  • OS: 
    Mac OS X 10.6 Snow Leopard
    Mac OS X 10.7 Lion
    Cent OS 5.6 Final

预备知识


Mac OS X 对 svn 的兼容:
  • 默认安装了如下 svn 命令行工具
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY !

  • 内置的Apache服务器中预装了 svn 需要的模块 mod_dav.so 和 mod_dav_svn.so  
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY !
    其中 mod_dav.so 默认加载,mod_dav_svn.so 需要手动配置加载。后述。

  • 内置 Apache 服务器安装路径:
     /etc/apache2/

关于 WebDAV/DeltaV 协议
  • 这是两个应用层协议,提供svn需要的远程认证,metadata管理,版本管理和配置管理功能。
  • Apache 2.0 开始通过mod_dav模块支持这两个协议。

关于在 Mac OS X 内置的 Apache 中安装模块
  • 内置的 Apache 存放模块文件的位置(和通常安装的Apache不同)
    /usr/libexec/apache2/
  • 本次需要的模块已经存在,所以未进行另外安装。

配置http访问

创建svn容器 
  • 在自己的用户文件夹下创建一个容器 /Users/nutcracker/repository
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY !
     
配置 Apache
  • CentOS :
    sudo yum -y install httpd subversion mod_dav_svn
    无需手动编辑Apache配置文件。

  • Mac OS :
    编辑 /etc/apache2/httpd.conf,使 Apache 启动时加载 mod_dav_svn 模块
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY !
    mod_dav_svn 加载指令要放在mod_dav加载指令的后面。
    注意需要用root权限编辑,否则无法保存。
    sudo vim /etc/apache2/httpd.conf 

  • 在 httpd.conf 中添加下面指令来告诉 Apache 将所有路径部分以/repos开头的URL交给位于SVNPath下的 DAV provider 来处理。SVNPath 为前面创建的容器的路径。
    <Location /repos>
            DAV svn
            SVNPath /Users/nutcracker/repository
    </Location>

  • 重启 Apache (Mac OS X 有自己的启动方法,参照以前的文章) 
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY ! 

测试方法
  • 创建测试项目 
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY !
  • 添加到容器
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY !
  • 浏览器访问
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY !

  • checkout 
    Mac OS X 配置 svn 服务器 - 鬼武者 - FIGHTING FOR GLORY !

  • 配置成功 

Cent OS 和 Lion 下遇到的问题

  • errcode="13" Could not open the requested SVN filesystem
  • 原因是将容器创建在/home/nutcracker/repos,apache没有访问权限。
  • Snow Leopard下将repos文件夹chmod到777就可以访问,而CentOS和Lion不行,chown到apache.apache也不行。原因不明。
  • 将容器创建在 /var/www/svn/ 下即可解决。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了配置一个 SVN 服务器在 Windows 上,您可以按照以下步骤进行操作: 1. 下载并安装 SVN 服务器软件:您可以从 Apache Subversion 的官方网站 (https://subversion.apache.org/) 下载最新的 Windows 版本。 2. 解压缩下载的软件包:将下载的软件包解压缩到您选择的目录。 3. 创建版本库:使用以下命令创建一个版本库(repository): ``` svnadmin create <repository_path> ``` 其中,`<repository_path>` 是你希望存储版本库的路径。 4. 配置访问权限:在版本库的根目录下,编辑 `conf/svnserve.conf` 文件,并确保以下配置被启用: ``` [general] anon-access = none auth-access = write password-db = passwd ``` 这将禁止匿名访问,允许认证用户进行写操作,并指定使用 `passwd` 文件作为密码数据库。 5. 配置用户和密码:在 `conf` 目录下,编辑 `passwd` 文件,添加用户和密码。例如: ``` [users] user1 = password1 user2 = password2 ``` 6. 启动 SVN 服务器:在 SVN 服务器软件目录下,执行以下命令来启动服务器: ``` svnserve -d -r <repository_path> ``` 其中,`<repository_path>` 是你之前创建的版本库路径。 7. 配置防火墙:如果您的服务器上启用了防火墙,请确保在防火墙中打开 TCP 端口 3690,以便客户端可以与 SVN 服务器进行通信。 完成以上步骤后,您的 SVN 服务器就可以在 Windows 上使用了。您可以使用 SVN 客户端工具(例如 TortoiseSVN,RapidSVN 等)来访问和管理版本库。记得在客户端连接时使用正确的服务器地址和认证信息。 希望这些信息对您有所帮助!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值