centos下svn和Apache的结合使用

1.代码库创建

SVN软件安装完成后还需要建立SVN库

mkdir -p /var/www/svn/dyh

svnadmin create /var/www/svn/dyh

2.我直接使用httpd服务(yum安装的httpd服务)来使svn结合Apache。二者结合使用时Apache需要加载以下两个模块。

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

可以查看cat /etc/httpd/conf/httpd.conf | grep   .*_svn.so 模块是否存在。

若不存在则,yum install -y  mod_dav_svn。

3.修改httpd.conf文件。如下图所示:

centos下svn和Apache的结合使用

可结合/etc/httpd/conf.d/subversion.conf里面的说明来进行配置。("SVNParentPath /var/www/svn" 表示 /var/www/svn 下的每个子目录都是一个版本库。可以通过                http://服务器IP/repos/repos1http://服务器IP/repos/repos2                来访问。)

4.现在你的版本库任何人都可以访问,并且有完全的写操作权限。也就是说任何人都可以匿名读取,修改,提交,以及删除版本库中的内容。显然大部分场合这是不符合需求的。那么如何进行权限设置呢,Apache提供了基本的权限设置:

首先需要创建一个用户文件。Apache 提供了一个工具 htpasswd,用于生成用户文件,可以在 Apache的安装目录下找到。具体使用方法如下:

添加通过Apache访问svn的合法用户。这里需注意要在Apache和svn同时配置用户。

Apache添加访问用户为:htpasswd -cm /var/www/svn/dyh/conf/passwd  test01(用户名),此处加了-c是为了创建一个加密文件。后面再添加用户时不要-c 即可。

 htpasswd -h 查看相关帮助。

同时在svn的conf目录下有一个authz配置文件。我们在此文件内添加用户test01。

重新启动 Apache, 打开浏览器访问版本库。Apache 会提示你输入用户名和密码来认证登陆了,现在只有 passwd和authz文件中同时设定的用户才可以访问版本库。也可以配置只有特定用户可以访问,替换上述 "Require valid-user" 为 "Require user  test02 test03" 将只有 test02 和 test03可以访问该版本库。

然后再将svn的安装目录属主改为Apache。 chown  -R apache.apache /var/www/svn

同时属主权限改为 chmod -R 777 /var/www/svn

5.然后可以通过浏览器直接访问



一篇关于subversion很不错的文章:http://www.ibm.com/developerworks/cn/java/j-lo-apache-subversion/

你可能感兴趣的:(centos下svn和Apache的结合使用)