概述
SVN服务器有两种形式,一种是通过Apache方式来实现,这样子我们就可以通过浏览器来访问;第二种是通过Subversion自带的服务器软件来启动服务
这篇博客主要介绍如何通过Apache来搭建SVN服务器
环境描述:
Ubuntu DeskTop 14.04
svn 1.8
apache2
1.安装apache2和svn
sudo apt-get install apache2
sudo apt-get install subversion
sudo apt-get install libapache2-svn
sudo apt-get install libapache2-utils
sudo apt-get install apache2-utils
完成安装后,就可以直接访问apache的主页了,点击下面链接测试下你的apache2吧
2.创建SVN版本库
mkdir ~/svnrepos
cd ~/svnrepos
svnadmin create trunk
酱紫就创建了trunk版本库了,以后我们的工程就可以随便放进去了,一般我们都会同时创建3个版本库trunk,tags,branches
一般新建一个SVN库默认有conf,db,等等文件或文件夹,其中conf下是SVN库的配置文件,db里面是SVN的数据库,非常重要
3.用户管理和权限控制
用户管理是通过conf文件下的passwd文件来的, 为了和以后的SVN服务器软件的用户和密码配置文件分开,
复制passwd文件,重命名为http_passwd.我们可以通过htpasswd命令来添加一个用户
然后http_passwd的文件内容改变了,其实就是用户名和密码以冒号隔开了.
文件权限管理是通过conf文件下的authz文件来的,修改该配置文件,在最后加上一下语句
代表着所有文件,所有用户都能读写
4.修改apache2配置文件
sudo vim /etc/apache2/apache2.conf
在配置文件最后加入最后几行,
<Location /svn>
DAV svn
SVNPath /home/galis/svnrepos/trunk
AuthzSVNAccessFile /home/galis/svnrepos/trunk/conf/authz
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /home/galis/svnrepos/trunk/conf/http_passwd
Require valid-user
</Location>
这里有几点需要注意:
1./svn 意思是你可以通过http://localhost/svn来访问该资源
2.SVNPath 代表这该资源的实际位置
3.AuthzSVNAccessFile 代表着访问权限的设置文件
4.AuthUserFile 代表着用户和密码的配置文件
5.重启apache2
要记住一点就是一旦修改apache2的配置文件或者passwd,authz文件都需要重启一下apache2.
6.Checkout工程
新建一个目录svncheckout,到该目录下checkout工程
7.常见问题
你可能一开始不那么顺利,如果发生问题的时候,首先应该看日志..