首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > CVS SVN >

ubuntu SVN 创造项目 以及给项目增加用户访问权限

2013-10-22 
ubuntu SVN 创建项目 以及给项目增加用户访问权限(一)的做法只是为了给把这个版本仓库目录授权给apache读

ubuntu SVN 创建项目 以及给项目增加用户访问权限
(一)的做法只是为了给    把这个版本仓库目录授权给apache读写(因为:svn不依赖apache. 配置apache,主要时为了在线浏览代码)
(一):roroot@AY130513164242798671Z:/etc/apache2/mods-enabled#cat dav_svn.conf
apache启动后,一切正常。访问:http://localhost/svn。登陆,权限验证正常,但是报出:403 Forbidden
You don't have permission to access /svn on this server.
用http://localhost/svn/repository访问 OK。
找了一下午的问题,为什么不能/svn的形式访问。把SVNParentPath的路径指向具体的repository(库),也无效。
继续搜索,原来,此处的SVNParentPath是支持多库类型,访问的时候只能
http://localhost/svn/repository的方式访问。
如果希望指向单一库,则需要配置根目录。如果本身就只有一个库的情况下,就大可不用SVNParentPath。
直接用SVNPath即可。
这时在地址栏中输入http://localhost/svn。ok。
(二):对svn 版本仓库目录 的理解  
通过命令 svnadmin create /home/svn/repos
              svnadmin create /home/svn/repository  
本来/home/svn/repository  这个目录下什么都没有,执行下面的命令之后再去看一下,多出一些文件和文件夹,我们需要操作的是conf这个文件夹,这个文件夹下有一个文件,叫做passwd,用来存放用户名和密码。  (这里使用的是多个版本仓库目录repos和repository)为了方便管理不单独在repos和repository各自的目录下的conf 配置用户  而是使用了 跟repos和repository同级中的authz.conf 和passwd.conf统一管理repos和repository的访问权限
ubuntu SVN 创造项目 以及给项目增加用户访问权限



然后把这个版本仓库目录授权给apache读写:
sudo chown -R www-data:www-data /目录地址
然后来到打开apache配置文件:
sudo gedit /etc/apache2/mods-available/dav_svn.conf
加入如下内容:
注意:a.这里使用了SVNParentPath 它可以管理多个版本仓库目录
<Location /svn>
    DAV svn
    SVNParentPath /home/svn
    AuthType Basic
    AuthName "uniteque subversion repository"
    AuthUserFile /home/svn/passwd.conf
    AuthzSVNAccessFile /home/svn/authz.conf
    Require valid-user
</Location>


b.如果希望指向单一库,则需要配置根目录。如果本身就只有一个库的情况下,就大可不用SVNParentPath。
<Location /project>
DAV svn
SVNPath /home/svn/project
AuthType Basic
AuthName “myproject subversion repository”
AuthUserFile /home/svn/project/conf/passwd
Require valid-user
</Location>

热点排行