
正文
Centos 下搭建SVN + Apache 服务器(转载)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
安装软件包
?
1 | # yum install httpd |
?
1 | # yum install mod_dav_svn |
?
1 | # yum install subversion |
2. 验证安装
?
1 | # httpd -version |
结果显示:

前往 /etc/httpd/modules/ 下,检查是否包含mod_dav_svn.so和mod_authz_svn.so,如果有,mod_dav_svn安装成功。
?
1 | # svnserve --version |
结果显示:

安装svn 成功。
3. 创建仓库
?
1 2 3 | # mkdir /var/www/svn # cd /var/www/svn # svnadmin create repo1 |
4. 配置
/var/www/svn 目录下会有一个repo1的文件夹
修改所有者:
?
1 | # chown -R apache:apache repo1 |
copy /var/www/svn/repo1/conf 下的 authz到 /var/www/svn下,并创建passwd文件
?
1 2 3 4 | # cp /var/www/svn/repo1/conf/authz /var/www/svn/authz # cd /var/www/svn # vi passwd :wq保存退出 |
生成账号:
?
1 | # htpasswd /var/www/svn/passwd user1 |
输入密码,生成user1账号
权限管理设置:
?
1 | # vi /var/www/svn/authz |
在[groups]下添加组,
[/] 相当于/var/www/svn这个目录,赋予权限给用户组
[repo1:/] 是指repo1库
[repo1:/desgin]是repo1下的desgin目录
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [groups]admin=user1proj1_developer=user2,user3proj2_develoer=user2,user4proj1_desgin=user5,user6[/]@admin=rw[repo1:/]@proj1_developer=rw[repo1:/desgin]@proj1_desgin=rw[repo2:/]@proj2_developer=rw |
将svn关联到apache上:
?
1 | # vi /etc/httpd/conf.d/subversion.conf |
在底部加上:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <Location /repos> DAV svn SVNParentPath /var/www/svn# # Limit write permission to list of valid users.# <LimitExcept GET PROPFIND OPTIONS REPORT># # Require SSL connection for password protection.# # SSLRequireSSL# AuthType Basic AuthName "Authorization SVN" # AuthzSVNAccessFile /var/www/svn/authz AuthUserFile /var/www/svn/passwd Require valid-user# </LimitExcept></Location> |
重启httpd
?
1 | # service httpd restart |
5. 通过浏览器测试
在浏览器中输入http://ip或网站/repos/repo1
此时会弹出输入密码框,输入创建的用户名和密码就可以登录了







