apache+svn:
一。安装svn
1.yum -y install apr apr-util httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
2.输入rpm -ql subversion查看安装位置
3.创建svn版本库目录:mkdir -p /var/svn/svnrepos
4.创建版本库:svnadmin create /var/svn/svnrepos
5、添加访问svn的账号和密码:因为Apache基于HTTP传输的密码是加密的,所以需要用htpasswd命令来建立用户文件,并对密码进行加密:
# htpasswd -c /usr/local/svn/firstapp/conf/passwd testusername
要增加用户,使用下面命令:htpasswd /home/svn/firewall/conf/passwd ojx
6、修改svn目录访问的权限:
vi /var/svn/svnrepos/conf/authz
[groups]
# harry_and_sally = harry,sally
administrator = zbt
[/]
@administrator = rw
* =
7、配置apache的httpd.conf
打开apache的conf/httpd.conf
添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNPath /var/svn/svnrepos
AuthzSVNAccessFile /var/svn/svnrepos/conf/authz
AuthType Basic
AuthName "Welcome to SVN"
AuthUserFile /var/svn/svnrepos/conf/passwd
Require valid-user
</Location>
chown -R apache:apache /var/svn/svnrepos/
chmod -R 755 /var/svn/svnrepos/conf
8、要关闭selinux的保护设置为禁用:
vi /etc/selinux/config
修改SELINUX=disabled
保存
不重启Linux服务器关闭SeLinux的方法
# setenforce 0
9、关闭防火墙:
/etc/init.d/iptables stop
10、测试:
http://服务器IP/svn
输入用户名和密码可以登录表示成功!
二、在apache+svn上添加多个项目:
1、 创建版本库:svnadmin create /home/svn/svnrepos
2.vi /home/svn/svnrepos/conf/authz
[groups]
# harry_and_sally = harry,sally
administrator = ztt
[/]
@administrator = rw
* =
3.先创建首个用户htpasswd -c /home/svn/firewall/conf/passwd ztt
再添加其他用户 htpasswd -c /home/svn/firewall/conf/passwd ab
4.配置apache的httpd.conf
打开apache的conf/httpd.conf
<Location /svn_rep>
DAV svn
SVNPath /home/svn/svnrepos
AuthzSVNAccessFile /home/svn/svnrepos/conf/authz
AuthType Basic
AuthName "Welcome to SVN"
AuthUserFile /home/svn/svnrepos/conf/passwd
Require valid-user
</Location>
chown -R apache:apache /home/svn/svnrepos/
chmod -R 755 /home/svn/svnrepos/conf
5. 重启apache
6.右键 tortoiserSVN->repoBrowser 地址 :http://10.17.87.25/svn_rep
三、对用户进行目录权限控制
.测试用户和组说明
一。安装svn
1.yum -y install apr apr-util httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
2.输入rpm -ql subversion查看安装位置
3.创建svn版本库目录:mkdir -p /var/svn/svnrepos
4.创建版本库:svnadmin create /var/svn/svnrepos
5、添加访问svn的账号和密码:因为Apache基于HTTP传输的密码是加密的,所以需要用htpasswd命令来建立用户文件,并对密码进行加密:
# htpasswd -c /usr/local/svn/firstapp/conf/passwd testusername
要增加用户,使用下面命令:htpasswd /home/svn/firewall/conf/passwd ojx
6、修改svn目录访问的权限:
vi /var/svn/svnrepos/conf/authz
[groups]
# harry_and_sally = harry,sally
administrator = zbt
[/]
@administrator = rw
* =
7、配置apache的httpd.conf
打开apache的conf/httpd.conf
添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNPath /var/svn/svnrepos
AuthzSVNAccessFile /var/svn/svnrepos/conf/authz
AuthType Basic
AuthName "Welcome to SVN"
AuthUserFile /var/svn/svnrepos/conf/passwd
Require valid-user
</Location>
chown -R apache:apache /var/svn/svnrepos/
chmod -R 755 /var/svn/svnrepos/conf
8、要关闭selinux的保护设置为禁用:
vi /etc/selinux/config
修改SELINUX=disabled
保存
不重启Linux服务器关闭SeLinux的方法
# setenforce 0
9、关闭防火墙:
/etc/init.d/iptables stop
10、测试:
http://服务器IP/svn
输入用户名和密码可以登录表示成功!
二、在apache+svn上添加多个项目:
1、 创建版本库:svnadmin create /home/svn/svnrepos
2.vi /home/svn/svnrepos/conf/authz
[groups]
# harry_and_sally = harry,sally
administrator = ztt
[/]
@administrator = rw
* =
3.先创建首个用户htpasswd -c /home/svn/firewall/conf/passwd ztt
再添加其他用户 htpasswd -c /home/svn/firewall/conf/passwd ab
4.配置apache的httpd.conf
打开apache的conf/httpd.conf
<Location /svn_rep>
DAV svn
SVNPath /home/svn/svnrepos
AuthzSVNAccessFile /home/svn/svnrepos/conf/authz
AuthType Basic
AuthName "Welcome to SVN"
AuthUserFile /home/svn/svnrepos/conf/passwd
Require valid-user
</Location>
chown -R apache:apache /home/svn/svnrepos/
chmod -R 755 /home/svn/svnrepos/conf
5. 重启apache
6.右键 tortoiserSVN->repoBrowser 地址 :http://10.17.87.25/svn_rep
三、对用户进行目录权限控制
.测试用户和组说明
再来看一下SVN权限配置中测试用户和组说明问题。版本库禁止任何匿名用户的访问,只对认证用户有效。
p1_a1:project1的管理员,对project1有完全权限。
p1_d1:project1的开发者,对project1的trunk有完全的权限,但是对其中的/trunk/admin目录没有任何权限。
p1_t1:project1的测试者,对project1的trunk有完全的读权限,但是对其中的/trunk/admin目录没有任何权限。
对应的组及组的用户:
p1_group_a:p1_a1
p1_group_d:p1_d1
p1_group_t:p1_t1
2.配置授权,修改authz
[groups]
#定义组信息
p1_group_a=p1_a1
p1_group_d=p1_d1
p1_group_t=p1_t1
[/]
#指定所有的版本库默认只读,root可读写
*=r
[project1:/]
#指定对版本库project1根目录的权限
@p1_group_a=rw
@p1_group_d=rw
@p1_group_t=r
[project1:/trunk/admin]
#指定对版本库project1的/trunk/admin根目录的权限,
#p1_group_a读写,p1_group_d和p1_group_t没有任何权限。
@p1_group_a=rw
@p1_group_d=
@p1_group_t=
部分转载自:http://www.cnblogs.com/huapox/archive/2013/03/01/3516049.html