Ubuntu服务器构建-结合Apache搭建SVN服务器

安装subversion以及对应的apache模块,此处假设我们已经安装好了服务器,参加服务器安装篇
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn

创建版本库,并增加组subversion,并且把用户加到组里,因为Ubuntu下面默认的apache组用户叫www-data
$ sudo addgroup subversion
$ sudo usermod -G subversion -a www-data

创建svn版本库
$ sudo mkdir /home/svn
$ cd /home/svn

创建 SVN 文件仓库
$ sudo svnadmin create /home/svn/myproject
赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
$ sudo chmod -R g+rws myproject
$ sudo chown -R root:subversion myproject

访问方式
file:///    直接访问本地硬盘上文件仓库
http://    通过 WebDAV 协议访问支持 Subversion 的 Apache 2 Web 服务器
https://    类似 http://,支持 SSL 加密
svn://    通过自带协议访问 svnserve 服务器
svn+ssh://    类似 svn://,支持通过 SSH 通道

 


在服务器上测试的时候可以这么操作

$ svn co file:///home/svn/myproject

或者

$ svn co file://localhost/home/svn/myproject


如果通过,我们可以来远程操作,实现协同开发您必须加入下面的代码片段到您的 /etc/apache2/mods-available/dav_svn.conf中, 在http.conf中也可以

<Location /svn/myproject>

DAV svn

SVNPath /home/svn/myproject

AuthType Basic

AuthName "test"

AuthUserFile /etc/subversion/passwd

<LimitExcept GET PROPFIND OPTIONS REPORT>

Require valid-user

</LimitExcept>

</Location>

接下来,您需要创建 /etc/subversion/passwd 文件,该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令:

sudo htpasswd -c /etc/subversion/passwd user_name

然后可以通过下列命令来访问$ svn co http://hostname/svn/myproject myproject --username user_name这样就大功告成了。在windows端可以安装subversion的客户端来测试,导入项目后,用svn log来查看,是否能看到user_name做了什么事情。至此,一个可以供协同开发的svn 服务器就搭建成功了

相关推荐