非活动目录控制
1.安装软件
yum install httpd subversion mod_dav_svn -y
2. 创建svn库并修改权限
mkdir /home/svn <创建svn目录>
chown -R apache:apache /home/svn <变更文件所属权限,并应用到子文件夹>
svnadmin create /home/svn <新建svn库>
chmod -R g+rws /home/svn <修改文件读写属性,并应用到子文件夹>
3.修改svn配置文件,vim /etc/httpd/conf.modules.d/10-subversion.conf ,增加以下代码
<Location /svn>
DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "SVN repository"
AuthUserFile /etc/subversion/passwd
AuthzSVNAccessFile /home/svn/conf/authz
Require valid-user
</Location>
4.重启apache服务
service httpd restart
5.添加用户:vim /home/svn/conf/authz
[groups]
admin = tab
[/]
@admin = rw
* =
htpasswd -c /etc/subversion/passwd tab (创建passwd文件时需要打-c参数,tab为此svn第一个用户)
6.再次修改svn库权限
chown -R apache:apache /home/svn
7.防火墙上开放端口
firewall-cmd --add-port=80/tcp
firewall-cmd --add-port=80/tcp --permanent
8.selinux 关闭
getenforce 检查是否开启
setenforce 0 临时关闭selinux
sed -i 's@SELINUX=enforcing@SELINUX=disabled@' /etc/selinux/config 永久关闭
活动目录控制
1.安装软件
yum install httpd subversion mod_dav_svn mod_ldap -y
2.创建SVN目录
mkdir -p /home/svn/test
svnadmin create /home/svn/test
chmod -R g+rws /home/svn/test
chown -R apache:apache /home/svn/test
3.编辑apache配置文件:/etc/httpd/conf.modules.d/10-subversion.conf,区分读写
<Location /svn/test>
DAV svn
SVNPath /home/svn/test
AuthType Basic
AuthBasicProvider ldap
AuthName "test subversion repository"
AuthLDAPURL "ldap://192.168.1.251:3268/dc=southbaytech,dc=co?sAMAccountName?sub?(objectCategory=person)"
AuthLDAPBindDN svn@southbaytech.co
AuthLDAPBindPassword svnpassword
AuthzSVNAccessFile /home/svn/test/conf/authz
Require valid-user
</Location>
4.编辑用户权限/home/svn/test/conf/authz
[groups]
admin = asd
team = aaa
[/]
@admin = rw #(admin组用户有读写权限)
@team = r #(team组用户有读权限)
* = #(其他用户没权限)
5.当SVN访问账户都为读写时,编辑/etc/httpd/conf.modules.d/10-subversion.conf
<Location /svn/test>
DAV svn
SVNPath /home/svn/test
AuthType Basic
AuthBasicProvider ldap
AuthName "test subversion repository"
AuthLDAPURL "ldap://192.168.1.251:3268/dc=southbaytech,dc=co?sAMAccountName?sub?(objectCategory=person)"
AuthLDAPBindDN svn@southbaytech.co
AuthLDAPBindPassword svnpassword
Require ldap-user aaa asd
</Location>
其中 svn@southbaytech.co 为在活动目录下新创建的帐号 svn ,svnpassword 为其密码,此用来验证;aaa 和 asd 为访问SVN帐号。
6.重启Apache服务
service httpd restart
7.创建svn用户
在域主控制器1.251上 Users下创建一个普通账户svn,密码svnpassword,设置为密码永不过期
8.关闭selinux,编辑/etc/selinux/config
SELINUX=disabled