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]