45yt 发表于 2014-12-2 09:53:14

CentOS6.4 apache+svn

1、实验拓扑
svn server(subversion):192.168.1.126
svn client(TortoiseSVN):下载地址(http://tortoisesvn.net/downloads.html)

2、准备yum源

1
2
#cd /etc/yum.repos.d/
#wget http://mirrors.163.com/.help/CentOS6-Base-163.repo




3、安装软件包

1
#yum install httpd httpd-devel mod_dav_svn subversion mod_ssl




4、查看测试是否安装svn模块

1
2
3
4
5
# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so

# svn --version





5、创建目录,初始化

1
2
3
4
# mkdir -p /data/svn/repo
# cd /data/svn/repo
# svnadmin create peace////执行命令后,自动在peace目录下建立多个文件,分别是conf、db、format、hooks、locks、README.txt。
# chown -R apache.apache peace




6、配置subversion.conf
加载mod_dav_svn模块,一般apache2己正常加载这两个模块apache需要加载mod_dav_svn模块。如果apache是按照与预设目录安装的,mod_dav_svn模块应该会安装在apache安装位置(默认路径是/etc/httpd/)的 modules子目录内。同时apache的配置文件httpd.conf(默认路径为etc/httpd/conf/)中已经使用LoadModule指令加载了该模块(如果没有,手动添加)注意这个指令必须出现在其它的Subversion相关指令之前。还要加载mod_authz_svn.so模块。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
LoadModule dav_svn_module   modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

……

   DAV svn
   #SVNParentPath /data/svn/repo//后面会解释为什么不用这个
   SVNPath /data/svn/repo/peace
   SVNListParentPath on

      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /data/svn/passwdfile
      AuthzSVNAccessFile /data/svn/accessfile
      Require valid-user





7、添加用户密码

1
2
# htpasswd -c /data/svn/passwdfile peace//创建用户密码,第一用-c,只有添加如下
# htpasswd/data/svn/passwdfile test




8、重起Apache

1
#service httpd restart




9、下面创建权限访问控制文件,可自行查看具体权限:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# vi /data/svn/accessfile
[/]
*=rw


dev=peace
test=test


@test=r
@dev=r


@test=rw
*=




10、启动svn

1
#svnserver -d




11、客户端登陆查看


报错解决:
You don't have permission to access /repos on this server(SVN)

解决方法:
subversion.conf内容SVNParentPath改为SVNPath

内容SVNParentPath没改为SVNPath
所以会把档案库当做根目录一直出现上述错误

页: [1]
查看完整版本: CentOS6.4 apache+svn