SVN是一个自由/开源的版本控制系统。SVN将文件存放在中心版本库里,我们这里称之为仓库,仓库中的log_file记录每一次文件和目录的修改情况。并可以查看数据的更改细节。
SVN可以借助于window 2003, 2008 等在IIS下进行搭建,也可以在linux下与apache实现无缝整合,这里我们介绍SVN在CentOS 5.5下的搭建方法,为了本文档的简单快捷,这里只介绍搭建的方法步骤,具体的原理和含义大家可以查看SVN官方文档,进行基础知识的补充。
安装apache,这里我们采用的版本是 httpd-2.2.19 , 下载地址为: http://mirror.bjtu.edu.cn/apache/httpd/#mirrors , 里面可以根据相关提示选择最近的站点进行下载
解压下载下来的 apache 包,cd进入, 对apache进行编译 :
./configure --prefix=/usr/local/apache2 --enable-dav --enable-so --enable-modules=most
下载apache的功能支持库文件,apr,apache可运行支持库,其主要作用是为了给apache提供跨操作系统平台的底层支持,和apr-util,下载网址参见:http://apr.apache.org/download.cgi , 版本大家可以随意选择,安装方法就不多做介绍了,cd进入,configure , make , make install 即可,注意在apr-util进行编译时,需要指定你之前刚刚安装好的apr的安装路径,比方说我的apr安装到了/usr/local/apr下,我在编译时则指定:./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
安装sqlite,这是一个轻量级的数据库,用于SVN的数据库版本支持,下载地址为 http://www.sqlite.org/download.html
./configure --prefix=/usr/local/sqlite && make && make install , 完成安装。
接下来是最为关键的一步了,安装SVN,服务端程序下载地址为:http://subversion.apache.org/download/ , 从1.7开始,SVN程序端不再依赖subversion-deps-*的支持了,因此直接下载版本即可,下载完成后,
./configure --prefix=/opt/soft/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-zlib=/usr/local/zlib/ --with-neon=/usr/local/neon/ --with-ssl --enable-maintainer-mode && make && make install 完成安装。
至此,如果一切顺利的话,SVN就安装完成了。
这个时候还不能使用,因为SVN还没与apache整合,在apache httpd.conf中添加如下内容,
<Location /svn>
DAV svn
SVNParentPath /opt/soft/svn
AuthType Basic
AuthName "RenCai SVN"
AuthzSVNAccessFile /opt/soft/svn/authz
AuthUserFile /opt/soft/svn/authfile
Require valid-user
</Location> 其中 authz 是你关于仓库访问权限定义的配置文件,可以自己新建,authfile是用户管理文件,里面记录各用户的用户名及加密后的密码,这个可以自动生成,不用新建。
/usr/local/apache2/bin/htpasswd -c -m /opt/data/svn/authfile username 生成authfile文件,/usr/local/apache2/bin/htpasswd /opt/data/svn/authfile newuser 新建用户 ; svnadmin create /opt/data/svn/drug 新建一个 drug 仓库
然后编辑 authz 文件,增添 [/drug]
user = rw 针对drug目录定义各相关人员的访问权限
至此,SVN介绍完毕,下一篇我们介绍访问权限的具体设置。