`
liuxiang1982
  • 浏览: 19658 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Fedora 9、CentOS 5下设置Apache+SVN

阅读更多
首先确认SVN和APACHE的版本,1.4.3版本以下的SVN不支持2.2.X的APACHE。查看版本可以用yum info Subversion或者rpm -qa |grep Subversion。

以下为配置过程:

Subversion的建立与使用仓库使用
#mkdir /var/repos
在这里假设设置/var/repos目录下的svn1和svn2两个目录为仓库。
svnadmin create /var/repos/svn1
svnadmin create /var/repos/svn2
用root用户,在运行完这两个程序之后要将这两个目录的所有者权限更改为启动APACHE的用户,这样才能正常CheckIn,可以使用命令chown –R apache:apache /var/repos
修改Apache的配置文件httpd.conf:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule dav_module modules/mod_dav.so
LoadModule authz_svn_module modules/mod_authz_svn.so
默认没有mod_dav_svn.so的,使用yum install mod_dav_svn.i386
如果/etc/httpd/conf.d/subversion.conf存在,在这个文件中更改也是一样。LoadModule和下面的Location都可以在此文件中添加。
然后配置仓库:
<Location /svn>
  DAV svn
  SVNParentPath /var/repos
</Location>
然后,配置验证方式:
这里使用Apache的验证方式:
htpasswd -cm /etc/svn-auth-file Username1
然后,会提示输入密码,这里就加入了一个用户了,并且在/etc下创建了svn-auth-file文件。
然后再加别的用户可以用以下命令(也可作为修改密码来使用,实在不想要这几个用户了,删掉重建就是,不过要对应修改svn-access-file):
htpasswd -m /etc/svn-auth-file Username2
htpasswd -m /etc/svn-auth-file Username3
然后修改配置:
<Location /svn>
    DAV svn
    SVNParentPath /var/repos
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /etc/svn-auth-file
    Require valid-user
    AuthzSVNAccessFile /etc/svn-access-file
</Location>
下面,就要写这个svn-access-file文件了,它是用来控制用户访问仓库的权限的,我们把说明写在后面
[svn1:/]               //这表示,仓库svn1的根目录下的访问权限
dl1 = rw             // svn1仓库dl1用户具有读和写权限
dl2 = rw               // svn1仓库dl2用户具有读和写权限
dl3 = r              // svn1仓库dl3用户具有读权限
[svn2:/]               //svn2仓库根目录下的访问权限
harry = r               // harry用户在svn2仓库根目录下只有读权限
sally =               // sally用户在 svn2仓库根目录下无任何权限
#[/]               // 这个表示在所有仓库的根目录下
#* = r               // 这个表示对所有的用户都具有读权限
#[groups]               // 这个表示群组设置
#svn1-developers = harry, sally           // 这个表示某群组里的成员
#svn2-developers = sally
#[svn1:/]           
#@svn1-developers = rw       // 如果在前面加上@符号,则表示这是个群组权限设置
将这个设置完成后。重启Apache,就可以通过
http://localhost/svn/svn1
http://localhost/svn/svn2
这两个URL来访问仓库了,当然,要受权限的限制,必须是合法用户才能访问且具有相应的权限
客户端的使用,可以通过许多客户端GUI软件来用。比如TortoiseSVN就很好用。
官方网址:http://tortoisesvn.tigris.org/


另注:
修改SELINUX权限
# chcon -R -h -u system_u -t httpd_sys_content_t /var/svn
注意:在SELINUX中,安全性得到了加强。如果不进行这样的修改,客户端访问时就会报错“Could not open the requested SVN filesystem.”。

可以关闭SELinux并打开防火墙关于Apache的端口。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics