操作系统:Centos 6.3 X 64
Apache版本:2.4.9
SVN版本:1.8.9
1.定义apache访问svn配置
在apache/conf/httpd.conf 中任意位置添加下面内容
<Location /svn>
DAV svn
SVNParentPath /home/svn (SVN服务器的根目录路径)
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/svn/passwd.conf(SVN服务器的本地访问控制文件路径)
AuthzSVNAccessFile /home/svn/authz.conf(SVN服务器的项目控制文件路径)
Require valid-user
</Location>
2.配置SVN服务器,主要内容包括创建SVN服务器的根目录路径以及生成上面所配置的用户管理文件和访问权限文件。
1)创建SVN服务器的根目录。
mkdir -p /home/svn/
2)创建本地访问控制文件,添加用户admin的用户名和密码。
/home/apache/bin/htpasswd -c /home/svn/passwd.conf admin (第一次创建本地访问控制文件时需要加
-c 参数,表示创建该文件,之后不再加该参数)
执行以上命令后需要用户键入amdin的密码,该密码默认采用MD5加密
3)创建本地项目控制文件,添加访问项目的用户组、用户以及访问权限,因为上面仅添加了admin用户,所以这里只添加amdin用户组的访问权限,内容如下:
vi /home/svn/authz.conf
[groups]
#<groupname1>=<username1>,<username2>
admin=admin (配置admin用户组包含用户admin)
#[<versionLib>:projectName/directory]
#@<groupsname>=<authorities>
#<username>=<authorities>
[/]
@admin = rw (指定admin用户组成员可以读写根目录所有应用)
3. 最后,测试SVN连接,其中首先创建一个代码库repos,然后通过浏览器访问该代码库。
1)创建一个新的代码库repos。
svnadmin create /home/svn/repos
2)启动Apache。
/home/apache/bin/apachectl start
3)在自己的客户端机器的浏览器中访问代码库。
http://*********/svn/repos
如果浏览器中出现 repos - Revision 0: / 说明配置成功了
我配的时候比较点背,出了几个错....
1.svn: Access to 'http://*************/svn/repos/Game2048' forbidden
这个很明显,权限没配好.....如果是用apache访问svn,那新建代码库的时候生成的那一堆配置基本就没啥用了
完全在自己建的 passwd.conf 和 authz.conf 里配置
2.svn: Could not open the requested SVN filesystem
apache找不到svn根目录,就是在apache的httpd.conf中配置的那个 SVNParentPath 出了问题,这个路径写代码库上一级目录
3.svn: Can't open file '/home/svn/repos/db/txn-current-lock': Permission denied
这个是因为我 svnadmin create 的时候是root身份...所以mod_dav_svn就没有write权限
chown -R daemon /home/svn/repos/
chmod -R 755 /home/svn/repos/
这样就解决了,ok,终于完事了.....
来源:CSDN
作者:HY-centos
链接:https://blog.csdn.net/bronze_boy/article/details/29164661