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 服务器就搭建成功了
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf