LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 866|回复: 4

[网络资料以备后查]fedora13安装svn+apache(重新修订)

[复制链接]
发表于 2010-5-28 22:58:49 | 显示全部楼层 |阅读模式
网上资料,以备后查。
网上还有许多资料是改仓库中的配置文件,不过下面方法直接改httpd中SVN插件的配置文件显得简单,毕竟与httpd结合的SVN使用更方便。

1、安装svn和httpd
#yum install Subversion
#yum install httpd
2、建立主目录和项目仓库
#mkdir  /opt/svn/repos
#chown -R apache:apache  /opt/svn/repos
        **建立仓库主目录,并将权限给apache用户 **   
#svnadmin create  /opt/svn/repos/doc      
#svnadmin create  /opt/svn/repos/netbeans
**建立项目仓库**doc放工作文档文件,netbeans放java源码
3、配置 /etc/httpd/conf.d/subversion.conf文件
确认文件中有以下二条
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
并将其它内容改为如下
<Location /repos>           [color="Red"]说明"/repos"表明在主目录在网页中地址为 http://localhost/repos
   DAV svn
   SVNParentPath /opt/svn/repos/          [color="Red"] 主机中主目录为 /opt/svn/repos/
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /etc/svn-auth-file
      Require valid-user
       AuthzSVNAccessFile /etc/svn-access-file
#   </LimitExcept>
</Location>

4、建立帐户文件和权限文件
htpasswd -cm /etc/svn-auth-file work
建立帐户文件,帐户为"work",然后,会提示输入密码,这里就加入了一个用户了,并且在/etc下创建了svn-auth- file文件。
htpasswd -m /etc/svn-auth-file Username2
htpasswd -m /etc/svn-auth-file Username3
然后再加别的用户可以用以下命令(也可作为修改密码来使用,实在不想要这几个用户了,删掉重建就是,不过要对应修改svn- access-file):

建立svn-access-file文件,它是用来控制用户访问仓库的权限的
#vi /etc/svn-access-file
[doc:/]                      //这表示,仓库doc的根目录下的访问权限
work=rw                 // doc仓库work用户具有读和写权限,r可读 ,W可写
Username2=r      // doc仓库Username2用户具有读和写权限
Username3=r      // doc仓库Username3用户具有读和写权限
[netbeans:/]
work=rw
Username2=r
Username3=r
#[/]                          // 这个表示在所有仓库的根目录下
#* = r                     // 这个表示对所有的用户都具有读权限
#[groups]               // 这个表示群组设置
#doc-developers = harry, sally           // 这个表示某群组里的成员
#netbeans-developers = sally
#[svn1:/]            
#@doc-developers = rw       // 如果在前面加上@符号,则表示这是个群组权限设置

5、重启Apache,就可以通过
http://localhost/repos/doc
http://localhost/repos/netbeans
这两个URL来访问二个项目仓库了,当然,要受权限的限制,必须是合法用户才能访问且具有相应的权限


另注:
1、修改SELINUX权限,当然你关了selinux或降为警告级别时可不考虑此问题
# chcon -R -h -u system_u -t httpd_sys_content_t /opt/svn/repos/
如果不进行这样的修改,客户端访问时就会报错“Could not open the requested SVN filesystem.”。
2、Linux下清除.svn目录
进入项目目录后,运行 find . -name ".svn" | xargs rm -rf


[color="Red"]以上方法经实际验证,能正常使用。
发表于 2010-5-29 09:40:41 | 显示全部楼层
太曲折了,唉……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-29 15:20:22 | 显示全部楼层
Post by ebird98;2093080
太曲折了,唉……

你是如何安装的??有更好的方法吗?
回复 支持 反对

使用道具 举报

发表于 2010-5-29 18:47:18 | 显示全部楼层
Post by zhuoli76;2093149
你是如何安装的??有更好的方法吗?


我没配置过这个,我的意思是,配置这个太曲折了,并非是说你的方法太曲折了,呵呵~@_@
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-29 22:28:55 | 显示全部楼层
Post by ebird98;2093169
我没配置过这个,我的意思是,配置这个太曲折了,并非是说你的方法太曲折了,呵呵~@_@
还真有更简单的方法。原有方法虽然能用,但太麻烦,而且有很多错误之处。故进行了修正
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表