浏览 7783 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-05
一、Subversion 的两种使用方式: 1、Apache 站点方式; 2、本地命令行方式。 当然,我们也可以通过客户端来进行访问,但那也必须先建立上述 两种访问接口。 二、Apache 方式的配置 第一种方式我们需要安装 Apache 服务器程序,同时需要安装两个模 块: mod_dav_svn 以及 mod_authz_svn 他们可以在 Subversion 的站点上找到,请在附录中查找链接。 将所有需要的模块安装之后,我们必须编辑 Apache 的配置文档,让 其将我们要用的模块装载。一般来说,Apache 的配置文件是 httpd.conf 。位置一般在 Apache 安装目录下的 conf 子目录中。而模块我们一般放 在 modules 子目录中。我们在配置文件 httpd.conf 中加入: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so 这样,Apache 就可以访问 Subversion 的仓库了。 三、Apache 方式中项目的发布 首先还是要先建立 Subversion 的项目,例如: svnadmin create /home/svn/projectA 之后,在 httpd.conf 文件中加入: <Location /projectA> DAV svn SVNPath /home/svn/projectA </Location> 如果是想建立多个项目的话,可以使用另一种写法: <Location /svn> DAV svn SVNParentPath /home/svn </Location> 这样,凡是在 /home/svn 目录下的子目录, Apache 都交给 Subversion DAV 去处理。用户即可以通过浏览器或者URL访问 Subversion 管理的项 目了。 四、Apache 方式下的权限管理 首先,我们来创建一个用户 robert。 由于是第一次创建用户,我们必须同时创建一个用户口令文件: htpasswd -c authfile robert 这时,会提示输入用户密码以及确认用户密码。htpasswd 程序会将 用户密码进行散列运算后保存在 authfile 中。创建第二个用户时,我们 就不必输入 -c 开关了。 htpasswd authfile harry 如果想要删除某个用户,我们可以使用下列指令: htpasswd -D authfile harry 这样,harry 就被从 authfile 中删除了。 这时,Subversion 的权限管理问题就转化为了 Apache 的权限管理问 题了。我们将前述的目录配置做一下修改: <Location /projectA> DAV svn SVNPath /home/svn/projectA AuthType Basic AuthName "Subversion projectA" AuthUserFile /home/svn/projectA/authfile Require valid-user </Location> 这样,对 projectA 访问就必须提供 authfile 中记录的用户和正确密码 才可以进行了。 五、Apache 方式下的分组管理 有时,我们希望能够将多个开发人员编为一组,使用组的方式来为 项目设定权限。比如 projectA 项目只有属于 groupA 的成员才可以存取 。下面我们来介绍其配置方法。 这里,我们就要用到 mod_authz_svn 提供的功能了。我们对 httpd.conf 中的目录配置再做一次修改: <Location /projectA> DAV svn SVNParentPath /home/svn/ AuthzSVNAccessFile /home/svn/authz.conf AuthType Basic AuthName "Subversion projectA" AuthUserFile /home/svn/projectA/authfile Require valid-user </Location> 大家可以注意到,这里使用了另一个配置文件:authz.conf 他的大致结构如下: [groups] everyone = robert, tommy, songjy, zhengyong, orcus, zhangq groupA = robert, zhangq groupB = orcus, tommy [projectA:/] @groupA = rw @everyone = r [projectB:/] @everyone = r @groupB = rw Ok, 我想大家应该已经明白了基于组和项目的管理方法了。:) 附录: 1、获取最新安装包: http://summersoft.fay.ar.us/pub/subversion/latest/whitebox-el-3/bin/ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |