CentOS安装SVN服务器并配置HTTPS连接
在CentOS6.3 64位机器上配置SVN服务器,并设置只允许HTTPS连接,可以配置多个repos源,每个源都拥有自己的组和成员,用于权限控制。
安装相关软件
Apache
yum install httpd httpd-devel
Subversion
yum install mod_dav_svn subversion
SSL
yum install mod_ssl openssl
创建版本库
#mkdir /var/svn
#cd /var/svn
#svnadmin create myapp
#chown -R apache.apache myapp
#chcon -R -t httpd_sys_content_t myapp //selinux相关
相似的,我添加了另一个版本库myapp2
修改配置文件/etc/httpd/conf.d/subversion.conf,添加如下内容
<Location /repos>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/svn/passwd //用户文件
AuthzSVNAccessFile /var/svn/authz //用户权限控制文件
Require valid-user
</Location>
此处需要注意添加/var/svn/passwd文件的相关权限,否则可能出想权限错误。相关日志文件为/var/log/httpd/error_log 遇到问题要查看错误日志。
用户文件passwd的内容只能通过htpasswd命令添加
如添加用户leon
#htpasswd -c /var/svn/passwd leon //-c 表示新建一个文件,以后就不需要加了
相似的我添加了其他用户hailong,gao,wang
用户权限控制文件authz
[groups]
myapp = leon,hailong //myapp项目有两个成员leon和hailong
myapp2 = wang, gao
[myapp:/]
@myapp = rw //myapp组拥有myapp项目的读写权限,其他人无权限
[myapp2:/]
@myapp2 = rw
这样就做到权限控制。
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf