基础环境
- SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,
它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。 - 系统版本
cat /etc/debian_version
7.4
- 三种访问模式
- tcp/ip协议 svn://
- webdav协议 http://
- 本地或网络磁盘 file://
这次搭建是通过webdav协议 http方式访问
搭建过程
- 安装svn和工具包
apt-get -y install subversion
apt-get -y install subversion-tools
- 安装apache2和模块
apt-get -y install apache2-mpm-prefork
apt-get -y install libapache2-svn
- 创建目录 初始化项目目录 更改权限(1.2之后版本都默认选用fsfs)
mkdir /opt/svn/ -p
svnadmin create /opt/svn/ops
chown www-data.www-data /opt/svn/ -R
- apache配置
cd /etc/apache2/mods-available
cat dav_svn.conf
<Location /svn>
DAV svn
SVNParentPath /opt/svn/
AuthType Basic
AuthName "svn repository"
AuthUserFile /etc/apache2/svn.passwd
AuthzSVNAccessFile /etc/apache2/svn.authz
Require valid-user
</Location>
#添加在最后
- 修改/etc/apache2/svn.authz
cat /etc/apache2/svn.authz
[groups]
admin=deancheng,jackniu,dylangu,jimmygong
[/]
@admin=rw
- 使用htpasswd命令创建用户
htpasswd -c /etc/apache2/svn.passwd barney
PS:再添加用户的话就不需要-c参数了
htpasswd /etc/apache2/svn.passwd 123
- 查看模块
cat /etc/apache2/mods-available/dav_svn.load
# Depends: dav
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
如果有上述2个模块 那说明搭建基本成功了。
- 重启apache
/etc/init.d/apache2 restart
访问方式
- linux客户端(从svn上将文件checkout到本地)
svn co http://10.1.99.60/svn/ --username barney --password 123
windows客户端
下载客户端TortoiseSVN网页方式访问
http://10.1.99.60/svn/