操作系统:CentOS Linux release 7.5.1804 (Core)
Yum源: 清华大学源 https://mirror.tuna.tsinghua.edu.cn/centos/
AD域:Windows 2016
条件:
关闭防火墙
systemctl stop firewalld
关闭selinux,编辑/etc/selinux/config(必须)
SELINUX=disabled
一、安装apache与svn服务端
yum install httpd* mod_* subversion*
查看apache与subversion的版本,此处要求apache版本大于2.4,subversion版本大于等于1.7
httpd -v Server version: Apache/2.4.6 (CentOS) Server built: Mar 24 2022 14:57:57 svnadmin --version svnadmin, version 1.7.14 (r1542130) compiled Sep 30 2020, 17:44:04
二、配置apache+subversion
进入到apache模块配置文件目录
cd /etc/httpd/conf.modules.d/
编辑文件 10-subversion.conf 添加后2行内容
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so LoadModule dontdothat_module modules/mod_dontdothat.so LoadModule ldap_module modules/mod_ldap.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
进入到apache的附加配置文件目录
cd /etc/httpd/conf.d
删除 mod_security.conf文件 (必须)
新建 subversion.conf 文件,内容如下
<Location /svn/> DAV svn SVNListParentPath on SVNParentPath /svn AuthType Basic AuthName "SVN Authorization Realm" AuthzSVNReposRelativeAccessFile authz AuthBasicProvider ldap AuthLDAPBindDN "cn=username,ou=user,dc=domain,dc=com" AuthLDAPBindPassword "password" AuthLDAPURL "ldap://192.168.1.1:389/dc=domain,dc=com?sAMAccountName?sub?(objectClass=*)" Require valid-user </Location>
以上描述的意思是:svn的库文件目录是 /svn ,所以你需要新建一个/svn目录
Location:
<Location /svn/>
描述的是http的路径,此处无需修改
SVNParentPath:
SVNParentPath /svn
路径为svn库文件路径,你可以按照本文直接新建/svn目录,也可以修改为其他目录
AuthzSVNReposRelativeAccessFile:
AuthzSVNReposRelativeAccessFile authz
此设置为subversion1.7以上版本才支持的参数,是指权限文件使用svn库权限文件,而不是集中一个认证文件
AuthBasicProvider:
AuthBasicProvider ldap
此设置为认证方式,此处为ldap,ldap包涵openlap和windows domain
AuthLDAPBindDN:
AuthLDAPBindDN "cn=username,ou=user,dc=domain,dc=com"
此设置为认证的用户设置,cn为用户名,ou是组织单位,dc是域
AuthLDAPBindPassword:
AuthLDAPBindPassword "password"
上一个设置的用户的密码
AuthLDAPURL:
AuthLDAPURL "ldap://192.168.1.1:389/dc=domain,dc=com?sAMAccountName?sub?(objectClass=*)"
此设置为域控服务器的地址和域名等信息
最后,启动apache并设置自启动
systemctl start httpd systemctl enable httpd
三、创建svn库及svn库权限
创建svn库
进入到svn库目录,本文为/svn目录
创建一个test库,一个test1库
svnadmin create test svnadmin create test1
将库权限修改为apahce
chown -R apache:apache test chown -R apache:apache test1
设置svn库权限
进入到test库的配置目录
cd /svn/test/conf
编辑authz文件
[/] zhangsan=rw
同理编辑test1库的权限
[/] zhangsan=r
四、验证权限
使用TortoiseSVN客户端浏览器访问http://svn服务器IP/svn/test与http://svn服务器IP/svn/test1
测试test库zhangsan用户有读写权限
测试test1库张三用户有只读权限
五、配置完成!
网友留言: