Fedora 9、CentOS 5下设置Apache+SVN

xiaoxiao2026-05-17  19

[color=red]首先确认SVN和APACHE的版本,1.4.3版本以下的SVN不支持2.2.X的APACHE。查看版本可以用yum info Subversion或者rpm -qa |grep Subversion。[/color] 以下为配置过程: 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的端口。

转载请注明原文地址: https://www.6miu.com/read-5048913.html

最新回复(0)