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 

这样就做到权限控制。

相关推荐